Can Xfce depend on Gtk+ 2.10?

Erik Harrison erikharrison at gmail.com
Thu Aug 23 20:09:06 CEST 2007


On 8/23/07, Nick Schermer <nickschermer at gmail.com> wrote:
> First: don't reply on this discussion with the default 'yeah go for
> it!' message, but give arguments if you see advantages or even better:
> PROBLEMS.

No distro that -wants- to ship a 2,8 or earlier version of Gtk+ (For
whatever reason) is going to ship Xfce 4.6. Gtk+ 2.12 will be out by
the time we're shipping 4.6.

The problem is Xfce's historical desire to make Xfce available for
people who can't upgrade their distro, generally for hardware reasons.
We must assume that if we depend on Gtk+ 2.8 or higher, these users
will need to upgrade their Gtk+ too, which means compiling by hand.

Upgrading a system from Gtk+ 2.6 to 2.8 is an unholy BITCH. I never
could get my old slackware machine properly upgraded without breaking
everything, and it took trial and error to build a version of the G*
stack in the first place, even if it was broken.

2.10 has the same problems - which is why I advocate jumping on 2.10.
A 2.8 dependency means that people who keep their distro up to date
will have a more recent version of Gtk+ anyway, and those who don't
will have such a hellish time upgrading their system, that they might
as well upgrade to 2.10. And we might as well cut out them ifdefs.

>
> So a couple of facts first: which components can benefit from this
> switch and does it make our lives (as developers) easier.
>
> exo:
> * Contains a couple of {GTK,GLIB}_CHECK_VERSION preprocessing
> directives, most of them for Gtk 2.9. So this will only cleanup some
> code.
>
> libxfce4menu:
> * A couple of functions require glib 2.10 and one Gtk 2.10. The last
> one (g_object_ref_sink) can of course be replaced.
>
> libxfce4util:
> * Only some small things, but I think atleast glib 2.10 is preferred here.
>
> libxfcegui4:
> * Drop XfceTrayIcon (only used by xfce-mcs-plugins) and use
> GtkStatusIcon, part of bug #3489.
>
> terminal:
> * Patch for tab dnd which requires Gtk 2.10.
>
> thunar:
> * IIRC Benny wants to depend on Gtk 2.10 in the near feature.
>
> orage:
> * Remove internal code for tray icon and use GtkStatusIcon.
>
> xfce-mcs-plugins:
> * Replace the tray icon code, already mentioned in libxfcegui4.
>
> xfce4-panel:
> * Already depends on Gtk 2.8 in trunk for cairo support. Nothing
> serious for a Gtk 2.10 switch.
>
> xfdesktop:
> * Some  preprocessing directives for glib 2.10 and gtk 2.8.
>
> The components that already are 2.10: Mousepad in my branch, Squeeze
> and Ristretto (for GtkPrint, GtkRecent or tab dnd).
>
> So the core components will do with Gtk 2.8 for now, but some of the
> tools (text editor, (most likely) file manager, archiver, image viewer
> and maybe the terminal) will use 2.10.
> The question is: is it worth having a core that depends on 2.8 and
> tools (which you can hardly live without) depend on 2.10? We can at
> least drop some (unmaintained) code when the core depends on 2.10.
>
> Then there is a distro question: I don't think we should worry about
> this too much (that means don't reply with 'distro x already has 2.10
> for ages'), but I think we can say most distros use 2.10 by the time
> 4.6 is out, at least for the mayor ones.
>
> Well enough info for now, let's decide if we're going to depends on
> Gtk 2.10 and GLib 2.12. You've got my vote ^_^.
>
> Greets,
> Nick
>
> Extra info: Gtk 2.8 requires glib 2.8.5.
> _______________________________________________
> Xfce4-dev mailing list
> Xfce4-dev at xfce.org
> http://foo-projects.org/mailman/listinfo/xfce4-dev
>


-- 
Erik
"If you want to go somewhere, goto is the best way to get there." - Ken Thompson



More information about the Xfce4-dev mailing list