3/22/2026 at 4:06:08 PM
Wayland was designed from the point of view of theoretical purists. It's basically "how would a display server work in an ideal world", unfortunately, that design turns out to also be impractical and straight up developer/user hostile.by diath
3/22/2026 at 5:12:32 PM
I would at least like to understand the idea of 'pureness' this API tries to aspire to.It's definitely not Unix-like, since file handles and writes and epoll, and mmap for IPC are nowhere to be found. Instead you have 'objects' with these lifecycle methods that create/release resources (probably committing the design sin of having these for things which should be pure data, like descriptors).
What's with these XML headers? It's UNIX standard stuff, to have a C API for your code, that declares an API for a library, and then a makefile can just consume it. There's a standard way of supplying, finding and consuming them. Even binding generators are probably more comfortable with C headers, than this XML thing
And what's with the callbacks for everything, like screen resolution queries? In Win32, you can do it with a single synchronous API call that returns a struct that has all the info. It's not like you have to touch the disk or network to get this. In cases where you do, you usually have a call that dispatches a message to another window (which you can also dispatch yourself), and you have to listen to the response.
I did some X11 programming as part of work, and its entirely reasonable and conventional compared to this, much more like Win32 (even maybe a bit more pleasant, but I'm no expert on it).
The API sounds awful (and I've had ChatGPT generate me some example programs, and it's somehow even worse than the author describes), and not only that, the requirement of 'everything be an object', with chains and trees of objects being created introduces a huge source of bugs and bookeeping performance overhead on the application side.
Yes, you do have to do something like this with some things under Windows, but the reason for this is that these objects have duplicates in the Windows kernel.
But here it looks like this is just to satisfy the sensibilities of the designer.
Honestly this sounds like the most epic case of NIH syndrome. Like these guys wanted to write their own OS and userland and break with existing conventions.
by torginus
3/22/2026 at 4:20:03 PM
It is a damn shame that tools like xdotool (automation) and sxhkd (global keybinds) are impossible to recreate under Wayland.by dzogchen
3/22/2026 at 4:37:01 PM
Not impossible, it just needs to be implemented at a different layer. The compositor needs to expose some API for global hotkeys. For example, I found this with ~2 minutes of Googling: https://wayland.app/protocols/hyprland-global-shortcuts-v1by craftkiller
3/22/2026 at 4:46:44 PM
> Not impossible, it just needs to be implemented at a different layer. The compositor needs to expose some API for global hotkeys.That's a big problem. When things become an optional extension for a compositor, that means you cannot reliably deploy something that depends on it to Wayland.
At this moment, things in the wild are coupling themselves to libwayland-client and in practice ossifying its ABI as a standard no matter what the wayland orgs say about it.
by Blackthorn
3/22/2026 at 5:30:47 PM
xdg-shell is an optional extension for a compositor and yet you can reliably deploy things that depend on it. You're barking at the wrong tree.by seba_dos1
3/22/2026 at 6:12:11 PM
OK so why wasn't this implemented in the first place? For that matter, why does our reinvented wheel have fundamental limitations?by MarsIronPI
3/22/2026 at 6:20:46 PM
It's not a core protocol's concern and the fact that it's being successfully implemented proves that there are no fundamental limitations there.I'm not happy with how the collaboration and planning between various parties involved went over years and I do believe that a lot of these adoption pains are fully self-inflicted, but that has absolutely nothing to do with Wayland's technical design.
by seba_dos1
3/22/2026 at 4:40:11 PM
And that's a problem, now instead of knowing that something just works in the WM you're using, you have to cross-reference a matrix of features for basic tasks across different WMs because the bare minimum features are not found in the core protocols. Nothing is standardized, it's just a pile of different WMs developing their own sets of custom protocols.by diath
3/22/2026 at 6:10:01 PM
> Not impossible, it just needs to be implemented at a different layer.Do you mean the Window Manager layer?
That sounds like a different way of saying "impossible".
In X11 I can create an automation tool that works regardless of the underlying WM, or even if there isn't an underlying WM.
Can't do that with Wayland.
by lelanthran
3/22/2026 at 4:53:00 PM
Not only that. A11y is also quite hard. Tools that are simple to implement thanks to good a11y apis - for example on macos, the tool rcmd or homerow - are super hard to do in Wayland.by zwarag
3/22/2026 at 4:27:26 PM
Not literally impossible. You just need to write your own composer!by j16sdiz
3/22/2026 at 4:40:57 PM
wdotool exists, and global hotkeys are a thing under wayland, but is desktop dependent. KDE allows it by default, Gnome can be made to do it as well with an extension.by Krutonium
3/22/2026 at 4:44:03 PM
I'm using Sway right now and I have key binds. Not sure why you think that's impossible.by James_K
3/22/2026 at 4:51:43 PM
Th point is the decoupling. sxkhd runs irrespective of wm and means your en can optionally choose not to handle key bindings at all. With Wayland you end up depending on whether or not and how your compositor supports it.by vidarh
3/22/2026 at 4:59:38 PM
How many keybings do you have and how often do you try new window managers? Compromising the security of the whole system just to save you a few `sed`s when writing some config files seems like a bad trade off.by James_K
3/22/2026 at 6:59:02 PM
There's no need to compromise the security of the whole system. A trivially safe option would have been to restrict the ability to acquire global keybindings to specific clients, and require the user to confirm either once or every time (or any other policy you'd prefer). An X server could do that without breaking anything.This issue is typical of the thinking that went into Wayland: No consideration was made when Wayland was announced of the fact that there were far simpler ways of achieving the same level of security.
by vidarh
3/22/2026 at 6:12:50 PM
> Compromising the security of the whole system just to save you a few `sed`s when writing some config files seems like a bad trade off.Those aren't the only two options. There's no need to compromise the entire system for everybody if the Wayland devs would agree to configuration that controls these things.
Then those of us who need stuff to work rgardless of WM would get stuff to work and the rest of the Wayland users can simply go with a WM that suits them.
by lelanthran
3/22/2026 at 4:40:46 PM
ydotool existsby flexagoon
3/22/2026 at 4:45:13 PM
The name is pretty similar, but looks like there is where the similarities end.by dzogchen
3/22/2026 at 4:26:29 PM
What make it worse: there are multiple implementation of composer, with small different in behaviour.The extra security meant many automation tasks need to be done as extensions on composer level making this even worse
by j16sdiz
3/22/2026 at 4:49:52 PM
They looked at caniuse.com and thought "I want that!"by IshKebab
3/22/2026 at 4:44:35 PM
> how would a display server work in an ideal worldWhen designed by committee.
With conflicting interests.
And Veto Powers.
by zer00eyz