(Edit: I always mix up the terms server side and client side decoration. Hopefully by my description its clear which one I’m referring to.)
Pro SSD: the window manager should decide how the apps look
user: consistency across the operating system usage
dev: generalized and less burden on the dev, less dependencies to worry about and development specific to GNOME
both: flexible, change your window manager and the app changes without modifications (at least in ideal world)
At least for a normal window. I wouldn’t mind if an application can request with a high priority that it wants to display its own decorations. In that case there should be an option to disable decorations from the window. That is how some applications do work and allows for a flexible usage based on users configuration. Now if there was just an official API from all window managers that can check this configuration, then the user wouldn’t even need or know there is a setting for.
Now if there was just an official API from all window managers that can check this configuration
This actually does exist. Reasonable Wayland Compositors will negotiate with their clients on whether they should use CSDs or SSDs. To an extent Qt does this: It prefers SSDs but it can draw CSDs if the compositor can’t draw SSDs (or signals that it doesn’t want to), which is why proper Qt apps are perfectly usable on GNOME Wayland despite missing SSDs.
It would be possible to go even further and make apps that display menu and tool bars on compositors that prefer SSDs (like Plasma/KWin) and nice GTK-style decorations on others. It just happens that most apps either really want to draw their CSDs (mostly because they’re made for GNOME, a.k.a. anything using Libadwaita) or they don’t really have a use for them (like regular Qt apps).
(Edit: I always mix up the terms server side and client side decoration. Hopefully by my description its clear which one I’m referring to.)
Pro SSD: the window manager should decide how the apps look
At least for a normal window. I wouldn’t mind if an application can request with a high priority that it wants to display its own decorations. In that case there should be an option to disable decorations from the window. That is how some applications do work and allows for a flexible usage based on users configuration. Now if there was just an official API from all window managers that can check this configuration, then the user wouldn’t even need or know there is a setting for.
This actually does exist. Reasonable Wayland Compositors will negotiate with their clients on whether they should use CSDs or SSDs. To an extent Qt does this: It prefers SSDs but it can draw CSDs if the compositor can’t draw SSDs (or signals that it doesn’t want to), which is why proper Qt apps are perfectly usable on GNOME Wayland despite missing SSDs.
It would be possible to go even further and make apps that display menu and tool bars on compositors that prefer SSDs (like Plasma/KWin) and nice GTK-style decorations on others. It just happens that most apps either really want to draw their CSDs (mostly because they’re made for GNOME, a.k.a. anything using Libadwaita) or they don’t really have a use for them (like regular Qt apps).
Nice, I didn’t know about that. But the problem with Wayland is like always it takes too long. That’s why nobody implements it.