Note that Mutter already draws decorations for X11 windows. There's also a standardized Wayland protocol to make the compositor draw window decorations. It's just that GNOME doesn't like server-side decorations, from a design point of view.
It is not due design point of view. It is due to synchronizing painting chrome with painting the window content, for frame-perfect rendering. With SSDs/different processes having responsibility, you can't really do that.
Rasterman, of the Enlightenment wm fame, also wrote about this, and he holds the same opinion as Gnome folks. He also noted, that other OS-es (i.e. Windows and macOS) also do client-side rendering. You just don't get to choose, whether you will link the library doing that, when it is required to open the window surface in the first place.
And it's always amazingly convenient and user-friendly when a MacOS application freezes and you can't move its windows or interact with it at all. Especially when it's fullscreen. At some point perfection in one area impedes functionality in another and I think having one frame lag between window frame and window contents is an acceptable price to pay for having always accessible window controls. I know I'll never use GNOME and I'll live happy, but the issue is that their stubbornness starts leaking GNOME implementation details to everyone else. They are not acting like good community contributors.
In most WM/DE/compositor/things, you can move any window with Mod+left click drag. Works on frozen clients just fine :)
I consistently have a problem running Mate Desktop where I have to disable CSD in apps that try to use it by default - off the top of my head, Chrome, Chromium, Firefox and VSCode all have CSD functionality but are unusable in Mate Desktop unless CSD is disabled.
For me Firefox seems to be using SSD by default (may be because I'm using KDE), unless I disable Customize > Title Bar. Then it starts using CSD which looks rather bad.
got a link for a description of Client vs Server side decorations?
A few years ago, some KDE developers invested quite some time in concepts of creating a CSD/SSD hybrid titled DWD, marrying up the best of both worlds. Unfortunately it didn't gain any traction, but I still have hopes they'll tackle this again once all the Wayland work is mostly done.
https://kver.wordpress.com/2014/10/25/presenting-dwd-a-candi...
https://kver.wordpress.com/2014/10/25/what-if-kde-started-us...
Re:GNOME Shell and Mutter
by solarkraft on Friday February 01, 2019 @05:48AM
(#19053157)
It was a terrible idea, inventing a new GUI toolkit for the window manager the application would have to support (and that they couldn't use with others), instead of just allowing applications to draw in the title bar/have them do their own decoration.
The issue seems to be on both sides. SDL, mpv and etc. don't want to depend on GTK, but it looks like Mutter developers don't want to do that either. The end result is very messy.
Unlike Mutter, KWin for instance does depend on Qt, and provides server side decorations which allows such non GUI windows easily draw minimal controls and the title bar.