thcipriani 3 days 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>

nananana9 3 days ago

> paying someone to work on a port of XMonad to Wayland, since none of us is up to the task

This is such a crazy mentality to me, coming from game development, where you can just go to a random 22yo kid's desk, ask them "do you want to port this game to the Nintendo Switch?" and they'll go "hell yeah" and do it in a few months, despite never having programmed for the device before.

You can just learn to do new things. By all accounts the Wayland protocol is simpler than X11, and you've already done the majority of the work. It's just a matter of adding a new backend. People do that all the time when they port a program to the web, a game to a new platform, or when they add a new architecture to a compiler.

  • csande17 2 days ago

    One of the reasons why Wayland is "simpler" than X is that it doesn't include the APIs that window managers like Xmonad need. Instead, window managers have to implement a lot of the complex low-level graphics details themselves. This is why Wayland window managers are called "compositors" -- they include a lot of the code that used to be provided by the X server.

    So the game development analogy here is, like, someone has just made their first Unity game and it's pretty good, but they don't feel like they'd be able to write their own game engine that's as good as Unity.

    (The article mentions wlroots, which was an attempt to write a more general-purpose helper library for Wayland compositors. In practice this didn't work out; every major compositor other than Sway writes their own implementation of the stuff wlroots does.)

  • roenxi 2 days ago

    Is this you volunteering to do the port? I'm guessing you're not going to learn how to do this new thing. The real irony here is that they are actually implementing your suggestion - they're potentially going to hire some random 22yo who's response to porting XMonad to Wayland is "hell yeah!". Although realistically they'll probably get someone a bit more experienced.

    They don't seem to be saying they can't do this or that it is some insurmountable technical challenge. They're saying that they aren't going to do it themselves and aren't giving reasons.

  • arp242 2 days ago

    You're comparing a full-time salaried employee with a "few months" to spare vs. a bunch of people spending their spare time. Obviously not the same at all. There is a difference between "able to do the task, given enough time" vs. "wanting to invest the time". In a volunteer context "I don't have the (time|skill)" usually means "I don't want to invest the time".

    In addition, making a WM in libX11 is surprisingly easy, almost trivial. With Wayland: not so much. Maybe the protocol is simpler for some meaning of "simpler", but actually doing stuff with it is often more complex, certainly if you want to write a WM (or compositor in Wayland-speak). I managed to write my own X11 WM without any real experience doing this sort of thing that has served me quite well for the last ten years. I also tried duplicating that in Wayland because I've been told that's the future, but I found that a lot harder to the point where I kind of just gave up. While I'm sure I could figure it out given enough time, I also don't really want to as I have other stuff to do, and also have a perfectly working X11 WM already.

    • csande17 2 days ago

      Realistically, the future for small/custom window managers on Wayland is probably to write them as plugins for GNOME or KWin or Hyprland or something. That's kind of the closest equivalent we have to the X world where you could listen for events and move windows around on the screen, and the X server would handle everything else.

  • AceJohnny2 3 days ago

    desk? Like for someone for whom its their full-time occupation/job?

    Remember that many open-source contributors do it on their free time, with whatever energy they have left after their job.

  • pjmlp 2 days ago

    Which is why game development has the work conditions that it happens to have across too many studios.

    Plenty of 22 year old and younger kids willing to grind for the lottery possibility to actually be part of the team.

  • whatevaa 2 days ago

    Do you want to port this window manager to wayland, nana? I'll expext a hell yeah.

  • immibis 2 days ago

    While an X11 window manager just manages windows, a Wayland "window manager" has to also do everything an X11 server does (including X11). It doesn't just manage windows.

    There are display-server-as-a-library libraries you can link with, so that you can focus on writing the window management code you actually wanted to write, but you're still responsible for everything you link with, so it's far from trivial.

    Also, xmonad re-execs itself to reload its configuration. Good luck with that when it's also your display server...

jmclnx 3 days 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.

  • GuestFAUniverse 3 days 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.

    • kelvinjps 3 days 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

  • hakfoo 3 days ago

    As a FVWM daily driver, it's amazing to see it's has gone from "it's the niftier-than-twm baseline that's installed by default in your 2.0-kernel Slackware or RedHat distro, but you'll probably install something trendy like AfterStep/WindowMaker/Enlightenment" to "It Has Powers That Cannot Be Recreated In The New Magic."

    For me, the winning feature is FvwmButtons. Long before we had system trays and notification busses, if you wanted to put a media player, a clock, some stat counters, or a full-blown xterm, in a little desktop dock, you just captured a regular window. You didn't have to invent an entirely new category of "software designed to live as an icon inside someone else's ecosystem." I'm not aware of any compositor that offers anything like it-- it seems like the best we get now are ugly bars with a limited vocabulary of "we can integrate over some signaling bus with these three specific programmes and that's it".

    I'll also lament the loss of bold, opinionated design. "Modern" compositors are either minimal to the point of nothingness, or insipid and generic. They don't look like the awesome UIs you'd see in old hacker movies, or the classic systems that were backed by 500 page HCI standards guides, they just look like the sort of UI you'd use in an textbook where you wanted to imply a GUI without anything specifically branded.

  • cosmic_cheese 3 days 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.

  • krmboya 3 days ago

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

    There's hope due to the recent x11 fork, xlibre. They intend to keep x11 support ongoing

    • tristan957 2 days ago

      Application toolkits will eventually drop support for X11. GTK will remove it in GTK5. Not sure what Qt's plans are, but I'd have to think X11 support is long for this world there as well.

      • immibis 2 days ago

        GNOME is an outlier and not indicative of general trends. They pretty much do what they want, as a silo, ignoring the larger ecosystem. They want you to use their software stack all the way through.

    • immibis 2 days ago

      It's a shame about all the political bullshit they injected into the project, which already resulted in it being removed from several package repositories. I hope someone makes another fork in the vein of xlibre, but without political bullshit.

  • BoredPositron 3 days 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...

    • jmclnx 3 days ago

      Even still, they are very hard to work with when compared to X11.

      Fvwm people are very smart and have been developing fvwm for longer than Linux have been around. From what I understand and have read, bring fvwm or creating a fvwm clone on Wayland is near impossible. Far too much work.

      So we will really end up with "pigs" like Gnome3, KDE or a slew of tiling environments. None of the cool WMs like Windowmaker, fvwm, dluxbox, twm, ctwm, vtwm ....

  • charcircuit 3 days 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.

    • chongli 3 days 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!

      • charcircuit 3 days 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.

        • chongli 3 days ago

          What I don’t get is why they pushed the compositor onto WM developers in the first place. Compositing seems like way too low level of a task for a window manager to be concerned with.

        • hollerith 3 days ago

          Do you mean default compositor?

          • c-hendricks 3 days ago

            I think they meant like a reference implementation, wlroots came a decade into Wayland

          • charcircuit 3 days ago

            I mean they should have made Weston production grade and extensible so that others can integrate with it instead of remaking their own compositors.

    • scythe 3 days 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/

      • charcircuit 3 days 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.

    • Ferret7446 3 days ago

      Nothing stopped the adopters from waiting until that existed before pushing Wayland into their software and breaking many people's workflow either, yet here we are

  • preisschild 3 days ago

    There are libraries like wlroots (C) and Smithay (Rust) to be able to more easily create your own wayland compositor

    • ux266478 3 days 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.

    • yjftsjthsd-h 3 days ago

      The libraries help, but it's still a bigger job than a window manager was

    • cratermoon 3 days ago

      Are you suggesting every application should implement its own compositor?

      • zeendo 3 days ago

        This style of engagement is so off-putting.

        • cratermoon 3 days ago

          Help me out then. What value, to a window manager developer, is there in making it easier to create your own wayland compositor?

      • immibis 2 days ago

        They're suggesting that every Wayland window manager has to implement its own compositor. Because that is how Wayland works. There are no window managers, only compositors, and if you want custom window management, you write your own compositor.

        • cratermoon 2 days ago

          And what value to window manager developers get from being able to implement its own compositor?

  • ElectricalUnion 3 days 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?

  • jamespo 2 days ago

    But we also have wonderful new ones like niri

  • NooneAtAll3 3 days ago

    aka Wayland will never end up replacing X

phs2501 3 days ago

Does anyone know of a Wayland WM/compositor that does multi-screen like XMonad? Preferably out of the box but I'll take configurable.

For those unaware, though I doubt you're reading this thread if so, I want n desktops that are shared between all screens, not desktops _assigned_ to particular screens. If I summon a desktop on screen 1 and it's currently displayed on screen 2, they should swap.

Ideally also does layouts kind of like xmonad too, not "here's a tiling tree structure and a bunch of commands to manually manage it".

  • jolmg 3 days ago

    > If I summon a desktop on screen 1 and it's currently displayed on screen 2, they should swap.

    At least i3's (and I imagine sway's) config is sufficiently flexible for that. Here's a shell function that brings the workspace you specify to your current output:

      i3_bring_workspace_to_focused_output() {
        local workspace="$1"
        i3 "
          workspace $workspace 
          move workspace to output $(
            i3-msg -t get_workspaces |
            jq -r '.[]|select(.focused).output'
          )
        "
      }
    
    You can turn that into an executable and have it be called through a keybinding.
  • immibis 2 days ago

    > If I summon a desktop on screen 1 and it's currently displayed on screen 2, they should swap.

    This is due to a limitation of X11 where a window can't be in two places at once. In theory, Wayland compositors can duplicate the desktop (at the cost of, like, not letting applications know their own window coordinates which seems pretty bad).

    • phs2501 a day ago

      That's... fine, and a cool trick I guess, but I don't actually want that behavior.

    • gizmo686 2 days ago

      > at the cost of, like, not letting applications know their own window coordinates which seems pretty bad

      I'm pretty sure Wayland applications already don't know their coordinates.

  • rlpb 2 days ago

    Sway can more or less do it, and I've switched from XMonad to Sway but configured similar to XMonad's default method of operation.

    I haven't managed to get it quite right though. For example Sway doesn't seem to be willing to move a workspace to a different monitor if it is empty.

    • thraxil 2 days ago

      Yeah, I switched from XMonad (which I used for over a decade) to Sway a few years back. Spent some time trying to duplicate the XMonad behaviour but eventually just realized that spending a few hours getting used to the Sway approach and slightly changing my workflow was a lot easier.

