Okay, Wayland is the future, blah blah.

Would it be possible/make sense to make a Wayland compositor that would emulate a X11 server so a X11 WM could talk to it and be used to manage windows?

I’m just thinking about how we could make sure that the tons of obscure but cool WMs survive the waypocalypse.

  • Max-P@lemmy.max-p.me
    link
    fedilink
    arrow-up
    6
    ·
    2 months ago

    It’s possible to do but also probably not worth the amount of effort to reimplement all of those protocols only for super old WMs that don’t have a Wayland equivalent. None of them are particularly complex, so It’s probably easier to just port those to wlroots than implement the compatibility, and it’s an opportunity to make an API or library to make it easy to write WMs.

    • Chewy@discuss.tchncs.de
      link
      fedilink
      arrow-up
      5
      ·
      2 months ago

      Creating a wayland compositor based in wlroots is much more work than an X11 window manager. And then there’s quite a bit of work to keep up with new Wayland protocols.

      But I personally don’t think there’s a need for more compositors, since the existing compositors do support all kinds of tiling.

      E.g. river has custom layout providers, which allows for creating completely custom tiling behaviour. There’s even a hyprland plugin which implements river-layout-v3.

    • theshatterstone54@feddit.uk
      link
      fedilink
      arrow-up
      4
      ·
      2 months ago

      None of them are particularly complex

      Points to AwesomeWM and its lua lain libraries that will all need to be rewritten for Wayland.

      • Max-P@lemmy.max-p.me
        link
        fedilink
        arrow-up
        2
        ·
        2 months ago

        I haven’t looked into it particularly deep but it’s not like there’s a ton of stuff a WM can possibly do unless the code base is littered with raw X11 calls everywhere.

        Most of the window placement and tiling logic shouldn’t be tied directly to X11 and only a small part of it should really be interacting with X11 to place and size windows. So one should target that intermediate spot that makes all the X11 calls.

        And if the code is too shit to port, it probably deserves to die.