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.
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 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.
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?
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.
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 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 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 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.
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]
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.
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.
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).
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?
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 also find Niri paired with an ultrawide curved monitor to be particularly good.
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.
+1, ultrawide curved monitor user, used to be on sway but the experience of niri is next level.
If anyone wants to try the NNN (Niri-Nix-Noctalia) dots. Feel free to use my flake, https://github.com/MostlyKIGuess/nix-flake-public.
Niri is really good. Very customizable. I do not think in terms of monitors anymore, just workspaces that are virtually infinite.
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 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.
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?
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.
i create 4 fixed workspaces per monitor in the config, and use it that way
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.
[1] https://github.com/BarutSRB/OmniWM
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.
https://github.com/mangowm/mango
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.
[0]: https://danklinux.com/
[1]: https://github.com/niri-wm/awesome-niri
Turns out a Russian prodigy can build something better than 100 million dollars worth of Claude tokens
Totally not mass psychosis guys pump the SPY
Actual prodigy though. Check out the release notes, they are a thing of beauty.
I agree that YalTer is a prodigy and that we are better off giving him a million dollars than spending 100 million on Claude Tokens
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.
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]
[1]: https://davidyat.es/2026/01/28/niri/
[2]: https://github.com/Supreeeme/xwayland-satellite/issues/133
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.
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.
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.
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.
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).
Using Niri for over a year now.
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.
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:
- https://github.com/niri-wm/niri/discussions/1318
- https://github.com/niri-wm/niri/discussions/378
- https://github.com/niri-wm/niri/discussions/491
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?