neilv 3 days ago

I'm surprised that the Xmonad project is/was willing to pay someone. Does anyone know whether there was a single benefactor, or where the money was coming from, and why?

(Incidentally, I love the way that my Xmonad setup works, even though I don't know Haskell. I tried using an i3wm setup at work for maybe a year, but every evening coming back to Xmonad on my personal laptop felt like a boost of agility. I guess, if I were wealthy and wanted to move to Wayland, I would seriously consider either doing the work myself or paying someone to.)

  • Liskni_si 2 days ago

    GitHub Sponsors is where most of the money came from.

schuyler2d 3 days 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/

  • cxa 3 days ago

    I have Xmonad running well on Ubuntu 24 with Gnome Flashback

    The packages I install are: xmonad libghc-xmonad-extras-dev gnome-flashback gnome-panel

    (plus suckless-tools and xmobar)

    That should give you a login option for "GNOME Flashback (Xmonad)"

    I recall there were a couple of hacks necessary to show the Gnome Panel:

    gsettings set org.gnome.gnome-flashback root-background true

    gsettings set org.gnome.gnome-flashback desktop false

    and then the panels you can hide or remove per your preference

  • mdf 3 days ago

    Could you elaborate?

    I'm a long-time Xmonad user. Currently, I'm using Ubuntu 25.04, having upgraded to new non-LTS releases every six months, on two computers running Xmonad. I haven't run into any problems.

  • neilv 3 days ago

    If you're not committed to Ubuntu, Xmonad still works great with X11 in the latest Debian Stable.

colordrops 3 days 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.

zem 3 days ago

I tried a few tiling WMs over the years, but xmonad was the only one that seemed to take desktop environment support seriously. thankfully by the time the wayland switch broke xmonad I had cosmic available to move to.

  • prmoustache 3 days ago

    "the wayland switch broke xmonad"

    That doesn't mean anything. xmonad is not broken afaik, still in use everywhere and wayland, which is just a protocol, has no power over it.

    • zem 3 days ago

      i would have thought it was pretty understandable shorthand for "once i switched to wayland my personal xmonad setup stopped working". wasn't accusing xmonad of being broken!

      • prmoustache 2 days ago

        It is like saying that kde or gnome is broken since you switched to MacOs.

sohrob 3 days ago

I know the gentleman who runs the Distrotube channel on YouTube is/was an Xmonad user and it would be great if he made the call for help on his show to reach a wider audience.

fooker 3 days ago

Why not run a virtual x session and run Xmonad inside it?

Wouldn't be lightweight or ..say.. easily GPU accelerated, but should work with some plumbing effort.

  • mappu 3 days ago

    Wayback is a new Wayland compositor that implements the X11 window manager API on top of a single rootful XWayland session: https://www.phoronix.com/news/Wayback-X11-Wayland . XMonad should run fine inside it.

    This gives you the advantage of Wayland's modern display stack and no legacy Xorg code while still running a classic X11 window manager.

    The main downside is you have to run all X11-compatible apps, it's unable to manage any Wayland-native applications. But, X11 apps aren't going away any time soon, just the display server.

    • Liskni_si 2 days ago

      > no legacy Xorg code

      This is not accurate. It runs quite a lot of legacy Xorg code actually, just without the input and video drivers.

    • bsder 3 days ago

      The Wayback stuff is super cool. How has it not hit the front page?

      I see the previous submissions, but there's just crickets in the comments.