Niri is so good. I've switched to using it about 5 months ago and it was legit the best computing decision I can remember making in recent history to move away from Windows.
I have a huge amount of gratitude towards the author of niri.
My dotfiles have always included an install script for setting everything up around command line tools, theme switching and more but it fully supports niri now too on Arch based distros https://github.com/nickjj/dotfiles in case anyone is shopping around for a new desktop environment and wants to get going quickly. I run it on both my main desktop and a travel laptop.
Same². I started to regret having an ultrawide, until I discovered that it was made for Niri. I never loved my screen and linux as much as I do since Niri.
Yeah it is a dream on ultrawides. I was able to get a decent custom config with Qtile, but Niri is so much more natural. Being able to hit mod+c and center the current window is just so perfect on the ultrawide.
Omarchy introduced a per-workspace toggle to scrollable mode like this. Press Win/Cmd + L and it switches from tiling to scrolling and back. I use it all the time now.
Niri introduced scroll-based window management to me and it instantly clicked. I'm very happy to see a full-on Niri per-workspace emulation mode in OmniWM[1] for the Mac, recently and thankfully made compatible with Sequoia. It immediately became my main window manager.
I used window managers for years, but the hurdle of actually configuring stuff not-related to the WM itself (like setting up dark mode) made me switch to a full-fledged desktop environment. Thanks for mentioning Noctalia - it looks like exactly what I needed!
I’ve gotten so used to the tiling WM workflow of quick-switching between a bunch of different dedicated fullscreen workspaces and managing windows with pure keyboard. Each workspace typically has a single app, or terminal with tmux, but occasionally I’ll split two apps side by side.
Would love to hear the perspective of anyone who switched from a similar workflow to Niri. How does the mental model shift?
I've always (KDE, GNOME, niri) used a workspace per activity/project. I have a workspace with Steam open and a game wiki I was consulting earlier, another workspace with Emacs and browser with documentation, a third workspace with Godot and some gamedev apps open. The beauty of niri is that I never feel I need to close some apps because I've got "too many windows"; it's quite easy to compartmentalize
I never understood the point of per-app workspaces. I hate having, for example, a single Firefox instance open with everything mixed in, from work to leisure.
I was a tiling user for quite a while.similar setup to you (used awesome then qtile, short stind with xmonad and ended up with i3 and then switching to Wayland with sway, but tried hyprland for a bit as well). One thing I always ran into was that I generally found that more than three windows are horizontally just doesn't work and vertical splits very often make windows to small either. On the other hand I would often find that I wanted a new window next to something I was reading or working on, or e.g. I'd have some terminals open and wanting to plot from ipython. That always caused quite a bit of friction, i.e. I'd have to either collect some windows into a stacked layout before opening the new window. Or moving some of the windows is want side by side to a new workspace.
That for me meant I had to think about what I was doing when window managing, taking my focus away from my actual task.
With niri I just open another window and it's where I need it and all other windows are still to the left and right so I just "scroll" there. Now I'd say my workflow is messier now, but I think that's actually a good thing. Tiling window managers require (but also make it reasonably easy) to be organised. With niri I don't have to be organised. Sometimes it you can't find a window immediately, but you can just use overview (and I also have a window search rofi). Initially I still had some named workspaces similar to my sway tags, mainly because I found I was still switching to them out of habit. Nowadays I don't use them any longer.
My perspective is: Workspaces dedicated to a single app makes no sense for tiling WMs. That workflow is fine on a floating WM.
Where tiling WMs shine is when actually tiling windows. For me it's the holy trinity of Browser, editor and terminal all visible at once, and navigatable spatially via super+hjkl or super+up/down/left/right. So I have one workspace per project which makes a lot more sense to me as an actual workflow for tiling WMs.
Niri just improves on this substantially by allowing new windows to open to the right, instead of messing with the existing layout in the current workspace. For example, if I need to open a pdf or something. I get to keep the holy trinity, but swap over to the new window easily.
I switched from KDE with almost what you mentioned: Workspace 1 had a fullscreen terminal with zellij, Workspace 2 had a browser, workspace 3 had two chat apps open and that was it. Bindings to switch between those.
I switched to niri because it was different and more lightweight than a full plasma setup at first, but now adapted my workflow a bit.
Most of the time, the individual windows I have are screen-sized still, similarly organized: 1 has development, 2 has browser(s) and occasionally my email reader, 3 has my chat apps.
I open new terminal windows more frequently for just firing a few commands or starting some long-running thing that I need to look at from time to time. With KDE, I had these windows in the background, now I have them side-by-side on "1". "Alt-Tab"ing between them in retrospective feels clunky now compared to Super-hjkl'ing through the windows... YMMV of course, but I think my workflow got "lighter" because of that, no more "windows over eachother" but rather "next to eachother" ... gives a feeling of lightness to me.
If you are on a Mac, check out OmniWM, which has a Niri layout, in addition to one that's more like Hyprland. It has made my work on MacOS much more pleasant.
I'm sorry, but they have the worst demo video I have seen in my life. Nobody will want to try their software after watching that video. If you watch it, you will probably want to uninstall it, even if you're already a user.
I use mangowm on the wl-only branch(which is based on wlroots 0.20). It uses a lot less resources, has more layouts and I have fewer problems with it. Although niri seems to have more eye candy. It's definitely worth giving a try. If you want HDR, you have to wait though.
I switched to Niri at the end of last year after over a decade on i3.[1] Having horizontal scroll unbounded by my monitor size and workspace count unbound by the number of shortcut keys I have configured has been very freeing, and the graphical stuff is nice too.
My only remaining pain point is that its X compatibility layer, xwayland-satellite, does not yet support drag and drop between X and Wayland programs.[2]
I'm in a similar boat, but I've found where I once habitually put things in the same workspace every time and was able to trivially recall them, I now end up all over the place.
Also I've been missing scratch deeply.
I'm sure it's solvable with some diligence and config changes, but I haven't invested the time yet.
I’ve been using the PaperWM extension for Gnome (that I believe Niri took inspiration from?), and it’s definitely an interesting way to work. I’m not sure that I love it, I feel like it’s a bit cumbersome when I have more than 3 windows in a single workspace.
But I’m giving it a real shot, and the nice thing about it being a Gnome extension is that the rest of the Gnome DE is right there without a ton of config.
I had wanted to switch to niri for some time, but it was always a massive, several day process to figure out all the accessory config (top bar, idle timeouts, notifications, etc.). Mentioned in another comment that I have since discovered that there are wayland "desktop shells" that provide the majority of the kit and kaboodle you'd expect from gnome or whatever, with minimal or no fussing, including settings dialogs, application trays, resource monitoring, top bars, etc. I'm using dank material shell for this currently, but it's really cool being able to arbitrarily compose the desktop shell and the compositor.
NGL, Claude has made this sort of thing so much easier. It used to take a very long time to get a WM just the way you wanted it, especially if you were using new tools you were unfamiliar with and weren't sure if they'd do what you wanted them to. Now it takes a few hours. There's value to learning to do it by hand...but honestly, when I've got everything set up I don't mess around with it much, and by the time I want to change something I have to relearn it all anyway. My setups aren't super complicated, just refined, so it's all pretty readily comprehensible.
Same, I also enjoy the fact that PaperWM is a mostly non-intrusive Gnome extension. Also apart from generally improving my workflow, it enabled me to remove two or three other extensions I was using (desktop grid and others, I forgot which).
I recently switched to niri after bouncing off it about a year ago, and this time it stuck.
One thing I learned in the process was that the custom wayland desktop world has the concept of a "desktop shell," which provides most or all of the additional components you might want on top of your compositor, rather than having to separately install a top bar, manage suspend/hibernate, figure out notifications, etc. You can of course still do all of that, but you can also just install niri and something like the "dank material shell"[0] and be off to the races. I first discovered this via awesome-niri[1].
The combination of niri and the shell means that the extent of my custom NixOS configuration for the two is entirely limited to keybindings and some custom window rules for zoom.
I'm on hyprland (which also has a scrolling layout). How do you guys navigate between your workspaces? I'm accomodated to super+<num>, which jumps to workspace #<num> with a mostly fixed purpose. If I opened something ad-hoc, I usually know where I placed it. I found it difficult to operate in a setting which more resembles the state of my desk (if it weren't random access).
Exactly as you do.
The thing that's different at first is that workspaces are organized vertically rather than horizontally, but I for one adapted to that really quick (coming from KDE).
I used Niri on a Framework laptop a few months ago, and it was Okay. I don’t think it clicked with me/I’m not sure if I was using it right, but it was giving me a headache to mentally deal with spatially mapping all of my windows (I came from MacOS where I just knew which windows I had open and cmd+tab into the right one when needed)..
I think I would’ve adjusted best if I could somehow just watch someone do their daily work on Niri, to learn how to use it right. Curious if people who like Niri came from tiling WMs or standard DEs.
on MacOS I used to use Yabai but moved away from it to using a hammerspoon setup to manipulate window positions. This was mostly because bsp just doesn't scale well with larger displays, in my opinion.
For me, the spatial mapping of windows comes naturally, though. For MacOS, I have 9 spaces. This can be as many or as little as you want, but for me, I have keybindings to switch between them, starting with ctrl + shift and then I map it to:
u i o
j k l
m , .
So in this array, top left is 'u', bottom right is '.' Then you are arbitrarily assigning that area for a certain kind of task or work. so maybe for communications (Teams, Discord, iMessage, etc.) may be designated as being in the 'j' space, or west. My primary work space where I web browsing or coding might be the 'k' area. My email could be 'u' and calendar 'i'. If you've ever worked with two windows side by side, then you already reasoning about it spatially. On the left is my terminal. On the right is my web browser. This just extends that concept slightly. I use 9 spaces in a square shape because it just translates to an extra large desktop.
With that being said, things I'm frequently using (browser, terminal, mail, music, discord, etc) have their own global keys set to launch or switch to them and that is actually what I use most. I think if you can think about how you'd like to organize your system, just practicing that will help you reason about it that way.
I've been trying Niri on my thinkpad and I really like it, though I think I agree that it can be trickier to spatially map where things are in it. Its spaces are vertical and then you are scrolling the horizontal plane. They aren't always the same dimensions because it depends on how many windows are open. Getting back to say, the top right space, requires more work, at least out of the box. But on a smallish laptop screen I think it is well thought out way to make it easier to swap between different views.
Slightly off topic: Does anyone know a window manager where you can map virtual desktops to real monitors? E.g. When I'm on the move I cycle through my virtual desktops on my laptop screen, but when connecting a monitor I want to cycle between my virtual desktops independently on either screen. While both screens share the same set of virtual desktops.
If I'm understanding the ask, I think niri has this. Workspaces for each output are independent, and switching between them only affects the focused output.
Seems almost like what I want. It's a bit smarter too, I guess I'll give it a try:
> Each monitor contains an independent set of workspaces arranged vertically. [...] You can move a workspace to a different monitor [...]
> When you disconnect a monitor, its workspaces will automatically move to a different monitor. But, they will also "remember" their original monitor, so when you reconnect it, the workspaces will automatically move back to it.
Another vote on niri being just great software. While itss idea (scrolling tiling windows manager) is novel, the software in itself is very polished with a very mature API that doesn't change at every version (looking at you hyprland).
Give me Niri on macOS pleaaaaaase. I tried the variants but it’s not there yet, I want native trackpad gesture integration, either no animations or buttery smooth ones with full control, blur please, and everything else.
A few releases back when niri got "proper" Alt-Tab behavior like one expects from more mainline WMs made it pretty much perfect for me. Could not dream of wanting anything more than what it already has.
The only remaining feature I would like is focus-follows-mouse but only for outputs, so that if I've moved my mouse over onto a second monitor, the focus moves to that output.
There are a few discussions around this, so I'm hopeful to see it implemented at some point:
This sounds very interesting. I'm currently in the middle of revisiting my desktop setup and interaction style. Landed on Qtile/Wayland but now I'm starting to notice lag.
> Every monitor has its own separate window strip. Windows can never "overflow" onto an adjacent monitor
I'm someone who was very content with the constraint of a laptop (one single screen, generally running one maximized window per workspace and switching with F-keys), but has never really become comfortable with multi-monitors. Can anyone explain why window managers always default to treating individual monitors as completely separate entities rather than one larger screen that works together? Like I would have thought the default here would be to have two monitors operate on the same horizontally-scrolling set of windows. Either tied together, or as independent viewports. But everybody always seems to reach towards treating each monitor as having disjoint windows. Which I guess I can get used to, it just seems odd?
I have a huge amount of gratitude towards the author of niri.
My dotfiles have always included an install script for setting everything up around command line tools, theme switching and more but it fully supports niri now too on Arch based distros https://github.com/nickjj/dotfiles in case anyone is shopping around for a new desktop environment and wants to get going quickly. I run it on both my main desktop and a travel laptop.
[1] https://github.com/BarutSRB/OmniWM
Would love to hear the perspective of anyone who switched from a similar workflow to Niri. How does the mental model shift?
I never understood the point of per-app workspaces. I hate having, for example, a single Firefox instance open with everything mixed in, from work to leisure.
With niri I just open another window and it's where I need it and all other windows are still to the left and right so I just "scroll" there. Now I'd say my workflow is messier now, but I think that's actually a good thing. Tiling window managers require (but also make it reasonably easy) to be organised. With niri I don't have to be organised. Sometimes it you can't find a window immediately, but you can just use overview (and I also have a window search rofi). Initially I still had some named workspaces similar to my sway tags, mainly because I found I was still switching to them out of habit. Nowadays I don't use them any longer.
Where tiling WMs shine is when actually tiling windows. For me it's the holy trinity of Browser, editor and terminal all visible at once, and navigatable spatially via super+hjkl or super+up/down/left/right. So I have one workspace per project which makes a lot more sense to me as an actual workflow for tiling WMs.
Niri just improves on this substantially by allowing new windows to open to the right, instead of messing with the existing layout in the current workspace. For example, if I need to open a pdf or something. I get to keep the holy trinity, but swap over to the new window easily.
https://github.com/BarutSRB/OmniWM
I posted about it a bit ago when I just started using it, and it's been really great. Highly recommended.
https://github.com/mangowm/mango
The dank case for scrolling window managers - https://news.ycombinator.com/item?id=46820468 - Jan 2026 (61 comments)
Niri 25.11 released with alt-tab and other improvements - https://news.ycombinator.com/item?id=46097051 - Nov 2025 (1 comment)
Niri – A scrollable-tiling Wayland compositor - https://news.ycombinator.com/item?id=45461500 - Oct 2025 (229 comments)
The Future Is Niri - https://news.ycombinator.com/item?id=43342178 - March 2025 (216 comments)
Niri: A scrollable-tiling Wayland compositor - https://news.ycombinator.com/item?id=37367687 - Sept 2023 (37 comments)
My only remaining pain point is that its X compatibility layer, xwayland-satellite, does not yet support drag and drop between X and Wayland programs.[2]
[1]: https://davidyat.es/2026/01/28/niri/
[2]: https://github.com/Supreeeme/xwayland-satellite/issues/133
Also I've been missing scratch deeply.
I'm sure it's solvable with some diligence and config changes, but I haven't invested the time yet.
Totally not mass psychosis guys pump the SPY
But I’m giving it a real shot, and the nice thing about it being a Gnome extension is that the rest of the Gnome DE is right there without a ton of config.
One thing I learned in the process was that the custom wayland desktop world has the concept of a "desktop shell," which provides most or all of the additional components you might want on top of your compositor, rather than having to separately install a top bar, manage suspend/hibernate, figure out notifications, etc. You can of course still do all of that, but you can also just install niri and something like the "dank material shell"[0] and be off to the races. I first discovered this via awesome-niri[1].
The combination of niri and the shell means that the extent of my custom NixOS configuration for the two is entirely limited to keybindings and some custom window rules for zoom.
[0]: https://danklinux.com/
[1]: https://github.com/niri-wm/awesome-niri
I think I would’ve adjusted best if I could somehow just watch someone do their daily work on Niri, to learn how to use it right. Curious if people who like Niri came from tiling WMs or standard DEs.
For me, the spatial mapping of windows comes naturally, though. For MacOS, I have 9 spaces. This can be as many or as little as you want, but for me, I have keybindings to switch between them, starting with ctrl + shift and then I map it to:
So in this array, top left is 'u', bottom right is '.' Then you are arbitrarily assigning that area for a certain kind of task or work. so maybe for communications (Teams, Discord, iMessage, etc.) may be designated as being in the 'j' space, or west. My primary work space where I web browsing or coding might be the 'k' area. My email could be 'u' and calendar 'i'. If you've ever worked with two windows side by side, then you already reasoning about it spatially. On the left is my terminal. On the right is my web browser. This just extends that concept slightly. I use 9 spaces in a square shape because it just translates to an extra large desktop.With that being said, things I'm frequently using (browser, terminal, mail, music, discord, etc) have their own global keys set to launch or switch to them and that is actually what I use most. I think if you can think about how you'd like to organize your system, just practicing that will help you reason about it that way.
I've been trying Niri on my thinkpad and I really like it, though I think I agree that it can be trickier to spatially map where things are in it. Its spaces are vertical and then you are scrolling the horizontal plane. They aren't always the same dimensions because it depends on how many windows are open. Getting back to say, the top right space, requires more work, at least out of the box. But on a smallish laptop screen I think it is well thought out way to make it easier to swap between different views.
> Each monitor contains an independent set of workspaces arranged vertically. [...] You can move a workspace to a different monitor [...]
> When you disconnect a monitor, its workspaces will automatically move to a different monitor. But, they will also "remember" their original monitor, so when you reconnect it, the workspaces will automatically move back to it.
https://niri-wm.github.io/niri/Workspaces.html#overview
There are a few discussions around this, so I'm hopeful to see it implemented at some point:
- https://github.com/niri-wm/niri/discussions/1318
- https://github.com/niri-wm/niri/discussions/378
- https://github.com/niri-wm/niri/discussions/491
Before that I was on sway for 6 years, before that on i3, before that on KDE, Gnome, ...
I'll never look back.
Niri is the best window manager I ever used, it just instantly clicked with me.
This, for X, but not under Gnome or KDE? Even better, perhaps as just a script or something under Openbox?
(might be time to get into the vibecoding...)
> Every monitor has its own separate window strip. Windows can never "overflow" onto an adjacent monitor
I'm someone who was very content with the constraint of a laptop (one single screen, generally running one maximized window per workspace and switching with F-keys), but has never really become comfortable with multi-monitors. Can anyone explain why window managers always default to treating individual monitors as completely separate entities rather than one larger screen that works together? Like I would have thought the default here would be to have two monitors operate on the same horizontally-scrolling set of windows. Either tied together, or as independent viewports. But everybody always seems to reach towards treating each monitor as having disjoint windows. Which I guess I can get used to, it just seems odd?