GTK 3.12 coming to Utopic?

Jim Nelson jim at yorba.org
Wed Sep 3 20:14:19 UTC 2014


Thank you for your thoughtful response.

On Wed, Sep 3, 2014 at 1:47 AM, Sebastien Bacher <seb128 at ubuntu.com> 
wrote:
> Define "support"? We do have 3.12 in the archive and working as 
> intended
> by upstream. We have some known theming issues that are being worked
> on/going to be addressed before release. I would say we have 3.12 and
> it's well supported, what makes you think it's not (more on specific
> issues further down)

I was speaking of two things.  First, the situation where 3.12 is 
available in Utopic but the 3.10 core apps are distributed.  My concern 
about this situation is (my impression, I admit) that the newer widgets 
were not getting much attention from Ubuntu because they're not 
employed in the older apps.

That's not my primary concern, however, it's just that I see it as a 
leading indicator of 3.12 integration in Utopic, which I expand on 
below.

> Are you speaking about theming there? I'm not aware of "Ubuntu 
> specific"
> issues in GTK otherwise, could you give some specifics?

Between Geary and California, we've had to add Unity-specific 
conditional code to deal with quirks with GtkHeaderBar (not all are 
theme-specific), and to simply remove GtkPopover in certain use-cases.  
(There's another GtkPopover theme bug I'll be investigating later 
today.)  We've also heard complaints that GtkHeaderBar's theme hasn't 
been given enough attention, but that's more a question of aesthetics 
than actual problems.

> Note that 3.12 is the current upstream stable serie, it's also what
> other distributions (Debian, Fedora, etc) current distribute.

Technically, Ubuntu is currently distributing 3.10.

> If you need 3.13 for your application to work correclty, maybe as a
> software writer you adapted new APIs/widgets too early? (it might be a
> good ideas to give things a few cycle to settle down/go through some
> testing and bugfixing before depending on those for software you push 
> to
> users)

The bugs I'm hacking around were already fixed in 3.13 when I 
encountered them, so I don't know that those bugs indicate we're ahead 
of the curve.  That's one level of frustration, but it's not my main 
point here.

If we're jumping in too early with the new widgets (i.e. one release 
behind), then are you saying we should wait for the next release to 
start using them?  That's a full year.  GtkHeaderBar was introduced in 
3.10, i.e. a year ago; are we jumping the gun using it today?

Your other comments (to use "standard" widgets) indicates that we 
shouldn't use these new widgets at all.  Is that realistic?  Is this 
what Ubuntu wants to communicate to their third-party developers?

> The fact is that GTK added new widgets to their toolkit, and those
> widgets are designed with the GNOME desktop/gnome-shell in mind

I think this issue is overblown.  How are widgets like GtkStack, 
GtkListBox, GtkFlowBox, GtkPopover GNOME Shell-specific?  These are 
*really* useful widgets that help put a modern shine on applications 
and reduce custom/hack code.  I don't see anything shell-specific in 
any of them.

> The issue is not so much Unity or GTK in Ubuntu there, it's that you 
> are
> taking decisions in your software to integrate well in gnome-shell and
> it comes in detriment of integration with other desktops.

I'm not sure what you're taking about here.  When I think of shell 
integration I think of the application communicating with the shell in 
specific ways.  For example, in Geary, notifying of new messages 
(either for bubble pop-ups or for chrome-ish things like Messaging 
Menu), or the Application Menu.

If you notice, Geary integrates with Unity's Messaging Menu and the 
Unity Dock.  I'm not complaining about that.  Both work fine and we're 
happy to offer that integration for our users.  Geary actually has 
*less* integration with GNOME Shell than Unity.

But I fail to see how shell integration is an issue with widgets like 
GtkStack or GtkPopover.  If you mean *theme* issues, then yes, we're 
talking about the same thing.  But that's why I'm asking about whether 
Ubuntu supports 3.12 or not -- to ship the 3.12 libraries with provisos 
that "we're not worried about GtkPopover because no one uses it yet", 
or "you should have alternate code paths in your apps for Unity and 
GtkHeaderBar", these are signals to me that 3.12 is not fully supported 
(from a perspective of theming or Ubuntu's patches to the library).  
This is the specific issue I'm trying to call attention to.

Also notice that I'm not screaming for Ubuntu to ship 3.14 in Utopic -- 
I'm trying to illustrate that, by leaving holes in Ubuntu's version of 
the 3.12 library, it puts double-pressure on developers who are trying 
to make their apps Ubuntu-friendly, in the sense we have to work around 
bugs fixed in 3.14 *and* major bugs present in Unity w/ 3.12.

> Did you consider having different/modular UI and adapting it to the
> desktop you are running on ? Or using only "standard" widgets ?

What are these "standard" widgets?  If Ubuntu feels there is a subset 
of GTK+ widgets developers should stick to, is that list published 
somewhere?

> Look at
> shotwell, it's working without issues on GNOME, Unity, XFCE, etc, 
> there
> is no reason your new application couldn't do the same...

You have no idea the hoops we had to go through in Shotwell to make 
some of those things work.  The newer GTK+ widgets would not only make 
Shotwell look slicker and more modern, it would clean up some nasty UI 
code.  I remember when I looked at GtkStack for the first time and 
thought "if only I had this four years ago..."

> The situation is suboptimal,
> but you should probably start looking at GTK as less desktop-neutral
> that it used to be, and stop assuming that writing an application for
> GNOME is going to give you something working as well on other 
> platforms
> or desktops without efforts on the application side.

I'm not asking for a desktop-neutral solution from GTK+ or from Ubuntu. 
 Nothing I've written is asking for that.

The intent of my previous email (and, I hope, this one as well) is to 
ask that Ubuntu please stand behind the versions of GTK+ it ships, i.e. 
their themes/patches for it.  If Ubuntu is going to theme GTK+ and 
patch it to make it work the way they want -- and that's fine, that is 
what free software is about -- what I'm asking as an Ubuntu-friendly 
developer is, please maintain that work, and please differentiate 
between shell-integration features you don't want to/can't support and 
widgets which merely give us developers better options when designing 
our applications.

-- Jim
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.ubuntu.com/archives/ubuntu-desktop/attachments/20140903/8697ecc2/attachment.html>


More information about the ubuntu-desktop mailing list