Honestly, I don’t really understand the hate that client-side decorations get. I find that they’re generally pretty useful and good.
I think a lot of it comes from people who want to ‘rice’ and theme their desktops but I personally think that dream has sailed. The kind of theming people want on Linux systems is simply not possible without massive amounts of work and downgrades to accessibility, security and usability.
I’m very happy with my rice and the dream has not sailed at all, I have had no downgrades, to accessibility, or usability with a custom theme, in fact, I’d go so far as to say custom themes enable better accessibility and usability for me
Lionir is talking about API implementations for everything to go off a single CSS file or a single icon pack. Not about the implementation of your personal desired aesthetic (I refuse to use the term rice, it has origins in racist car and motorcycle culture)
A lot of it comes down to the fact that many CSD apps, due to how CSD itself works, don’t respect desktop themes such as that which GNOME has, and due to using popover menus as opposed to traditional menus also don’t provide proper context menus.
I’m a baby dev trying to collect some brain wrinkles. Can you expand that last point? What’s the downside of client side decorations? What’s a better alternative?
Maybe I’m misunderstanding but for clarification, the fact they’re drawn by the client actually means they can always be the same across different environments. This is in opposition to server-side decorations which are drawn by the desktop environment and should match the environment as a result. That said, server-side decorations are largely much less extensible than client side ones.
It’s a bad thing that they’re always the same, I don’t like having window borders or buttons and use a keyboard based hyprland setup, this is just a bunch of wasted space for me
Well, you can disable window controls in gnome and KDE afaik if you want. Then you’ll only have the various app-specific buttons that are necessary for functionality.
If you’re looking for every app to have a vim-like interface or something, well, that seems a bit unrelated to CSDs.
Due to the very nature of CSD itself, CSD apps often don’t respect desktop themes. It also, unless designed to compensate, oftentimes does not provide proper context menus due to its use of popover menus.
Not as much of a problem on phones or tablets as unified themes across apps aren’t really used as often on those platforms, but it’s a problem that happens a lot on desktop, for example on GNOME.
I have a love-hate relationship with GTK: on one hand, it’s aesthetically pleasing to me; on the other hand, CLIENT-SIDE DECORATIONS CAN KISS MY ASS.
Honestly, I don’t really understand the hate that client-side decorations get. I find that they’re generally pretty useful and good.
I think a lot of it comes from people who want to ‘rice’ and theme their desktops but I personally think that dream has sailed. The kind of theming people want on Linux systems is simply not possible without massive amounts of work and downgrades to accessibility, security and usability.
I’m very happy with my rice and the dream has not sailed at all, I have had no downgrades, to accessibility, or usability with a custom theme, in fact, I’d go so far as to say custom themes enable better accessibility and usability for me
security? It’s just a css file?
Lionir is talking about API implementations for everything to go off a single CSS file or a single icon pack. Not about the implementation of your personal desired aesthetic (I refuse to use the term rice, it has origins in racist car and motorcycle culture)
(TIL about “rice”… is anything in the US not racist? 🤦)
A lot of it comes down to the fact that many CSD apps, due to how CSD itself works, don’t respect desktop themes such as that which GNOME has, and due to using popover menus as opposed to traditional menus also don’t provide proper context menus.
I’m a baby dev trying to collect some brain wrinkles. Can you expand that last point? What’s the downside of client side decorations? What’s a better alternative?
I imagine it’s hard to debug and hard to ensure it’s consistent across machines due to different environments?
Maybe I’m misunderstanding but for clarification, the fact they’re drawn by the client actually means they can always be the same across different environments. This is in opposition to server-side decorations which are drawn by the desktop environment and should match the environment as a result. That said, server-side decorations are largely much less extensible than client side ones.
It’s a bad thing that they’re always the same, I don’t like having window borders or buttons and use a keyboard based hyprland setup, this is just a bunch of wasted space for me
Well, you can disable window controls in gnome and KDE afaik if you want. Then you’ll only have the various app-specific buttons that are necessary for functionality.
If you’re looking for every app to have a vim-like interface or something, well, that seems a bit unrelated to CSDs.
@EveryMuffinIsNowEncrypted I don’t think CSD would be a big nuisance on a mobile phone or tablet, pretty much all apps nowadays have it.
@imblue
Due to the very nature of CSD itself, CSD apps often don’t respect desktop themes. It also, unless designed to compensate, oftentimes does not provide proper context menus due to its use of popover menus.
Not as much of a problem on phones or tablets as unified themes across apps aren’t really used as often on those platforms, but it’s a problem that happens a lot on desktop, for example on GNOME.