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?

  • TrollAccount69@lemmy.ml
    link
    fedilink
    arrow-up
    2
    arrow-down
    2
    ·
    5 hours ago

    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.