3 ms·
A toolkit unfortunately can't enforce that. You have to ask the app developers to change their design.
by cycloptic 7y ago
A toolkit unfortunately can't enforce that. You have to ask the app developers to change their design.
- ori_b 7y agoSure it can. Until fairly recently, client side decorations were simply unsupported, and things worked better.
- cycloptic 7y agoNo, they were always supported in the sense that it has always been possible to make a frameless window and draw your own decorations. In the old days this was even a highly desired thing for Audacious/Beep/XMMS because of compatibility with Winamp skins, which all included their own graphics for window decorations. The only thing that has become supported in GTK fairly recently is a common appearance for them. If you notice more app developers happening to use them lately, that's a different issue driven by design trends, not by what some toolkit decides to support. Technically speaking, CSD is not exactly a new thing and has been the norm on Windows and Mac for quite a long time now. Design-wise, the practice of putting widgets into the title bar is what app developers are wanting now. Have you noticed the UI in the newest Chrome? Or iTunes? All the topmost widgets are moved up into the title bar. This is where we are headed at the moment.
- ori_b 7y agoIt's been theoretically possible for a while, but hard to do, as well as being considered antisocial. It's quite a new regression on Mac as well.
- cycloptic 7y agoIt was not hard to do, it's as trivial as drawing 2 buttons and some text. If this is such an issue then take it up with all the app developers. See for yourself how well they respond to accusations of being "antisocial" just for the act of moving some buttons up 30 pixels. This isn't a new thing or a regression on Mac, they always had CSD, even in the pre-OS X days. What is trendy there now is the merging of the toolbar and titlebar, which is different.
- ori_b 7y ago> It was not hard to do, it's as trivial as drawing 2 buttons and some text. And making your window override-redirect, and implementing window motion, resizing, and so on by yourself, since the window manager doesn't do it for you, and dealing with all of the ICCCM and EWMH conventions, and...
- cycloptic 7y agoAll of that was already implemented by the toolkit. The way programs used to do it is by simply calling those 3-4 toolkit functions to move and resize. You can verify this by looking in the code to old versions of Audacious/XMMS/Beep/etc, which still used GTK/GDK to handle those things. I can't stress this enough: this kind of thing was already supported for quite a long time and app developers were doing it long ago. The only thing GTK3 added was a common look and feel for it. Qt also has that now too.
- ori_b 7y agoAnd it's a pretty annoying regression.