I’m sorry, I don’t have much experience with Wayland, but with Plasma 6 coming out, and X11 no longer being supported on Fedora, I have a few questions and concerns regarding certain features of X11 I have grown to depend on.
How would one handle UI automation with Wayland? Things like auto-clickers (detecting some graphics on screen, moving the mouse pointer to it and clicking), auto keypresses, keylogging, software like Xeyes? How can clients get global mouse position, position of other windows, events in other applications? For example, can a client send a keypress to another client, simulating the user’s keypress (the other client not being aware of that)?
All of that is trivially simple with X11.
As far as I know, Wayland does not implement such protocols, but leaves it to the compositors.
Of course, there are potential security risks (keylogging is most often used maliciously, for example), so such clients would ideally have to be registered in Kwin by the user to be given such power. But functionality of such software is simply too great to forbid it entirely. X11 is beautifully hacky, it allows for very clever solutions, stuff like automated simulation of user interaction via scripting… For example, one can implement a chat bot as a Bash script that works with pretty much any client, even proprietary ones. I fear I will miss such functionality greatly once I finally decide (or am forced) to switch to Wayland.
For example, I really like Xeyes – it is not only a fun little gimmick (which I’ve had in one form or another on all my personal computers since the '80s, including Unix, Amiga, Windows, and Linux) – but also a useful tool: having blindspots in my field of vision, and severe myopia, I got used to it helping me find the mouse pointer on multiple monitors, and it’s much nicer than any pointer highlighting effect that has to be manually triggered.
Is anything like that implemented or planned with Kwin Wayland?
I hope that there will be a way to get all those exciting features of X11 on Kwin Wayland, but of course, in a more secure way, so that the user has the ultimate control of what kind of spying the clients are allowed to do.