Having used dwm-like tiling window managers for most of the time, I don't really care for the scrolling or dynamic workspace aspects of niri at all - in fact, I kinda dislike them (or haven't gotten used to them, at least). To me, it kills the point of a keyboard-centric desktop environment - which is the speed and lack of friction in making the window you want appear in front of your eyes.
Despite that, I still really like it. Mostly because I have so much more faith in its development. The documentation is excellent. The configuration file is sane, and not as arcane and ad hoc as the hyprland.conf format. The source repository looks well-maintained. Being written in Rust rather than C++ means onboarding new developers is easier. The discourse is more measured, owing to the lack of a somewhat stubborn lead maintainer in the case of Hyprland.
The surrounding ecosystem seems to be flourishing as well, with projects like Noctalia Shell, DankMaterialShell, and niri-flake natively supporting niri.
And perhaps most importantly, the out-of-the box experience is really nice. You have proper monocle and tabbed layouts without any compromises - features Hyprland has still not developed, where they are only possible with scuffed C++ plugins, or where its BDFL has stated they will never be introduced. Most features one would expect from a WM are already there and well-documented, which can't be said about Hyprland.
Super impressed by the "out of the box" experience given that it took a ton of sweat and tears to get these types of setups 10+ years ago when I posting stupid screenshots of my awesomewm and bspwm configs to /r/unixporn.
I wasn't so sure about the scrolling wm thing but I'm enjoying not having to worry about switching layouts constantly to "make room" like I always have in traditional tiling wms. Dynamic virtual desktops has taken some getting used to since I was a long-term adherent of the "10 static virtual desktops" way of thinking, but again it's been a good experience to just get used to the idea that each virtual desktop isn't as limited as it is in other WMs since you can have some content off screen.
I think an underrated aspect of Niri is that it's a cousin to System76's cosmic desktop: they share a base compositor through https://github.com/Smithay/smithay/. I think a big part of why Niri has been able to pull off such a polished experience has a lot to do with smart design from folks working on Smithay.
If you like this, check out stacked tiling. It comes natively in COSMIC and I believe it can be configured in i3, Sway and Hyprland as well. It's basically tabs across windows, but thanks to tiling you have different regions of the screen with their own tab sets. I usually just split the screen vertically once, so I have a left and right region. Turns out so many workflows can be described as 'ingest information somewhere and apply it somewhere else', and this is just such a useful layout for this. Whenever I have something that requires sole attention, I just maximize that window.
There are many other implementations of this paradigm if niri doesn't feel/work right to you.
- PaperWM (for Gnome; the original)
- mangowc (dwm rewrite but has a scrolling mode)
- scroll (fork of sway)
- papersway (based on sway)
- hyperscrolling (hyprland plugin)
- karousel (for KDE)
- PaperWM.spoon (for macOS)
- komorebi (for Windows)
- chat: teams / discord - work: assisting workspace for Main screen - git : sourcegit - terminal: for general terminal stuff - claudecode - work related browsing - personal browsing
All workspaces are accessible their own hotkey, so I can work on something on the main, and instantly switch to a specific application. I had the exact setup with KDE, but I had to do some trickery to get this working with Virtual Desktops Only on Primary Display https://store.kde.org/p/2143363. Niri enables to have the same setup, + display independent workspace setup which I really wanted. The same feature was requested 20! years ago in KDE, and we still don't have it. This kinda shows the power of independent projects like Hyprland and Niri.
As far as I know, no other WM is like this. I'm loving the unparalleled flexibility and freedom, although I would like to try out some Wayland options at some point.
That said, I've gone full circle and just use a regular ol' floating style for now. This is because if the realisation that my workflow is to open a browser, a terminal, and then just use tabs within them.
I always want to know other people's workflows! I'm sure for some people who need/want lots of windiwd open, scrolling and tiling WMs provide massive utility.
I really like them, but I don't think I can honestly claim they help my oroductivityat all (I might still pretend this is true now and again though)
The only thing he said:
> It was the best of both worlds—easy to navigate, while remaining mousable.
Is not really convincing as Cosmic desktop for example is tiling while remaining mousable.
I have been vaguely aware of PaperWM and Niri but never saw the appeal productivity-wise.
But with 2+ screens available I'd think at least for me the usefulness would diminish, even if you'd have per monitor scrolling
With Sway, I'm constantly having to find a place to open a new window (tuck it into the current workspace or create Yet Another One). Or I'd slot it into some tabbed group and forget.
With Niri, I hate to admit it, but even after a month I would get lost. I would lose track of where things were not just between workspaces, but even on the same workspace: was that one claude terminal I'm looking for scrolled off to the right or left?
I ended up writing my own Fuzzel tools so that I could do the macOS thing where I alt-tab to apps and then alt-tilde between apps of the same kind.
But in the end I couldn't make it more productive than my macOS workflow with a global hotkey iTerm2 window with 10 tabs and then just alt-tabbing + alt-tilde between apps.
Sorry to interrupt you, but:
1. X Windows has the notion of virtual screen which was bigger than the real one allowing you to have a virtual bigger screen.
2. Fvwm has virtual desktops which can be either fixed or you can scroll between them.
I think the current problem with most desktop environments is the inability of those who develop them to imagine a different desktop. Let's just take how I arrived at EXWM. I was orphaned from OpenSolaris, moved to Ubuntu because coming from FreeBSD first and OpenSolaris (SXDE, CE and then OpenIndiana), GNU/Linux wasn't much by comparison, more development, better hw support, but a fragile and archaic system in too many aspects, archaic even in the mindset of many top developers, I think of Andrew Morton's infamous "rampant layer violation" talking about zfs. To the ridiculous development of BTRFS as a response and Stratis instead of perhaps looking at DragonFly BSD's Hammer as a possible response, after having had and thrown away filesystems like Nilfs2 or never really developed for user use filesystems like F2FS. Today, the love for containers useful only for commercial purposes rather than for declarative distros like NixOS or Guix System. Well, to make a long story short, at the time I chose Ubuntu with the Unity desktop, simply because I had other things to do than play around managing my desktop like in university days and Unity was fine, it was discreet, a thin bar at the top, a disappearing launcher on the side, a dash "search&narrow" style, the HUD wasn't bad for menus etc. Gnome SHell practically copied it while brilliantly managing to LOSE the only truly useful aspect of Unity: being there to serve the user discreetly. Where Unity was discreet, Gnome SHell is a secondary narcissist, trying to put itself at the center and minimizing the importance of the single window. KDE went off on a tangent from KDE4 onwards, becoming substantial bloatware. Simply put, there is no longer a desktop for the modern era because there is no understanding of what a desktop should be.
This must be a single application, fully moldable by the user, completely integrated. Emacs is that, the old Xerox workstations were that, the LispMs were that. We don't need containers that continue to sell packaged ignorance, resource waste, vulnerabilities. We don't need invasive and narcissistic GUIs. We need integration because we have a single mind with which we have fun, work, spend time, the same mind. So our computer exobrain must be one and not made in compartments or produced in competition with other products.
I want to link in my notes relevant emails, relevant RSS-fetched posts, relevant files, all without particular friction, because they have in common being information, generally textual. I want it to be copy-pasteable as needed. I want to be able to compose my UI in text with this becoming an active element where I want it. This is a desktop.
Not rigidity, limited and limiting narcissistic minimalism, not features visible to those who don't want them or absent for those who seek them. The desktop must be a PIM, a personal ERP, free and flexible like Emacs or simply be a relic of the past that won't be transformed from a relic into something modern by adding some graphical sugar. So my system must be declarative, not manually managed "containers" with holes punched everywhere to makes them usable.