I've been running niri for months now on my primary desktop, I wrote about it for LWN here: https://lwn.net/Articles/1025866/
"Normal" tiling WMs / compositors just don't work for me, but the tiling model does. Before niri, I used PaperWM and GNOME -- but a GNOME extension can only do so much. I wish the folks doing COSMIC would add scrollable tiling, but unless/until they do I'll probably stick with niri.
Niri is currently being "hugged to death", if you want to contribute: Donate to Ivan or review others PRs before making your own, the project has no commercial backing and he's "overloaded" by the projects recent success.
I've been using it for years now and it's obvious that Smithay and Niri are high-quality projects, I haven't had any issues other than missing features (more of which has become available over time).
I'm basically fullscreen with everything all the time on macos, but not in the super-duper-fullscreen mode so cmd-tab/cmd-` works predictably. I want this on macos. I know I can't have it on macos. I also can't switch to Linux since macos is mandated by my employer.
Nothing really to take out of it except that I feel like I'm not alone feeling stuck, knowing there are better workflows and not being able to do anything about it.
One thing that was holding me back from trying Niri is its configuration was limited to 1 file with no way to override or include additional configs which is quite important IMO for having 1 main config that you slightly change on different devices if you want to make your dotfiles public. For example you can have gitignored "local" files on each device to handle overrides.
Just the other day the author merged 2 PRs to handle both use cases https://github.com/YaLTeR/niri/pull/2482.
It's not in a release yet but hopefully soon.
Somebody sell me on these newfangled tiling WMs. I have been using basically the same xmonad configuration for 15+ years, pretty much updating it only on breaking or deprecated changes. What do all these new Wayland compositors have to offer except "tiling, but for wayland?"
Does Wayland actually work now? I've tried it every few years for over a decade now and every time I ran into showstopper bugs (usually on nvidia cards).
I switched from i3 to Niri a couple weeks ago, and I've been super happy with it.
Niri feels like it lines up more naturally with the way I tend to use windows and workspaces. I'm working on one project per workspace, opening an occasional ephermeral terminal window or web browser to the right when I need to reference something or run a quick command. My other windows in the workspace aren't altered by these new ones, no reflow happens, and then I can close it when done.
My only problem with Niri is that now I really want an Ultrawide monitor.
I'd previously been giving Hyprland a try, but after lots of customization work, there were still a bunch of things I wasn't happy with and ended back on GNOME as a "just let me get work done" thing (I use multiple workspaces, have always have dozens or hundreds of browser windows open, depend on a bunch tray extensions). That being said, GNOME just updated versions and broke all my extensions again so I've decided to recommit to work on fixing anything that isn't working for my workflow and ditching GNOME forever (I was previously much happier on Openbox, but well, Wayland).
With this latest go I gave River, QTile, and Niri a try. After a bit of swapping back and forth, I've settled on Niri and am slowly adding functionality I'm missing.
- I like multiple dynamic workspaces (grouped by function) and don't see much point beyond a split or two so Niri worked pretty well, and I was able to largely config all the keyboard shortcuts to something that made sense to me
- I'm using waybar and swaync for my other DE bits
I've also been using long running Claude Code/Codex in a workspace to build a number of custom scripts:
- niri-workspaces - dynamically generate a workspace display on my waybar showing windows, activity
- niri-workspace-names - integrate w/ fuzzel to let me rename workpaces
- niri-alttab - getting app cycling working in a way that makes sense to me, this is a larger project probably if I want live thumbnails and the like
- niri-terminal-below - I often want to have a new vertical terminal split and it's a bit hacky but works (have to punch out a new terminal, then bring it below, and move back if on the right side)
I haven't gone through all the docs, done much looking around, but one nice thing with these new coding agents is that they can just go and do a passable job to tweak as I want.
Moved onto Niri yesterday after having to reinstall my PopOS and it just clicked. Like i3wm did all those years ago.
I can focus for hours on end and spend zero mental energy on resizing a window. I had less of that with i3wm but you had to always readjust after a few windows were tiled to your workspace. That final bit of cognitive overload was removed with Niri.
EDIT: Spec: RTX 3090, Pop OS 24.04 (beta), 4K 43" Monitor,
Niri Installed from cargo build, super easy install, make sure you install xwayland-satellite so that you can run VS Code, Obsidian, Zoom, Blender and other strictly X11 applications
I was daily driving Niri for a few months a while back and it was the first WM that worked nicely OOTB on a big ass ultrawide monitor. There is a nice hotkey to center your active window. I've found it was quite the hassle on other WMs to work nicely on a wide monitor. The traditional split view means nothing is directly in front so you're always turning. Or you have to spend a bunch of time customizing it to suit the monitor. Niri is the way to go in these cases IMO.
That being said, these days I prefer floating windows so I just use GNOME.
My only complain about niri is that after a few weeks without reboot I end up with ~500 terms open, as I often open a new shell to check something, get distracted, and forget about it as it scrolls out of the view... (I usually notice at the 400-500 mark because this machine starts swapping noticeably, and closing it all is a chore that usually ends in pkill without checking...)
Maybe a bit more self discipline would help :)
Why all the animations? Not only for this WM, but hyprland, too, for example. They are just way too distracting, I don't understand why people like them.
Yes, i know they can usually be deactivated, but it's stupid to have them as default
Finally Niri getting the love it deserves! It's way better than Hyprland in terms of performance and stability. The code is much easier to read too (Rust vs CPP).
I want to use/try Niri, but have been staying on Hyprland from my safety blanket of Omarchy [1], and really liking its hyprscrolling plugin:
https://github.com/hyprwm/hyprland-plugins/tree/main/hyprscr...
Imo Hyprland should merge this hyprscrolling plugin into the main project, and just ship it as the default (only?) layout option -- it just scales to "more than 4 windows" so much better than either of Hyprland's master/dwindle layouts.
[1] I tried vanilla arch + archinstall + sway/niri/etc but really couldn't make it work from scratch, vs. the contrast of Omarchy which was "wow this all works" :shrug:
Every time I read about Wayland compositors, I find myself thinking the same thing: don't Wayland compositors have too many responsibilities?
Niri convinced me Scrolling is The Way.
I really want windows to be able to span columns. So if I have 1 column with two windows and focus on the bottom window then create a new window/column to the right, I want that new window to be on the bottom half of column 2. I want the window from the top of column 1 to stretch across columns 1 and 2. If I again create another window/column to the right, that top left window should stretch across columns 1-3. So I should have one very wide window across the top of the screen and 3 windows across the bottom.
I've started playing with this idea in the hyprland hyprscrolling plugin but I'm kind of an idiot and don't have much free time these days.
Does this or any other scrollable-tiling WM remember your preferred size of windows per-application? For instance, if I open a new Firefox window, I always want it to be the same width and full height. If I open a terminal, I want it to be half-height and the width I've set for terminals.
Ideally, I'd want to set that in a configuration, so if I made adjustments to a window one time it wouldn't change the default sizes.
Have to admit, my first thought seeing the title was, "Really?! Do we need yet another tiling, or any desktop/wm?" but after seeing this one, I'm genuinely tempted to give it a try.... I've been running the COSMIC Alpha/Beta for about 6 months now and overall happy with it... but given my display and zoom level (45" 3440x1440 @ 125%) I'm mostly pinning a single app left/right anyway. This WM approach is pretty close to exactly what I want anyway.
I usually have VS Code, Terminal, Web Browser and maybe Email, Teams, Discord etc open depending on if it's work or personal. While I can't use this at work (Windows), I may give it a shot on my personal desktop.
I was installing hyprland on cachyos and it seems that cachyos had niri as an option too in the calameres installer.
It definitely had caught my attention and I might look at it too in the future.
I am really distro hopping and trying out a lot of things recently as I have really cut down on the amount of software to just zen-browser with bitwarden and ublock origin,signal and micro and zed for the most part with some custom zsh script and hyprland cachy had a fish shell which looked gorgeous out of the box and very very similar to my zsh script but my zsh script always had problems with history and what not and it seems that they are fixed now so I am very very happy.
I still find it frustrating there's no debian packagers for niri, after all these years, but seems to be some for almost every other distribution?
How does it compare to Sway?
I'm not a paper metaphore guy so I look at this with doubt : I'm more confident to remember that Super+3 shows my browser and Super+1 goes back to my "ide", than remembering that my wanted window is on the upper left of a giant virtual screen...
This also reminds me of Karousel on KDE: https://www.reddit.com/r/kde/comments/1f7bq31/also_loving_ka...
Neat idea, it's not for me but I see the appeal.
But if I may, I'd like to see just one implementation of a vertical bar where the text is rotated, especially if it's going to display the time. I mean, I want to see it, but not enough to actually DO anything about it.
1) I'm still on GNOME. What's the upgrade path to Wayland?
2) There's something like this for GNOME, albeit not as cool... and this may actually get me to finally install Wayland
3) since I'm on NixOS, if important things break, I can always roll it back
i tried niri for a few months earlier this year
ultimately it turned out that after years of i3/sway scrollable tiling doesn't feel natural at all (and neither do dynamic workspaces, but that's less significant). when i resurrected my desktop a couple of months into the experiment i found it also lagged quite badly on my desktop with an nvidia card (a 3090, tried both drivers) and i couldn't be bothered to figure that one out so that was the final straw and i went back to sway
i was quite impressed with the level of thought that went into the ux and the amount of polish in everything though. it already feels like a serious, well-made piece of software, and it's not even that old yet
Love this WM. Been using it as a daily driver for months now and couldn't be happier.
I've seen Niri floating around the conversation, but still find myself drawn to Hyprland. There's something about "pagination" vs a scrollable compositor that makes things feel much more targeted and organized.
I use Omarchy, btw.
Wow this is pretty. Windowing systems were a primary drive for me switching to Linux.
I did try it, but hyprland is still the most usable/pretty ratio for me, I also use Vicinae launcher (I wish that name is changed itβs hard to remember) so not sure how that will work with niri.
What was not obvious to me is whether Niri supports something like a fixed panel that would display stuff like clocks, network status, battery charge, CPU load, sound volume, etc, etc.
Looks fantastic, I've been searching for something like this in the past. Is there support for stacking windows (ala i3)? Thats something currently very important to me.
Would it be possible for something like this to work on MacOS? Or does it fall outside of what is possible given the system's "configurability"?
I've been happily running xmonad as my window manager from within Gnome since (checks git) 2011. Is there a reasonable way to run Niri inside one?
I love Niri; finally a compositor that has an easy way to inject shaders.
Also: - Rust - Great Nix Flake (thx Sodiboo) - Wayland
Is there a way to run this in Ubuntu?
Is there a small icon that tells you the layout so you know which way to swipe?
Oh maybe it's just up and down
This is the first time I've seen this concept in window management. It's pretty cool.
Niri is phenomenal. Outstanding example of high-quality software.
Wow, they have added floating windows. Need to try again!
[dead]
Niri convinced me to give up xmonad. I ran xmonad exclusively for 14 years.
Being able to have an unlimited number of windows on a desktop (without continually switching the tiling structure) makes them collections of topics rather than having multiple desktops bounded by what fits comfortably. What used to be a switch from the "editor and terminals" desktop to the "browser" desktop is now horizontal movement on the current desktop to the related browser window (general browsing is on a different desktop).
Really low barrier to entry, works great out of the box. There were some wayland teething issues (application support, e.g., no Zoom), but nothing that couldn't be overcome (occasionally by falling back to X). Most of those have been resolved with time.
Edits: Hardware: 2017 System76 Bonobo WS, 2x GTX 1080, multiple screens (4k @ 2x scaling + 2 1080p). PopOS.
I'm running a 1-2 year old build of niri (because it isn't broken), so I've not experienced some of the fancier animations & etc. others dislike.
I consider cloning and building from source to be low barrier to entry if it doesn't involve major setup effort (it doesn't/didn't), so I may be biased. Caveat emptor.