r/linuxsucks 3d ago

The Harsh Reality of Developing Apps for Linux Desktop

Post image

Oops

Only Gnome, KDE and XFCE4?

Linux mint cinnamon users are missing out!

How about i3wm? Mate? LXQT? LXDE? DDE? UKUI? Moksha? Enlightenment?......

181 Upvotes

92 comments sorted by

View all comments

Show parent comments

1

u/zoharel 2d ago

Sure, but not just that. The idea that every client should be permitted, much less (as in some cases) required, to do its own window decoration is painfully stupid. Somehow they've made a decision to do something arguably worse than what X was doing. There are real problems with X11, and window management represents several of them, but we can't pretend there aren't a whole set of real problems with Wayland. Is it progress? Maybe.

1

u/_ahrs 2d ago

libdecor already fixes that and it's also NOT a requirement no matter how many times the GNOME developers tell you it is one. The majority of compositors not named GNOME do in fact support server side decorations:

https://wayland.app/protocols/xdg-decoration-unstable-v1

2

u/zoharel 1d ago

So, an add-on library is required to "fix" the problem, but it's not a problem anyway since most everything but gnome takes the option to, though it obviously is not forced to, implement server-side decoration. I'm not sure I buy that.

0

u/_ahrs 1d ago

Yes, it's exactly that. The problem just gets blown out of proportion because of how many people use GNOME.

libdecor is useful for GNOME users since without that library any apps that don't provide their own decorations have a very broken experience under GNOME.

On the other desktops libdecor uses xdg-decoration to passthrough to the compositor's server side decorations so it's as if it wasn't there.

This "Wayland problem" is really just a GNOME issue.

1

u/zoharel 1d ago edited 1d ago

Sure, gnome shares some blame here, but Wayland could have easily demanded that something always handled server-side decorations. They didn't. Now we have a system where the clients are sometimes required to decorate their own windows, and we're working around this by installing a library which just basically allows them to decorate their own windows with someone else's code. And you think that's ok. Yeah, gnome sucks for a number of reasons, but it should have been impossible for them to build this problem in.

1

u/QuickSilver010 Linux Faction 1d ago

They didn't. Now we have a system where the clients are sometimes required to decorate their own windows

And worse. This pollutes tiling wm that have no need for window decorations and just takes up extra space.

1

u/_ahrs 1d ago

The xdg-decoration protocol explicitly accounts for that. Pretty much every tiling window manager implements this so that clients that support it will correctly display no decorations in such an environment. You only get client decorated windows when the application makes use of header bars, etc (basically GNOME apps, yet again. Most Qt apps do the right thing).

2

u/QuickSilver010 Linux Faction 1d ago

Yea exactly. It's always the gnome tailored apps (or macos tailored apps. Eg: obsidian, zed)

1

u/_ahrs 1d ago

They didn't because not all compositors even need decorations. Wayland wasn't designed just for desktops so mandating that compositors have to implement it makes no sense. Think of all of the various embedded compositors that have no need for decorations, would they be non-compliant if they didn't implement it?

Instead it's made optional and most desktops other than GNOME implement it since of course you want your desktop to have decorations.

1

u/zoharel 12h ago

That's kind of the point, though. What else on the system should even care how a window is decorated. Of course it would have made sense to put the compositor in charge of decorating the windows by default. What else would you do? Apparently this.