I’m working on a window switching tool for Wayland that’s kinda like Alt-Tab. However, it seems like there’s no compositor agnostic way to do things like:
- List all currently open windows
- Ask which window is currently focused
- Focus a specific window
Therefore, if I want my tool to support multiple compositors, I have to re-implement this logic for each compositor.
Is the motivation security through program isolation? That doesn’t quite make sense to me since programs still can do the above things, they just have to do it compositor specifically: hyprctl clients on Hyprland, niri msg windows for Niri, etc. Also, you could just have a Wayland API that requires elevated privileges for doing these things, which the user would have to opt-in to for a specific program.
I feel like this design of Wayland causes a lot of fragmentation. There are a lot of tools that are for example Hyprland-only.
Could you please enlighten me on why Wayland has this design?
everything you could want and more already was dreamt up and has a PR for it, you can thank Gnome for stonewalling everything for half a decade or more
Gnome the apple of the Linux world. It’s their way or the high way.
Best option right now are to use the following protocol extensions
https://wayland.app/protocols/xdg-activation-v1 this extension covers your setting focus needs, but getting a list of other wayland clients is a bit trickier.
https://wayland.app/protocols/ext-foreign-toplevel-list-v1 this extension can list clients in theory, but its missing support for both gnome and kde.
Some of the unstable extensions have wide adoption, so perhaps take a look at each of them to see if they provide the functionality you want. Good luck!
Edit: was curious and did some more digging. KDE has their own protocol extension for this https://wayland.app/protocols/kde-plasma-window-management
As for gnome, I couldn’t find anything that seemed suitable, other than writing a gnome extension specifically to support this. I imagine that doesn’t fit within your vision for your project though.
Anyway, I had fun looking into this. Once again good luck!
Some design choices if Wayland are really weird.
That said do you know of the wlr foreign toplevel management protocol? A lot of the smaller compositors support it. But yes a lot like e.g. Mutter and I think kwin do not.
There’s probably a PR or a thread somewhere with a bunch of very angry nerds fighting over whether this is even a useful feature and there’s no API because they can’t reach a compromise. There is no design.
Gnome board members most likely blocking it while embezzling donations
Some wise people said that it was originally designed for car infotainment. Everything else is an addition.
Congratulations you have discovered the new hotness being forced upon Linux community (only 17 years in development and counting lol) isn’t so hot.
My favourite quote from the linked article:
“Instead of providing a better way of doing something, common features are not supported at all, and instead it’s the job of everyone else in the ecosystem to agree on a standard. That’s not a stunning argument in favor of replacing something that already exists and that has already been standardized in X11!”
citation -
Wayland set the Linux Desktop back by 10 years
https://omar.yt/posts/wayland-set-the-linux-desktop-back-by-10-years
I am not saying that software written in C is bad
after implying that code written in C is inherently insecure 🥴
We are only ten years behind thanks to gnome to be fair.
Just picture all the progress we could have made!
Forced by who exactly?
KDE, some distros.
A piece of software using another piece of software does not mean forcing anything on anyone.
Moreover, KDE runs on X11 and I don’t know of any distribution which does not provide Xorg in their repositories.
KDE is dropping support for X11 next year: https://blogs.kde.org/2025/11/26/going-all-in-on-a-wayland-future/
So what?
Should they support X11 forever despite the fact that even the maintainers of X11 are barely maintaining X11?
Are they forcing you to do anything?
I’m not saying KDE should do one thing or another, I understand that maintaining code, even unchanging code as you claimed, takes effort.
Yes, they’re going to force me to switch to Wayland on this machine. I’m on X because I need autokey, pyautogui, and TeamViewer. I need to look into alternatives and switch, except I don’t have the option of replacing TeamViewer.
I’m not really partisan in the whole X vs Wayland jihad, I run Wayland on my 2 other machines and don’t notice any difference.
and don’t notice any difference.
The tldr of why Wayland was adopted in the first place and the next hotness will also be forced upon us as well. Lol
Yeah let’s all go back to X it was so much better 🫠
Þis, but unironically
I just made the spicy decision to implement hyprland IPC in my window manager…
I would imagine part of this is because multi seat (or cursor) wayland is just as important as single seat wayland.
IIRC Wayland is only a spec, compositora are the implementation. I believe Wayland has a reference competitor, maybe target that?
Because Wayland sucks. It was designed to suck.
E: Lol at the 1:1 ratio atm.
username checks out?
Works on my desktop, much better than X. What problems do you have with wayland?
The design of it is not compatible with the old paradigm of graphical interfaces which were the ones created by teams of researchers trying to figure out how to most effectively open a dialogue between computer and user. There is no reference implementation. It’s broken in a million little ways. No xscreensaver.
But if I had to name just one main thing: the whole point of wayland is to make it easier for the programmers of x to handle a large complex codebase, which they accomplished by throwing everything out and starting over from scratch instead of migrating to tools, process and even languages that make that precise problem easier to manage and at the time of waylands conception we had forty fucking years of history showing vast improvement in the tools, processes and languages aimed at big complex shit.
The fact that anyone will defend the decision to abandon x for the absolute slop delivery tube that wayland became in an age where we have access to, like it or not, the ultimate programming tool in the form of cheap and fast large language models is insane.
All time L.








