Niri – a Scrollable-Tiling Wayland Compositor
Posted3 months agoActive3 months ago
github.comTechstoryHigh profile
excitedpositive
Debate
60/100
WaylandTiling Window ManagersLinux Desktop
Key topics
Wayland
Tiling Window Managers
Linux Desktop
Niri, a scrollable-tiling Wayland compositor, has been released and is gaining popularity among Linux users, with many discussing its features and comparing it to other window managers.
Snapshot generated from the HN discussion
Discussion Activity
Very active discussionFirst comment
35m
Peak period
144
0-12h
Avg / period
16
Comment distribution160 data points
Loading chart...
Based on 160 loaded comments
Key moments
- 01Story posted
Oct 3, 2025 at 7:08 AM EDT
3 months ago
Step 01 - 02First comment
Oct 3, 2025 at 7:43 AM EDT
35m after posting
Step 02 - 03Peak activity
144 comments in 0-12h
Hottest window of the conversation
Step 03 - 04Latest activity
Oct 9, 2025 at 8:58 AM EDT
3 months ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
ID: 45461500Type: storyLast synced: 11/20/2025, 8:23:06 PM
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.
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.
Anyway, for that short amount of time I liked most of it on my ultrawide monitor. Except when you open just one application, it stays on the left-most part naturally and it honestly sucks to look at. I have no idea if I could modify the settings to launch apps with an offset and eventually occupy the complete screen estate. I‘m planning to build a new AMD machine and will try Wayland compositors again for a longer period of time. Niri is my first candidate.
I use Omarchy, btw.
Must we leave the vicinity of people we don't always agree with?
I was a former Hyprland user but after I switch to Niri I didn't look back because I think it's kind of having best of two worlds.
In my workflow, I have browser on workspace 1, code editor on 2, CCTV Viewer on 3 (we have a baby and babysitter so I occasionally check them).
In the other monitor, I have slack, terminals etc.
So when I need to switch between browser <-> code (or terminal) I can do quickly. Scrollable comes in handy when you need to check something quickly; for example you are trying to solve something and you need to run some commands in terminal. In that case I just open a new terminal next to browser, do my job and get rid of it.
Also the Super+Tab view is awesome, you can easily see which window is where. Niri also some IPC features so you can find window id and make Niri focus to it. This comes handy if you use Vicinae (Raycast like launcher for Linux). I can switch windows with just using that.
One final note, I highly recommend DankMaterialShell - https://github.com/AvengeMedia/DankMaterialShell/ along with Niri.
DMS looks pretty slick.
But Omarchy is a fully pre-configured distro, there's no flex in that.
Sure, I think if you disagree with the majority, you'd go Arch and rice your own from the base install (lot of folks who do), but if not, it's a very streamlined way to get off to the races with a community supporting the shared baseline 'opinions'
So it's a but ridiculous imho, there's no flex in it but you try to flex anyways...
I've been thinking about this comment all day trying to decide if this was an unironic "I use Arch btw" or an intentional homage, but it made me laugh a lot
I'm using Regolith, which is installed in two commands.
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.
Seems like the app decides what the behaviour is. But the point being it's the same behaviour as the Option + Maximize.
I genuinely don't get why so many devs use MacOS when Linux is already set up for devs, and the stuff you run in the cloud will also run locally with 1/100 the SSH keyboard latency.
[0] https://www.hammerspoon.org/ [1] https://github.com/mogenson/PaperWM.spoon
It took me about 30 minutes to replicate some Windows/AutoHotKey crap that I wrote myself and have been using for years, and it wasn't painful.
I use Niri and it has 3:
1. Use all width (windows are full height by default) and display system bar
2. Use the entire screen and hide the system bar
3. Same as 1 but make the app believe that it’s in Mode 2
[0]: https://github.com/nikitabobko/AeroSpace
It is not that I am inexperienced (Windows 95/98/2k/XP/Vista/7/8/10/11, Linux with all kinds of Desktops over the years (KDE 2/3/4/5/6, Gnome 2/3, Sway, Unity, XFCE, Enlightenment, blackbox, ...)), or that I didn't try (searched, watched several YouTube tutorials). I also tried different options, such as disabling the entire "Displays have separate spaces" feature (it fixes some cases, but others worsen).
My verdict is simple: They would be better off just adopting the dumb Microsoft Windows 95 approach to window management.
And it isn't that I don't like the system overall. I have never had a laptop with such superb performance, and at the same time, it stays cool as ice and silent. I love the animated video backgrounds on the lock screen with the slowdown on login, and having Zsh as the default is also fun. But the window management...
What's funny is that when someone first learns about Alt+Tab it's like the best cheat-code for any desktop navigation, but after switching to Niri, Alt+Tab seems like a silly way to layout your windows.
It (the scrolling layout) is not exactly the same as Niri because the implementation is based on my personal preferences, but it does what it's supposed to on both platforms
[1]: https://youtu.be/u3eJcsa_MJk?si=jSbDsAdLWQu0k1lZ
[2]: https://youtu.be/b1yECfF7Qyg?si=VXMbQo0RqtdzuDjG
I have tried to get this in KDE Plasma 6 (with a global menu bar) and you just can't quite get there, so you have to settle for maximised but not full-screen apps, which is annoying.
I understand the difference and the architectural history that is that "full-screen" on X/Wayland is essentially a kiosk/don't-interrupt-my-game mode, whereas on the Mac it is chromeless windows on a virtual desktop that you can't get stuck in if you forget the restore keystroke.
But it frustrates me I can't get that.
I’ve had two employers with dumb rules like this and I just worked on a Linux VM running fullscreen on all monitors. It was technically macOS, so IT didn’t have any issues, and it still ran all the security stuff that my employer wanted. At one job, my manager even provisioned a VMWare license for this.
For me cmd+tab / cmd+` works brilianty - switching to last used app/window-of-the-app
Outside of the fundamental window management differences, I find that a lot of stuff with niri is easier to make work, or just happens to work out of the box. Screen sharing with sway was always a problem for me[1], whereas for niri it works great (incl. sharing individual windows only[2].) I also found that niri is much better at letting hardware go to sleep (which saves 10W on my GPU.)
[1]: https://github.com/swaywm/sway/issues/7898 etc.
[2]: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3864
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 can't remember all the bugs, but I've definitely at least encountered all flavors of flickering bugs, stale updates, GPU crashes, failed copy and paste, failed screenshares, failed videoconferences...
From comments on this thread, it sounds like things have drastically improved and its probably time to take another look.
1) https://www.gilesorr.com/wm/table.html
There are many like this. It mostly works, but it isn't as flawless as just using X11 (unless we are talking about displays and stuff).
Nvidia works since driver 570.
(Edit: grammar and Nvidia note)
What I still miss is stuff like browser docks in OBS and such things that just work in X but are being dragged on for multiple years to be supported on Wayland now (CEF thing though)
I know it doesn't sound all that interesting, but once I used it for a while, I just couldn't go back.
Mostly made the switch because Wayland seems to run a lot smoother and efficient, especially when it came to Firefox for some reason.
This was on my Bonobo WS (PopOS) w/ 2x NVidia GTX 1080s, multiple screens (2 1080p, 1 4k at 2x scaling), etc. No issues other than app support.
Highly recommend trying it. Very low barrier to entry.
RTX 3090, Pop OS 24.04 (beta), 4K 43" Monitor,
Nvidia cards worked out the box with no problems
So two external monitors working, except if they are daisy chained I am logged out when (dis)connecting them. So I use one hdmi and one dp over usb-c and it works.
So, not 100% but works better than X for me. Still too recent to have seen all the edge cases though.
Every time I try it, I am really impressed with the smoothness! But every time, two issues come up, which most likely due to NVIDIA, which are complete showstopper.
1. After inactivity period, monitors turns off. When I resume, one monitor won't come back up. I have to deactivate it on control panel, and cancel to get it back. Doing it many times a day, is extremely annoying. This does not happen on two monitors.
2. Monitors won't turn off ... yeah, after inactivity period the monitor's blanks, but, briefly turns off, and then turns back on. And then never turns off. This mostly happens after playing games.
I think both of the issues are due to NVIDIA.
Otherwise, Wayland has become really solid.
Using i3 now, it's not much, it's boring, and that's a good thing.
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.
Noting the release notes, it does have many animations already enabled (but I have some or all of them disabled through config).
I'm not recommending anyone run this in favor of newer versions, but it's working for me.
[0] https://github.com/YaLTeR/niri/releases/tag/v0.1.3
Quote:
We're using xwayland-satellite rather than Xwayland directly because X11 is very cursed. xwayland-satellite takes on the bulk of the work dealing with the X11 peculiarities from us, giving niri normal Wayland windows to manage.
xwayland-satellite works well with most applications: Steam, games, Discord, even more exotic things like Ardour with wine Windows VST plugins. However, X11 apps that want to position windows or bars at specific screen coordinates won't behave correctly and will need a nested compositor to run. See sections below for how to do that.
I will say, recent builds have a 'mini map' sort of zoom-out feature that I quite like - my one critique of niri was that I would sometimes get 'lost'.
But in this "endless horizontal tilling" scheme, the above principle would no longer hold, right?
Vastly preferable to having to look at the edge of the screen.
For those on older niri versions I have to say the "zoom out" overview feature is definitely worth the upgrade. As another poster said it really fixes the one issue on scrolling/ tiling wms, which is getting lost.
Things on other desktops are invisible in every WM.
The only difference with niri is the possibility for things to be left or right of the current window. Overview helps with that, but I know what I expect to be on a specific desktop (it's related to the topic) and seldom need it.
Now you want to access that terminal on /tmp/ again. Where was it?
In i3, I just spam-switch workspaces in this case, but at least I can find them. With scrollable wms, every ws can potentially hold that target app.
If you have (having had "Editor" focused, and just opened "TermT"):
(where pipe delimits a pane and parens are the active pane), if you go "next desktop" from "TermT" (the terminal at /tmp), that moves you down the stack of desktops. Moving up the stack of desktops returns with focus on "TermT". You'd then go "left pane" from "TermT" to get back to the editor.The answer (for me) is to think of desktops as topics. The terminal on /tmp is with the things that prompted its creation. If I needed to check some log output, for example, it's with the project that made that log output.
Edit: Note that there's nothing keeping you from stacking those terms if you like, i.e., the appropriate keybinding goes from the previous to
where the terms stack vertically in the ribbon of the desktop.If you have something that would be reasonable to open on any workspace because it's ephemeral (they used a tmp terminal as an example), and you open it, navigate away from it, and then switch workspaces a few time, and then get pulled into a meeting or go to lunch, and come back, switch workspaces a few more times...
"Where did I leave that terminal, I dont remember where I was when I opened it."
In i3wm/sway etc, you can cycle all your workspaces and eventually one of them will have it visible. On Niri, as you cycle through all your workspaces you may never see it because you don't see all the windows in a workspace, unless you scroll through the workspace panes as you cycle workspaces.
It's not a problem necessarily, but it is something to consider. It sounds like this doesn't affect your workflow, but it might affect others.
[0] https://github.com/YaLTeR/niri/wiki/Overview
You can see window titles on the tabs on the tab bar, but you can’t even see the title of windows which are in a split container of a background tab.
But yes, that wouldn't be true, though focus moves to fresh windows so it's not an issue.
Would you mind going into more detail on what actually happens when you move horizontally? What happens when you have a fullscreen editor, then slide over to a half-screen browser? Do you only see half the editor, or does the editor get squished?
One thing I desperately want is a tiling wm that is also a browser. Like if surf ran a practical engine and was more deeply integrated into dmenu.
Can't you? You used to be able to show the tab bar only when there was more than one tab; I guess that has disappeared?
You can do this: Put this code into your userChrome.css file:
#tabbrowser-tabs .tabbrowser-tab:only-of-type, #tabbrowser-tabs .tabbrowser-tab:only-of-type + #tabbrowser-arrowscrollbox-periphery { display: none !important; }
#tabbrowser-tabs, #tabbrowser-arrowscrollbox { min-height: 0 !important; }
Generally I believe most people like to order their workspacesroughly by topic, e.g. all work related Windows on one, browser or on another, some also do all terminals on one... Now with sway/i3 I often found myself in the situation where I was e.g. on the "browser" desktop and you read something you quickly want to try in, e.g. ipython, or you are working on a latex document and want to briefly open a PDF. In i3 that would reduce the size of your original window, so you end up switching to a workspace (or you manually switch to tabbed tiling) for me the mental overhead was significantly higher and I was ending up creating more and more workspaces just to hold temporary terminals.
This is actually related to why I switched to i3 in the first place, I just felt vertical tiling is the only tiling that makes sense in 95% of the cases and that just worked best in i3. But that comes at the cost that you are limited to only 3-4 tiles per workspace (depending on screensize) now in niri I have infinite theoretically. Which means I spend less mental overhead when I want to open another window (which is really thebgoal of tiling wms in my opinion, reduce thinking spend on window management)
I think that's the beauty of tiling WMs (and I consider scrolling WMs a subset), you can really adjust them to suit your work flow even if work flows might be very different. In contrast stacking WMs seem to be more a lowest common denominator type thing. They work with every workflow, but suboptimal.
If the widths don't add to 1, there are two possible behaviors (configurable). Either the newly focused pane adheres to the size of the screen (e.g., scroll right from the full screen editor and the half-screen browser is on the right border with half the editor visible), or the newly focused pane centers on the screen. I prefer the first behavior, but I make significant use of the "center pane" keybinding.
The Video Demo section in the README gives a pretty good demonstration of this behavior in the first 10-15 seconds.
Edit: To add to this thought and address some comments elsewhere about losing windows, I use "struts", which show P pixels of the panes to the left and right (when they exist) of the current view as a visual aid/reminder of where I am in the ribbon. These reduce the size of the tiled section of the screen and the calculation of pane size accordingly.
Paperwm on gnome has this.
I didn’t try it myself though. I found it while scrolling https://github.com/Vortriz/awesome-niri
Of course I also use X11 so this thing would not work for me anyway.
Niri also has named workspaces, but when I switched to niri, I realised I only want named workspaces for very few things everything else is just temporary.
IMO smaller screens are where it shines, but you can also vertically stack within a column in Niri for similar density compared to tiling if you want.
> I keep track of which terminal goes where based on (among others) location.
I think this is a pretty nice benefit of Niri actually, having a second dimension to work with makes it much easier for me to keep track of windows because I can reduce the total number of workspaces and instead rely in part of relative location to other windows without being forced to fit all of them completely on screen. When I don't need my full screen real estate I often set up splits so that a little bit of the offscreen window is still visible and it makes it effortless to remember whats there.
I used to use i3 on a 49" super ultrawide monitor (32:9) and when I did each desktop was truly a topic, with a deep arrangement of windows on it and tabs to switch different areas over to different tasks.
My primary interest in tiling window management is being able to see all of the things that I need to see at once, at once. For me, it's all about context-- placing related windows next to one another. It seems like for others it's about being able to switch between a limited set of fullscreen windows quickly.
I like that Niri gives me a flexible way to divide my workspaces by topic without the windows stealing screen-space from each other. It doesn't feel much like hunting for windows, it feels like... a materialized view of alt+tab. Maybe I have a browser to the right of my editor and a terminal to the left. I can quickly shuffle back and forth between being able to edit while also seeing one or the other.
I even have this binding to cycle the columns to the right of the active window:
I thought of this because it sounds like one of the reasons you're not upgrading it is fearing the risk of it fucking everything up and it being a pain to roll back (your "it ain't broke, so why fix it?" is a hallmark of that mentality). Well...
I will never use another Linux distro for this specific reason. NixOS is the complete freedom to dip in, dip out, roll back on problems, try new things out, etc. The freedom to experiment, try it, back out if there's any issue... but with seatbelts, thanks to the declarative nature of everything (as well as being able to pick previous "instances" on boot).
Afraid of Nix (the language)? LLM's make that trivial these days. For example, I just did something like this today: "Instead of using the one in nixpkgs, whose build has issues on my hardware, set up a derivation that uses its git repo and compiles that instead." A minute later, boom. Declarative working glory, forever.
"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.
[1] https://quickshell.org/
[2] https://github.com/AvengeMedia/DankMaterialShell
https://github.com/Drakulix/cosmic-ext-extra-sessions
Yes, i know they can usually be deactivated, but it's stupid to have them as default
I did change the settings to speed them up significantly, which I think is a good middle ground.
My pet-peeve is slow animations, as animations can help my eyes/attention to navigate to/from areas of the screen, but when they're too slow, it's just so damn frustrating that I prefer them off. But smooth, fast (nearly invisible) and clean animations seems to help me navigate better/focus faster than just being eye-candy.
Before Niri I used PaperWM on Gnome with animations disabled and I found that it actually substantially reduces the usability of this sort of workflow for me. I'm not sure how to phrase it, but scrolling WMs feel a little more "physically grounded" and without the animations it was somewhat easy to become briefly disoriented whenever scrolling/opening/resizing/rearranging windows, at least once you start having 4+ workspaces and several screen widths worth of windows on each workspace.
Turning on the animations quickly makes it all snap into place and I never have the brief moment of "feeling lost" after an operation, so it sees inherently important to this WM style. The animations are very fast out of the box and do not feel superfluous.
Maybe there is a point to have them not be a default but that might be a hassle for people like me.
There is a point to be made that maybe cachy and others could opinionate it themselves but the stock shouldn't have animations but if you know that they can be deactivated easily, its definitely a mixed bag of sorts.
Like see neovim, people want to use that software with some saner defaults so they use things like lunarvim / nvchad etc. but even when I was on omarchy (which I stopped after reading https://jakelazaroff.com/words/dhh-is-way-worse-than-i-thoug...) neovim with these mods never really worked with LSP and so many other nice to have features and other things with me (maybe skill issue from my side but there was always one or two errors in that neovim and I just prefer micro nowadays, it just works)
Simply not all people get so easily distracted... It may be signs of mild ADHD.
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.
Maybe a bit more self discipline would help :)
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
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.
69 more comments available on Hacker News