Xmonad seeking help for Wayland port
37 points
2 days ago
| 5 comments
| xmonad.org
| HN
thcipriani
28 minutes ago
[-]
XMonad is an an amazing window manager (WM) made by a bunch of nerds who care a whole lot about a niche problem. Software by caring nerds is my favorite software as a user.

I really hope it makes the jump to Wayland. I've used XMonad for more than a decade and it's still my favorite WM.

XMonad really let me forget about managing windows---I never have to resize a window or remember where I put a window. XMonad handles the arranging and resizing and floating for me. There's a nice layout for small screens that will zoom your active window[0]. You can cobble your desktop together into whatever makes you happiest: Active corners. ScratchPads. So much in XMonad Contrib[1].

Since I'm not the right person to help with porting to Wayland, I'm giving money via the GitHub sponsorship page[2].

I check in on discourse from time to time: progress looks slow. The person/people they need are hard to come by.

[0]: <https://xmonad.github.io/xmonad-docs/xmonad-contrib/XMonad-L...>

[1]: <https://hackage.haskell.org/package/xmonad-contrib>

[2]: <https://github.com/sponsors/xmonad>

reply
schuyler2d
1 hour ago
[-]
I was so sad when I lost xmonad support on Ubuntu 24.

I think the closest thing that could get most of the way there is https://github.com/domferr/tilingshell/

reply
baobun
37 minutes ago
[-]
You can get very close if not all the way with qtile if you accept using python instead of haskell.

https://docs.qtile.org/en/stable/manual/ref/layouts.html#mon...

reply
Twisol
2 hours ago
[-]
This is dated in October of 2023. I wonder if there's been any progress since then?
reply
__s
1 hour ago
[-]
https://discourse.haskell.org/t/xmonad-for-wayland-call-for-... last post Aug 24th someone working on Haskell wlroots binding was off due to injury, but thread they link to is active
reply
diath
1 hour ago
[-]
There's more up to date discussion about it in https://discourse.haskell.org/t/haskell-wlroots-bindings/842...
reply
colordrops
23 minutes ago
[-]
I used to be on XMonad years ago but the community seemed to be pigheaded about NEVER porting to Wayland so I abandoned it for Sway and never looked back. Was fun learning Haskell to write config but otherwise life is way easier with other WMs.
reply
jmclnx
1 hour ago
[-]
That is the thing with Wayland, it is much harder to create a window manager for Wayland. IIRC, fvwm decided not to create a Wayland version due to the difficulty.

When Wayland replacing X, lots of cool window managers and mini applications will be gone.

reply
GuestFAUniverse
1 hour ago
[-]
The blame could be as well on Haskell.

IMO Ganeti died because of such a choice. There aren't enough programmers that are willing to invest into that niche.

I have nothing against that language per se, still such a choice can easily develop into a dead end.

reply
kelvinjps
43 minutes ago
[-]
There are multiple window managers in other languages that won't build a Wayland equivalent due to the effort so it's not only about the language
reply
cosmic_cheese
48 minutes ago
[-]
Yeah, I’ve long had fantasies of writing a little desktop for myself next time I get a long stretch of time off, but that became much more daunting with the advent of Wayland, even when factoring in the existence of wlroots and such. It’s like going from building a bicycle to building a modern fuel injected car with an automatic transmission.
reply
ElectricalUnion
1 hour ago
[-]
What about wayback? Assuming running X by itself becomes real bad and undesirable, would wayback+Xwayland cover all those "can't Wayland" use cases? What remains (besides better stability and wider availability of wayback) to be done?
reply
BoredPositron
36 minutes ago
[-]
We also got a lot of new little niche window managers. hyprland, niri, cosmic, sway, river, labwc, dwl, wayfire and vivarium which is xnomad inspired...
reply
preisschild
1 hour ago
[-]
There are libraries like wlroots (C) and Smithay (Rust) to be able to more easily create your own wayland compositor
reply
ux266478
57 minutes ago
[-]
However the radically different architecture of Wayland may necessitate a rewrite well beyond what the maintainers of a window manager feel is easy.

Even accounting for wlroots, you're not exactly just running sed on a glob. And unfortunately, wayland didn't actually fix X's complexity problem. Arcan did, but we're not allowed to have nice things because Redhat has no taste.

reply
cratermoon
1 hour ago
[-]
Are you suggesting every application should implement its own compositor?
reply
zeendo
1 hour ago
[-]
This style of engagement is so off-putting.
reply
charcircuit
1 hour ago
[-]
This isn't wayland's fault. It's the compositor implementing wayland's fault for not exposing a window manager API. Nothing about wayland prohibits the creation of a window manager API.
reply
chongli
55 minutes ago
[-]
I’ve heard the same thing about Wayland and NVidia’s drivers. To me, it seems like Wayland was designed to push all the hard work onto everybody else. That way Wayland never gets blamed for anything!
reply
charcircuit
7 minutes ago
[-]
Not having a defacto compositor was a major blunder and resulted in an enormous delay to the project, reputational damage, and numerous challenges for app developers.
reply
scythe
8 minutes ago
[-]
For practical purposes, the problem with Wayland from the WM-dev's PoV is that you're either implementing a huge project or you're depending on wlroots, and wlroots still isn't where it would need to be for implementing a simple window manager to be as easy as it was with X11.

From the Wayland devs' PoV, mainstreaming Wayland successfully shifted responsibility for doing most of the heavy lifting in the graphics layer from the neglected X-Windows project to the well-established KDE and GNOME. The state of wlroots and the ecosystem of personal WM projects is unavoidable collateral damage.

For an individual developer, perhaps the thing to do is take a page out of bbLean's [1] bag of tricks and implement your WM on top of one of the big two desktop environments.

https://bb4win.sourceforge.net/bblean/

reply
charcircuit
5 minutes ago
[-]
The problem is that compositors aren't giving you an API to target. Hyperland has plugins, but that is a whole other can of worms.
reply