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.
The plugins that currently don't build against GTK3 are:
* Addons * Debugger * DevHelp * GeanyDoc * GeanyInsertNum * GeanyLaTeX * GeanyLipsum * GeanyLua * GeanyMacro * GeanyMiniScript * GeanyNumberedBookmarks * GeanyPrj * GeanyVC * GProject * Markdown * MultiTerm * Pretty Printer * Scope * Spellcheck * TreeBrowser
There are also some plugins that do build against GTK3, but that may require adjustments to render perfectly[1]:
* CodeNav * GeanyExtraSel * GeanySendmail * GeanyPG * GeniusPaste * ShiftColumn * Tableconvert * Updatechecker * XMLSnippets
If you need any assistance to add GTK3 support for your plugin or have any question about it, feel free to contact me.
Regards, Colomban
[1] GTK3 behaves a little differently than GTK2 on some matters, particularly with some widget packing. It is however totally possible (and not hard) to get packing rules that work exactly the same on both GTK2 and GTK3.
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
While it's likely that distros will want to drop support for GTK 2 as soon as they can, there seems to be some issue on the part of GNOME independent GTK apps regarding GTK3:
http://igurublog.wordpress.com/2012/11/05/gnome-et-al-rotting-in-threes/
and:
http://www.linuxuser.co.uk/opinion/a-linux-conspiracy-theory
Perhaps the most telling statement is:
Beyond just GNOME apps and tools being stripped of options, Red Hat employee and lead GNOME developer William Jon McCann was caught opening a bug report on the independent Transmission BitTorrent client telling the developers that its panel notification feature should be removed. Why? Merely because GNOME 3 no longer supports a panel: “Transmission has an option in the Desktop tab of the preferences to ‘Show Transmission icon in the notification area’. This should probably be removed.” Transmission developer Charles replied, “So now we can have three builds of Transmission that decide at compile time whether to use AppIndicator, GtkStatusIcon or nothing at all… Removing it altogether, as you suggest, will hurt Xfce users.” McCann replied, “I guess you have to decide if you are a GNOME app, an Ubuntu app, or an Xfce app unfortunately… And I have no idea what Xfce is or does, sorry. It is my hope that you are a GNOME app.” Charles’s reply to this: “*speechless*”.
I like Geany since it is light and works seamlessly with XFCE. Will the Geany be forced to choose between GNOME and everyone else by moving to GTK3? Please investigate this carefully.
- Nate
Le 18/03/2013 17:25, Nate Bargmann a écrit :
While it's likely that distros will want to drop support for GTK 2 as soon as they can, there seems to be some issue on the part of GNOME independent GTK apps regarding GTK3:
http://igurublog.wordpress.com/2012/11/05/gnome-et-al-rotting-in-threes/
and:
http://www.linuxuser.co.uk/opinion/a-linux-conspiracy-theory
Perhaps the most telling statement is:
Beyond just GNOME apps and tools being stripped of options, Red Hat employee and lead GNOME developer William Jon McCann was caught opening a bug report on the independent Transmission BitTorrent client telling the developers that its panel notification feature should be removed. Why? Merely because GNOME 3 no longer supports a panel: “Transmission has an option in the Desktop tab of the preferences to ‘Show Transmission icon in the notification area’. This should probably be removed.” Transmission developer Charles replied, “So now we can have three builds of Transmission that decide at compile time whether to use AppIndicator, GtkStatusIcon or nothing at all… Removing it altogether, as you suggest, will hurt Xfce users.” McCann replied, “I guess you have to decide if you are a GNOME app, an Ubuntu app, or an Xfce app unfortunately… And I have no idea what Xfce is or does, sorry. It is my hope that you are a GNOME app.” Charles’s reply to this: “*speechless*”.
*sight*. I didn't read your links yet but if a GNOME developer can say "you need to choose between GNOME and something else" and "I have no idea what Xfce uses or does" GNOME is leading in an even worse direction than I though…
I like Geany since it is light and works seamlessly with XFCE. Will the Geany be forced to choose between GNOME and everyone else by moving to GTK3?
But don't worry, we are not a GNOME application and won't remove stuff just because some crazy GNOME guy think that don't fit. Adding support for GTK3 in Geany is not to become GNOME, but simply to keep up to date with current version of our platform library (GTK), and so not to get rushed in a few years when GTK2 will start to die.
We will still support GTK2 for a long time (see, currently we only depend on GTK 2.16). We won't follow the crazy removal of everything that is happening more and more in GNOME3.
Please investigate this carefully.
I don't see what we would have to investigate: the toolkit we use got a new major version and we added support to it, that's it. GNOME don't have anything to tell us about, and in the even they do, we'll just tell them it's not their business.
Using GTK3 (or GNOME) doesn't make one sign a "we will follow your way of thinking" agreement.
Regards, Colomban (happy gnome-panel 3 user for now)
* On 2013 18 Mar 11:46 -0500, Colomban Wendling wrote:
Thanks, Colomban.
Using GTK3 (or GNOME) doesn't make one sign a "we will follow your way of thinking" agreement.
Keep up the good work.
- Nate