hi;

On 17 May 2013 11:22, Chris Vine <ch...@cvine.freeserve.co.uk> wrote:
> On Fri, 17 May 2013 03:50:57 +0100
> Emmanuele Bassi <eba...@gmail.com> wrote:
>> hi;
>>
>> yes, you most definitely can have gtk 2.x and gtk 3.x installed on the
>> same machine, without them interfering with each other. the shared
>> libraries and ancillary files are all parallel installable.
>>
>> what you cannot do is using gtk 2.x *and* gtk 3.x at the same time, in
>> the same process.
>>
>> if you want to write your application to support both gtk 2.x and 3.x,
>> you can do that only by compiling once against gtk 2.x and again
>> against gtk 3.x — i.e. you will need two binaries.
>>
>> targeting gtk 2.x is not a good idea, though, unless you're migrating
>> from 2.x to 3.x and you want to have a "grace period" for your users
>> to switch. gtk 3.x is already 2.5 years old, and will be 3 years old
>> when 3.10 is released this September.
>
> I wouldn't agree with that.  gtk+-2 is still maintained (the latest
> maintenance release is 4 days old) and is a far more stable target.

it's maintained only for critical bugs, or for platform support; no
new feature, and no new API is *ever* going in to the gtk-2-24 branch.
if a bug is fixed by the introduction of new API, then it won't be
fixed in 2.24.x

> The introspection bindings for gtk+-3 break at regular intervals (I
> gave up on trying write minor tools using gjs/introspection about 2
> years ago because of it),

yes, 2 years ago the breakage of g-i was more evident; the feature was
also pretty new. these days, at most, you may find some missing
annotation, which usually gets fixed in the following release. yes: we
don't paper over non-introspectable API by fixing the language
bindings, so you need to wait for gtk to be updated; the side effect
of that is that you only have a single moving part, instead of two.

> and the theming breaks with every release.

yes, the CSS is known to not be stable; on the other hand, there has
been no stability promise on that front — actually, since gtk 1.x. it
just so happened that themes did not break in gtk 2.x, but not
breaking themes for nearly ten years actually accelerated the switch
to a different technology for 3.x, and thus some of the breakage that
followed. we're still getting feedback on themeing issues, and the
breakage comes from changes needed by theme authors, as well as widget
and toolkit developers.

> Possibly things might be settling down with gtk+3 now but I have not
> seen any announcement that these are considered stable now.

I very much doubt you'll see one; the only announcements made are
release announcement.

>  Until there
> is more stability I doubt there is any prospect of the big non-gnome
> gtk+ applications I use (claws-mail, firefox and libreoffice) moving to
> gtk+-3.

two of the three applications you picked (firefox and libreoffice)
have their own toolkit that uses parts of the gtk themeing
infrastructure to draw their UI so that it, at least, looks like an
integrated application; switching to gtk3 for them is pretty
inconsequential: they are not gtk applications. the reason why they
don't port to gtk3 is not because of perceived instability of gtk3:
it's because they are big applications that require a ton of work to
be ported. Gimp took years to get ported to gtk3, and it's still a
work in progress.

having said that, firefox already has a gtk 3 port that is also a
blocker for enabling proper acceleration on Linux. I don't know
whether or not LO will switch to gtk3 any time soon, considering the
amount of stuff that needs to happen on that code base.

those are exceptions, though: large applications, with big code bases
and a long history. if you're not writing one of those, or if you're
writing a new application, targeting gtk2 is pretty pointless, and you
won't get far.

ciao,
 Emmanuele.

--
W: http://www.emmanuelebassi.name
B: http://blogs.gnome.org/ebassi/
_______________________________________________
gtk-app-devel-list mailing list
gtk-app-devel-list@gnome.org
https://mail.gnome.org/mailman/listinfo/gtk-app-devel-list

Reply via email to