Le 18/03/2013 15:02, Colomban Wendling a écrit :
Hi dear plugins developers,
Now Geany and Geany-Plugins 1.23 are out, I merged support for GTK3 in Geany, and added initial support for building Geany-Plugins against a GTK3 build of Geany.
As you might know, GTK3 has some incompatibilities with GTK2, and GTK3 code often requires some adjustments to work with GTK3. Since it is not possible to load both GTK2 and GTK3 in the same program, a GTK3 build of Geany requires plugins also built against GTK3.
So, I'd like to ask you to consider adjusting your plugins so they build with GTK3 too. Note that *we don't mean to remove GTK2 support*, so adjusting your plugin should make it work with *both* GTK2 and GTK3.
[...]
I forgot to mention that Geany now have a header called gtkcompat.h that gets included by geanyplugin.h which gives some GTK2/3 compatibility. This means you don't have to do the conditionals yourself for some things if you depend on Geany 1.24 (current Git):
* Key names for GDK_* are available under GTK3 too (e.g. without the GDK_KEY_ prefix).
* GtkComboBoxText API is available even with GTK < 2.24.
* gtk_widget_set_can_default(), gtk_widget_is_toplevel(), gtk_widget_is_sensitive(), gtk_widget_has_focus(), gtk_widget_get_sensitive(), gtk_widget_set_has_window() and gtk_widget_set_can_focus() are available even with GTK < 2.18.
* gtk_widget_get_mapped() is available even with GTK < 2.20.
* gtk_widget_get_allocated_height() and gtk_widget_get_allocated_width() are available on GTK2.
Regards, Colomban