LWN.net Logo

Gräßlin: Client Side Window Decorations and Wayland

Gräßlin: Client Side Window Decorations and Wayland

Posted Feb 8, 2013 15:27 UTC (Fri) by cmorgan (guest, #71980)
In reply to: Gräßlin: Client Side Window Decorations and Wayland by gnb
Parent article: Gräßlin: Client Side Window Decorations and Wayland

I quite agree. It is helpful, as an end-user, to push developers to support standard decorations/themeing etc. I just advocate that approach vs. trying to force it server side. The downsides of doing it server side seem severe, what would you do if you wanted to change decorations in the case where things were forced server side? Its added complexity to then have the ability to switch it off etc.


(Log in to post comments)

Gräßlin: Client Side Window Decorations and Wayland

Posted Feb 8, 2013 17:32 UTC (Fri) by dlang (✭ supporter ✭, #313) [Link]

the point is that if you want to change things and they are done server side, you have one place to go to make the change, the server.

If they are client side, then you have to reconfigure every app (or at least every toolkit that an app may use), assuming that the app/toolkit gives you that option, most apps won't bother

Gräßlin: Client Side Window Decorations and Wayland

Posted Feb 8, 2013 18:20 UTC (Fri) by cmorgan (guest, #71980) [Link]

That's the downside of having the graphics system not deal with decorations, everyone has to do it themselves. It may seem like anarchy but most people will, as you've mentioned, use one of the popular toolkits (Qt/gtk etc). Toolkits already work together on theming/colors, although maybe not as well as they probably should. Doing CSD doesn't mean that existing work to coordinate look and feel is discarded, it does however simplify the graphics system and let people who care about custom decorations implement them without as much effort.

Gräßlin: Client Side Window Decorations and Wayland

Posted Feb 9, 2013 16:30 UTC (Sat) by ovitters (subscriber, #27950) [Link]

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)…

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