this post was submitted on 28 Aug 2024
16 points (86.4% liked)
Linux
48634 readers
1487 users here now
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Rules
- Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
- No misinformation
- No NSFW content
- No hate speech, bigotry, etc
Related Communities
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
founded 5 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
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.
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.
Points to AwesomeWM and its lua lain libraries that will all need to be rewritten for Wayland.
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.