LWN.net Logo

Gräßlin: Client Side Window Decorations and Wayland

Gräßlin: Client Side Window Decorations and Wayland

Posted Feb 9, 2013 16:30 UTC (Sat) by ovitters (subscriber, #27950)
In reply to: Gräßlin: Client Side Window Decorations and Wayland by cmorgan
Parent article: Gräßlin: Client Side Window Decorations and Wayland

I'm not aware that Gtk+ works together with Qt regarding theming? Gtk+ can be made to look similar (as Qt), but that is not done by any sharing of themes. Best is to make a Gtk+ and a Qt theme, so duplication of work.

Correct me if I'm wrong (no theming expert at all)…


(Log in to post comments)

Gräßlin: Client Side Window Decorations and Wayland

Posted Feb 9, 2013 22:20 UTC (Sat) by set (guest, #4788) [Link]

I mostly use gtk+ apps with custom theme. I told qt to use the 'GTK+'
theme, and the qt apps look like the gtk+ ones.... so it looks at the
specific gtk+ theme being used and mimics or adopts it.

Gräßlin: Client Side Window Decorations and Wayland

Posted Feb 10, 2013 13:27 UTC (Sun) by Company (guest, #57006) [Link]

We (GTK+) do not work together with anyone (Mozilla, Qt, Chrome, Enlightenment, you name it) on theming. All toolkits have their own more or less esoteric theming languages. And I don't think that's gonna change, theming is too integral for the toolkit to standardize (just compare GTK2 and GTK3 there...)

So all similar looks are usually the result of hard-working theme designers.

Gräßlin: Client Side Window Decorations and Wayland

Posted Feb 10, 2013 13:57 UTC (Sun) by HelloWorld (guest, #56129) [Link]

Yeah, that must be why QGtkStyle works perfectly fine. To be honest, I just wish that Gtk went away and never came back. Having multiple GUI toolkits offers no benefits, makes user interfaces inconsistent and increases the maintenance cost.

Gräßlin: Client Side Window Decorations and Wayland

Posted Feb 11, 2013 13:11 UTC (Mon) by nye (guest, #51576) [Link]

>We (GTK+) do not work together with anyone

That pretty much sums it up.

I too think the world would be a slightly better place if Gtk went away and never came back.

Gräßlin: Client Side Window Decorations and Wayland

Posted Feb 12, 2013 1:02 UTC (Tue) by Company (guest, #57006) [Link]

Because E17 and KDE use a Freedesktop theming format I've probably never heard of?

I mean, are you just trolling for no reason or do you know any toolkit that shares anything theming related with anyone else?

Gräßlin: Client Side Window Decorations and Wayland

Posted Feb 12, 2013 16:23 UTC (Tue) by nye (guest, #51576) [Link]

>I mean, are you just trolling for no reason

No, I think it is a statement of simple fact that GTK developers are less interested in compatibility than providers of other toolkits, or at least Qt, which is its principal competitor.

For example:
Qt has a toolkit style which uses the Gtk theme, in order to integrate as well as possible. It's not *absolutely perfect*, but in practice it works very well.

Amongst other things, Qt applications using this style will automatically use the native Gtk file dialog, so you often wouldn't even know that you're using a Qt application on your Gnome desktop.

There *is* a Gtk style to do the reverse, but this came from the Qt side, not the Gtk side, because the Qt side is interested in integration and compatibility, whereas the Gtk side is not.

The same idea extends to other platforms: on Windows, Qt applications are largely indistinguishable form native applications, including things like using the native file dialog. I'm led to believe that the same is true on OS X, though I've not personally tried it.

Gtk applications on the other hand use a style similar to, but distinguishable from, native widgets, and worse, they impose their own file dialog.

The problem goes further than simply theming.

Qt is able to use the glib main loop, in order to allow more options of component integration; Gtk to the best of my knowledge has nothing like this flexibility (I welcome corrections if this has changed).

Generalising a little further, I'm going to conflate Qt/KDE and Gtk/Gnome; disregard this part if you think that's unreasonable:
The Qt/KDE camp puts greater stock in interoperability; that doesn't just mean in providing applications that fit in better on other OSes as in the example above, but also in working with standards on Free desktops. In principle, freedesktop.org exists to further interoperability between Free desktops by defining agreed standards, In practice that has a tendency to mean 'Gnome is doing this; everyone else must too'. When a standard didn't originate on the Gnome side, situations like the StatusNotifier problem arise: http://aseigo.blogspot.co.uk/2011/03/collaborations-demis...

As a rule, Gtk and Gnome effect a 'my way or the highway' attitude, reasoning that because together they are the 800lb gorilla in the Free desktop world then interoperability consists of people bending over backwards to suit them.

It is my belief that Gtk's continued presence despite the existence of at least one freely licensed and technically superior alternative is ultimately harmful to the Free desktop, in part because of the inevitable fragmentation of interest/effort/etc, but mostly because Gtk eschews standardisation in favour of control, and places ego above technical excellence, ultimately resulting in applications which are - in a small but non-zero way - not as good as they could have been.

The existence of Gtk is essentially a historical accident; if Qt had been freely licensed from the beginning, then perhaps the GIMP would not have spawned its own toolkit. Even if it had, it's unlikely that an entire desktop environment project would have grown around it. Given that the Qt licence problems were solved a decade past, it's unfortunate that Gtk continues to exist.

(I keep mentioning native file dialogs because the Gtk file dialog is indefensibly awful. It's so bad that simply trying to use it actually makes me *angry*; I can't imagine how anyone could produce something so brain-damaged and not feel a deep sense of shame.)

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds