[Geany-Users] [Geany-Devel] [Geany-Plugins] Please consider adding GTK3 support for your plugin(s)

Colomban Wendling lists.ban at xxxxx
Mon Mar 18 16:12:00 UTC 2013


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


More information about the Users mailing list