8 ms·
I wonder what will happen to XMonad as the Wayland future actually seems to be approaching. I suppose nothing yet. But, I was an i3wm user, and now it’s hard t
by jchw 5y ago
I wonder what will happen to XMonad as the Wayland future actually seems to be approaching. I suppose nothing yet.
But, I was an i3wm user, and now it’s hard to imagine going back to X11. I run SwayWM on NixOS and using Linux any other way feels archaic now. Yes, I do genuinely understand how that seems absolutely ridiculous, but honestly, it does. Other than the occasional stability issue or bug, it really feels like the future is arriving: smooth rendering, predictable latency, hardly an imperfect frame, heterogeneous DPI with no effort, no need to string along GNOME or KDE services to configure input devices or manage displays, yet to experience any problems with sleep/resume, and with NixOS, a simple, centrally managed configuration for my whole OS (including Sway) and any patches, git-versioned. It isn’t perfect, but it is almost as good as promised. I just recently setup a new desktop by grabbing a recent NixOS USB stick, formatting the drives, git cloning my configs, and running the installer, and one reboot later I was in my environment with Sway, all of my applications, my configuration…
I’ve tried versioning my dotfiles before, but this seemed to both be more tedious and still not really accomplish what I wanted. My desktops and laptops are single user, so I can just use NixOS to manage system-wide configs instead and get 99% of what I actually wanted.
I’ve digressed a bit into stuff very unrelated to WMs, but the software around your WM is important when dealing with tiling WMs. Nobody wants a bespoke pile of complex configurations that could break on an upgrade without warning, and that has never been more important than with minimal WMs.
- exdsq 5y agoWhich laptop do you use for NixOS?
- jchw 5y agoI am currently running NixOS on my desktop primarily, which is just off-the-shelf AMD CPU/GPU parts. X570, 5950X, RX590. I picked AMD (repeatedly) because it offers excellent performance grunt and good open source drivers. I do have a laptop running NixOS, but it is just a Thinkpad T60p from a few years back. It works OK, but I can’t say I strongly recommend this. I was at least able to get Intel’s cool GPU virtualization technology working under NixOS, but the iGPU in that laptop makes me wonder why one would do that.
- pimeys 5y agoI kind of have a thing for ThinkPads, and I have three laptops with NixOS: - ThinkPad X1 Carbon 2018 model. Even the fingerprint reader works with this one. And fractional scaling for the 4k monitor! Config: https://github.com/pimeys/nixos/blob/main/hosts/purrpurr.nix https://github.com/pimeys/nixos/blob/main/hosts/purrpurr.nix - ThinkPad T25. Everything except the fingerprint reader works. https://github.com/pimeys/nixos/blob/main/hosts/muspus.nix https://github.com/pimeys/nixos/blob/main/hosts/muspus.nix - ThinkPad X230: Everything works here. The classic workhorse. https://github.com/pimeys/nixos/blob/main/hosts/meowmeow.nix https://github.com/pimeys/nixos/blob/main/hosts/meowmeow.nix I never tried anything else except ThinkPads just because I'd miss the TrackPoint a lot...
- collegeburner 5y ago> heterogeneous dpi Love to hear more about this, DPI is one of the big problems I continue having on xorg. 4k screen makes this hard. How is the story on backwards compatability with xorg? Do stuff like zoom screenshare work?
- rofrol 5y ago>Zoom-in-the-browser (surprisingly) supports screen sharing on Wayland/Sway. https://news.ycombinator.com/item?id=28798050 https://news.ycombinator.com/item?id=28798050
- kmarc 5y agoThis captures my feelings perfectly. To sit down in front of a macOS or windows 10 feels last century compared to swaywm
- pkulak 5y agoIf I ever have to take a job that doesn't let me install Sway, I'm in trouble. Having windows haphazardly piled on top of each other makes me very anxious and stressed out. It did before I switched, and is why I switched, but now I've had a taste. I know how pleasant window management can be.
- nix23 5y agoTo be honest, i really really get angry having to shuffle around window's having windows overlapping another etc, having to work more then one hour on a "non tilling desktop" starts the "what where they thinking!!"-though replay in my head.
- probotect0r 5y agoYabai, a tiling wm for MacOS, is very good. I too was forced to use a Mac for my job and Yabai met my tiling needs as well as anything could have. Try it out next time you have to use a Mac!
- dijit 5y agoCaveat Emptor: it feels _insanely_ slow. I have a sway/linux laptop from 2017 and a 2020 intel macbook pro. The hardware in the mac is nearly double the real world performance but the way the windows move with yabai feels incredibly slow and janky. And the hotkeys are a pain in the arse compared to sway, I resorted to skhd and karabiner elements working cooperatively. Notes: yabai needs a scripting addition, and new versions of it seem to need you to manually reload it. skhd and yabai both need "accessability" access in settings, new versions seem to need to be re-added (and the old entry that you approved before gets a "No icon" icon which makes it feel jank and confusing, like, you think you enabled accessibility but it complains) yabai also needs you to disable system integrity protections. And added to that: most macOS windows can't be resized, so they fall off the screen or leave half a screen empty. Honestly it was not a pleasant experience and was one of the main reasons I went back to linux, despite the subpar software support of things like zoom (which doesn't allow screensharing on wayland)
- yoyohello13 5y agoThere has been a lot of effort around building tiling compositors for wayland. With wlroots, it’s getting a lot easier. I believe waymonad is trying to bring xmonad to wayland but the project is going pretty slow last time I checked. But I share your sentiments. The last year has been awesome as a Linux user. Wayland, pipewire, proton are all so awesome, I really get excited thinking about what we’ll get in the future.
- nyanpasu64 5y agoAs a user of traditional KWin-style desktops, I think Wayland has a lot of tiling compositors (sway being mature-ish, though far more unstable for me than others in my testing months ago), but not enough KWin/Windows 7-style compositors with XFCE-level snappiness and performance (KWin is slow everywhere and buggy as hell on Nvidia), and Windows 7/KDE style Aero Snap. I'm rooting for Wayfire to work well (at which point I may write a set of window management plugins), but it doesn't work well on Nvidia (I'm waiting for them to support GBM).
- Liskni_si 5y agowaymonad has a somewhat more active fork here: https://github.com/L-as/waymonad https://github.com/L-as/waymonad, but it's still just a one-man show that got picked up at ZuriHac 2021 and then failed to gather sufficient momentum. As a maintainer of xmonad upstream, I'm watching the waymonad project to see where it goes, but I have some concerns about its architecture which I'd love to see addressed before we'd officially endorse people to try switching. This is a copy of a message I sent to fellow xmonad developers a couple months ago: > We should certainly take a look sooner or later. From a quick glance, I have some concerns about the general design of it: > It's a compositor and window-manager in one. This is typical for Wayland, but there are lots of disadvantages: > * Restarting the WM is just like restarting X: session over. Unacceptable for xmonad/waymonad, as we don't reload config, we recompile and restart. Someone is apparently working on making Wayland compositors restartable, in general: https://indico.freedesktop.org/event/1/contributions/20/ https://indico.freedesktop.org/event/1/contributions/20/, though. > * Another consequence of the WM and compositor being one is that they share memory leaks and GC pauses and signal handlers and whatnot. As much as I love Haskell, I'd prefer frames from an FPS shooter to be presented on screen by something else. Oh and did I mention the compositor/WM also handles input, making any GC pauses doubly painful? > * Aside from operational issues, this also means all of that needs to be implemented. There's https://github.com/swaywm/wlroots/ https://github.com/swaywm/wlroots/ (used by waymonad), a library that supposedly lets individual Wayland compositors implement less code, but it doesn't seem to be nowhere near what X gives us: we take care of window management and all the input/output handling is taken care of by other tools with their own configuration and tools. It simply doesn't seem to work that way in the Wayland world. There are other options like implementing a shell plugin for Weston, or possibly other libraries, I don't really understand the landscape. > I may be wrong on some of these, as I didn't actually try to compile and run the thing. > Anyway, I am convinced it'd be best if the compositor and WM were separate processes, ideally maintained by separate teams. You know, that old “do one thing and do it well” philosophy. And I have no idea how difficult would it be to make things work this way. If someone were to work on this, discovering the answer to this question would be one the first things to do. I should probably clarify the wlroots handling IO thing: what I meant is that with Xorg, there are command-line tools like setxkbmap, xinput, xset, xmodmap, xcape, xrandr, autorandr and possibly others that a user can use to interact with the X server and tweak stuff, and from what I understand these don't have equivalents in the Wayland world that would work across WMs/compositors. I could be wrong, though, perhaps wlroots does have a standard protocol for such things and such tools already exist?
- yjftsjthsd-h 5y ago> no need to string along GNOME or KDE services to configure input devices or manage displays I thought wayland specifically made input/output configuration completely the DE's problem?
- jchw 5y agoYes, and Sway as a compositor does manage inputs and outputs. It does a pretty good job for me.
- jpe90 5y agoI can see the utility of using Nix for managing dependencies of software you're developing, because that can be horrific to deal with and Nix makes it fairly elegant to do, depending on what ecosystems it's being used with. Using NixOS to manage your whole system, on the other hand, I don't think I'll ever get behind. Maintaining reproducible builds of my system, while being nice to have, doesn't really solve any problem that I actually have. On the other hand, it introduced a myriad of problems that plagued me on a regular basis before I switched away from it. The first problem I had was that it added steps to a number of tasks I had on a regular basis. For example, updating or adding new extensions to VS code. Because NixOS is immutable, you don't get to benefit from just running a single update or install command within VS code like you would on a normal system. It becomes an annoying series of steps you have to carry out for each operation, all in the name of being convenient to hypothetically down the line. Multiply this by all the tools you use and it gets tiresome. The other issue is that you raise the barrier of entry for every new piece of technology you want to experiment with. Now, in addition to learning how to use any tooling involved with the ecosystem, you have to figure out how to get it to play nicely with Nix. This works very well for some ecosystems, like Haskell, and not well at all for others. I was just getting started with Android development at the time, and just when I thought I had it working nicely with Nix, I would run into a new problem that would need investigation and band-aids. I wish NixOS was more convenient to use than it was in my experience, because it's nice when it works well. But in my case it created more problems than it solved.
- jchw 5y agoI just use VSCode largely like you normally would, with the augmentation that I start it from a nix-shell invocation. It’s not perfectly immutable, but I’m here to do work, not to perfect ideals. I can understand why some wouldn’t like this, it’s definitely not ideal. I think it’s not too bad though, at least for my workflow. I don’t have issues with my configuration breaking. My NixOS configuration hasn’t broken due to updates in months. I will say that some stuff is not easily encapsulated in Nix. Of course, you could always use virtual machines or Docker as an escape hatch. I’ve found this to be a fairly good solution in the somewhat rare event I need it. My biggest problem with NixOS is the complexity. Nixpkgs is maintenance hell, and the Nix filesystem is so different from standard UNIX-likes that a lot of software plays kinda weirdly with it. The real game changer is definitely the reproducibility though. At first, it seems useful for software development, but trust me, if you get deep enough in it is way more important for system management. If an upgrade does break, being able to rollback at boot is nice. But what is much nicer is simply the feeling of safety I have going in extreme tangents. I can try setting up Pipewire as my system audio daemon, and if I don’t like it, I can revert it like nothing ever happened. If I run into a bug that has a reasonably good patch stuck in code review hell, I can pull it into my local setup with overlays, replaceDependency and fetchpatch. Setting up IOMMU PCI-e forwarding to a VM is pretty hard, and it sucks that the configuration is basically stored in no specific place, not to mention having to memorize everything you touched to get there; on NixOS, this relatively arduous task was reduced down to about 30 lines of Nix combined with finding some IDs for my secondary GPU. Everyone knows that Linux has some serious super powers if you can exploit them; it is truly crazy what Linux is really capable of. With NixOS, I feel like I’ve gotten a lot better at utilizing the super powers Linux has to offer. I just can’t go back to Debian or Arch after this, I’ve tried. Maybe NixOS isn’t the final answer, but I’ll be damned if it’s not a preview of the future.
- MuffinFlavored 5y ago> I run SwayWM on NixOS and using Linux any other way feels archaic now. I just use Mac OS X and don't spend hours configuring my machine / talking about it... lol
- pkulak 5y agoLast time I installed MacOS, I couldn't even ls in a terminal without digging through settings and permissions (I accidentally hit cancel on the pop-up). It used to take me days to beat a new MacOS install into submission, let alone hours.
- wahern 5y ago> I accidentally hit cancel on the pop-up Modal dialogue strikes again?
- jchw 5y agoI can’t stand macOS no matter how much I try. It feels like that GIF of Sideshow Bob stepping on rakes but in UX form. I have genuinely tried, since Mac OS X 10.4 to be exact, every few years, and I do actually still use macOS, but it would be impossible to use it as my daily driver. Anyways, you didn’t qualify “hours” as being relative to any other timeframe, so I’m not sure if you literally mean you’ve spent less than one hour configuring your machine and/or discussing its configuration. However, you seem to wear it as almost a badge of pride, and I even sense some condescension, and I find that pretty silly. That’s like being proud of not learning another language. If you wanted to argue my time investment was worthless, you would have to know it gained me nothing versus just using macOS. However, given that I decide what’s worth my time, this is honestly pointless. I actually enjoy trying to improve my setup, especially in ways that makes my life easier. It’s easy to see a bunch of Linux nerds talking about text editors or WMs and conclude it’s a waste of time, but I disagree. It’s only a waste of time if you have no interest in exploring it. As for the tangible benefits, I may very well have more macOS experience than you do Linux experience, so from what standpoint are you qualified to even judge that, even that angle were truly relevant? Even if I loved the macOS interface, I sure as shit don’t love Apple. How much would I have to pay to get performance equivalent to my 5950X on macOS? Is there even such a thing? I could use Linux/KVM to make an AMD Hackintosh setup, but I better be careful to spend under 60 minutes on configuring it lest I sacrifice my benefits.
- pabs3 5y agoThere is Waymonad: https://github.com/waymonad/waymonad https://github.com/waymonad/waymonad
- badsectoracula 5y ago> I wonder what will happen to XMonad as the Wayland future actually seems to be approaching. I suppose nothing yet. Nothing, it isn't like Xorg will stop working and a lot of the infrastructure between current X11 and Wayland servers is shared anyway. The standalone Xorg server may or may not get an official update from its original maintainers but there are enough users out there that if something breaks or doesn't work and someone implements it, it'll be picked up by others. It isn't like X11 is tied to the current most popular X server, if enough people feel like it it will be forked - Xorg itself is a fork of a fork (XFree86) of a fork (X386) after all.
- bugBunny 5y agoAgreed on Wayland future. Just out of the curiosity, which hardware you choose for your linux daily macine?
- Liskni_si 5y agoHi, xmonad maintainer here. "nothing yet" is probably fairly accurate, although perhaps a bit too pessimistic. :-) A slightly longer answer is in a bullet point on our fundraising page (https://github.com/sponsors/xmonad https://github.com/sponsors/xmonad): > Wayland: It's becoming increasingly clear that the days of X11 are over and some Linux distros are already switching to Wayland. We're committed to keeping xmonad on X11 stable and alive as long as necessary, but if time allows, we should explore the Wayland ecosystem and figure out what it means for xmonad. Do we go all in on waymonad? Shall we try to keep xmonad a pluggable window-management component for another Wayland compositor? Honestly, we don't know yet. This one is a bit of a stretch goal: we might need more than one person full-time to actually make this happen. Elsewhere in this thread, I wrote about some concerns I have about waymonad and xmonad on Wayland in general: https://news.ycombinator.com/item?id=28796909 https://news.ycombinator.com/item?id=28796909 The gist of it is that I'd like to keep the compositor and WM separate, because a) xmonad is reconfigured by compiling/restarting, b) I don't think the Haskell runtime is good for handling input and presenting frames, c) I don't want to maintain a compositor :-).
- deleted 5y ago[deleted]
- alpaca128 5y agoMaybe it's just the current Pop_OS version messing up something, but I've got huge issues now on Wayland. Windows occasionally only get redrawn while I move the mouse, which is super annoying while typing some text. Browser windows I don't use for a minute regularly become just grey squares with tab bars. I only use one screen, so I'm pretty sure I'll switch back to something Xorg-based sooner or later. It's not perfect but at least it always remembers to redraw windows.
- kaba0 5y agoThat doesn’t sound specific to Wayland itself, more like a Pop OS implementation/config bug.
- AzzieElbab 5y agoTo the best of my knowledge PopOs custom UI components were written for x11
- rawoke083600 5y agoI am running a pretty std i3 config. Just tried Sway, but unfortunate I get the black screen of death it seems :/
- esjeon 5y agoYou sound like a ball of buzzwords. First, it's not that Wayland is bad, but it's simply not there yet. It still needs more time and effort. Nothing is wrong with this. What's wrong is trying to shove that thing into people's throat. Second, NixOS is overrated for desktops. It's good for reproducing specific environment, but, unlike servers and dev envs, in desktop environments, changes are made from both software and user side frequently and sometime radically. ROI is significantly lower, and NixOS still can't save you from long-term breakage. What I can say is that you're just riding on hypes, and never looked into the true abyss. If you're into rock solid systems, nothing can beat full-time suckless. Ditch those "modern" stuffs like systemd and smart DEs, and you get perfectly predictable system. Do that on Debian, an you have nothing to babysit at all.