About Gtk3/Gtk2 in 4.12

Landry Breuil landry.breuil at gmail.com
Tue May 29 09:40:04 CEST 2012

On Fri, May 25, 2012 at 9:36 AM, Nick Schermer <nick at xfce.org> wrote:
> Folks,
> We've ported a couple of parts of Xfce to Gtk3 and IMO it is better to stick
> with Gtk2 for 4.12. Beside that fact that it is an awful amount of work, the
> resulting applications are visibly slower (large treeviews mostly), consume
> more resources and hardly any advantages (api technically).
> So for me porting the core of Xfce in the state Gtk3 currently is, is for me
> a no-go.
> That said we can still prepare for this to make the switch easier in the
> future.
> - Depend on Gtk 2.24.
> - Use new API (compile with GSEAL) as much as possible and drop deprecated
> API.
> - In a number of places we use Gtk widgets instead of our own versions.

We're in the process of converting some of the plugins to 'newer' APIS :

- switch from libxfcegui4 to libxfce4ui. easy, lots of patches
floating in bugzilla

- switch to mode-changed/nrows (and keep orientation-changed for 4.8
panels), not so
easy since we havent decided really what to do wrt deskbar mode and orientation,
nor what to do wrt nrows. Patches waiting in bugzilla too.

- switch from gtktooltip to gtktooltips (or the contrary, dont remember)

- switch dialogs/uis to gtkbuilder/.ui files to simplify code ? not
started, tedious task

- switch from gtk{h,v}box to xfcehvbox, though it might not be so wise since
libxfce4panel's doc advices to use gtk{h,v}box + gtkorientable, and gtk{h,v}box
are deprecated in gtk3 in favor of plain gtkbox or gtkgrid. Nick,
which way should
we go, and do we want to still advise using xfcehvbox which derives from gtkbox
already ? Note that in gtk2, a gtkbox is a base class and cant be instanciated..

Besides, some 'orphaned' plugins clearly need a new maintainer with
commit access to checkin the numerous patches that are now rotting in
bugzilla. Now is a good time for wannabee contributors to step up and
take care of them.


More information about the Xfce4-dev mailing list