Get the top HN stories in your inbox every day.
argiopetech
atlintots
Niri recently improved it's integration with xwayland-satellite, so it's easier to run programs that don't support wayland now: https://github.com/YaLTeR/niri/wiki/Xwayland
argiopetech
I'm still running an older version (ain't broke, won't fix), but I keep getting recommended the newer versions for features. I'll check them out eventually.
silicon_laser
can you paste a link?
rjzzleep
What does xwayland-satellite do that normal xwayland doesn't ?
argiopetech
This is addressed on the linked page.
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.
beala
For me, the appeal of i3/sway's model is that by having a desktop per topic (eg, one for browser, one for code, one for slack, etc) I can instantly jump to the topic I need with a single key press. The desktops I assign never change, so it's always Super+1 for my browser and Super+4 for Slack. It's all muscle memory, and I could do it in my sleep. When I jump to that desktop, everything is open and tiled. This was a revelation to me coming from MacOS, where I was constantly hunting for windows with Cmd+Tab or squinting at thumbnails in Mission Control. So I'm surprised to hear that you prefer Niri's scroll model, which to me sounds like hunting for windows all over again.
likeclockwork
I don't think of the things you listed as "topics". Browser, code, slack, etc.. seem more like tasks or activities to me.
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:
Mod+Tab hotkey-overlay-title="Cycle windows to the right" {
spawn "fish" "-c" "niri msg action focus-column-right; niri msg action move-column-to-last; niri msg action focus-window-previous";
}Shebanator
Niri has named workspaces, each of which has a scrolling model. So you can achieve something very very close to what you want.
aaplok
Not OP, but I typically only have 1–2 windows per workspace. I use tabs in both browser and terminal (eg via tmux). So it seems like niri's scrolling capabilities wouldn't bring much to my use case.
benoliver999
Yes same here but with i3, I ran it for over 10 years but niri was just an instant 'aha' moment for me.
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'.
boomskats
I drew that once in a github issue and next thing I knew it was there! https://github.com/YaLTeR/niri/discussions/352#discussioncom...
ducktective
One of the advantages of tilling wm are that every window that is run, is visible too. Nothing invisible exists.
But in this "endless horizontal tilling" scheme, the above principle would no longer hold, right?
russelg
That typically isn't true in practice right? It's fairly common to have multiple "desktops" when using a tiling WM.
argiopetech
Newly started applications receive focus, so they're visible by default. They are inserted right of the current view, so recovering the previous active pane is consistent ("left pane" keybinding, or the appropriate gesture).
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.
atlintots
That's true, you do end up with some windows hidden or partially visible. Niri is still tiling, though, so with proper management you can avoid making too much use of the infinite strip (though that would defeat the purpose of niri).
WhyNotHugo
Tiling window managers have tabs, so not all windows are visible.
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.
lillecarl
No, because every tiling WM has multiple workspaces.
But yes, that wouldn't be true, though focus moves to fresh windows so it's not an issue.
WD-42
The only thing I feel like is missing from niri is a scratch layer. There are some apps that just don’t need to be tiled and it’s nice to have access to them immediately no matter “where” you are. Perfect example is matrix client. If the wife texts me I want to become able to pop that sucker up immediately and reply, not find the “matrix client workspace”. Plus it’s tiny and doesn’t need to be tiled. Same with media players.
Paperwm on gnome has this.
ibizaman
Would this scratch your itch? https://github.com/probeldev/niri-float-sticky
I didn’t try it myself though. I found it while scrolling https://github.com/Vortriz/awesome-niri
WD-42
Dang that’s a nice list
NoGravitas
Yeah, I have been wanting this. The way it works on Sway is "okay", but it would be nice to have a floating workspace that can be shown or hidden on top of whatever your active workspace is. The workaround most people are using seems to be a named workspace for scratch.
atlintots
In my case I've found niri's workflow quite nice for these scratch windows, since every new window opens to the immediate left of the currently focused window, and doesn't affect the size or tiling of any other windows, they're just shifted to the right.
WD-42
That only works for windows that you would be opening and closing, not persistent ones like chat apps or music players?
argiopetech
I put those on the top or bottom desktop, but you could create a named workspace (scratch) and set up a keybinding to navigate to it.
colordrops
Named workspaces bound to specific key combos does that.
ryukoposting
I've been using i3 for 7 years now, and my immediate response to the scrolling thing was "why?" and after reading your comment, I'm still trying to understand. As one would expect for any tiling wm, the screenshots only show how pretty it can be, and don't really illustrate how it helps with productivity.
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.
cycomanic
I was using i3/sway for years previously as well (and some awesome, qtile before that). The big difference is window size.
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)
ryukoposting
Thank you for the explanation! Between your explanation and a Youtube video I found of someone using it, I think have a grip on the "why" now. Interestingly, it seems like I might use i3 a little differently than you did. A single working context for me can span many desktops, and I just work in a way that keeps my number of concurrent working contexts low. I only ever have 1-2 programs on any given desktop, and even 2 is unusual. I keep every window in tabbed mode. When I need a scratch "thing" (nautilus, terminal, localc, whatever) it opens as a new tab. If I need it side-by-side with that desktop's primary window, I pop it out using mod4+shift+left/right. This accomplishes a similar thing to that Niri is getting you, just with different ergonomics. It probably helps that I have good habits around closing unused tabs / programs.
argiopetech
Re. pane size, it's normal tiling behavior. Panes can be take the full screen or some percentage (I like 1/2, 2/3, and 1/3). If the widths add to 1, both panes fill the screen.
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.
jgtrosh
The WM has no job being the browser, but yes we should be able to run firefox without tabs like it's surf (and stop doing part of the WM's job). But you cannot practically do that.
NoGravitas
> yes we should be able to run firefox without tabs like it's surf
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; }
argiopetech
Zen browser (which is derived from Firefox) does a really good job of making this the default (at the expense of mainly supporting vertical tab lists, which I've come to love).
prmoustache
just open new windows instead of tabs. Or am I missing something?
pmarreck
NixOS will get you there (or anywhere, to any version, of any thing, and/or back again) just by pinning any conceivable package (and it has more than any other Linux distro) to a particular nixpkgs hash.
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.
copper4eva
What LLM(s) do you use or recommend for nix?
pmarreck
I've been using Claude and Codex and both are excellent; I imagine Gemini would be too. Likely Grok as well. They're all smart enough to be helpful at this point.
hagbard_c
I've been running Xmonad for about 16 years and, having read the description and watched the video think I will keep on doing so. It looks to me like the cognitive load of the horizontally scrolling strip is higher than that of the paged approach used by e.g. Xmonad just like it is a lot harder to locate a specific section in a vertically scrolling unpaged ream of text than in a paged book. Especially on pages with many windows - 10 terminals on page 1 is more or less standard, 2 large ones stacked in the middle flanked by 4 smaller ones on each side - I keep track of which terminal goes where based on (among others) location. This works because all 10 of them are visible at the same time, it would not work if the display only shows one or two of them at a time. Am I missing something or is this WM/compositor more suitable to smaller displays which can not show all that many windows at the same time?
Of course I also use X11 so this thing would not work for me anyway.
STKFLT
> Am I missing something or is this WM/compositor more suitable to smaller displays which can not show all that many windows at the same time?
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.
1337shadow
Well it does look beautiful but I don't think I can go back to anything that's un-paged neither, after 17 years of dwm. Also, just watched a bit of an XMonad demo which reminded me how much I love the simplicity of dwm's tiling workflow based on having a master window per page (dwm's tag) because it completely removed the burden of window management for me with barely any configuration, I wonder how I'd do without it ... Probably going to try XMonad just to feel the difference, maybe I'll like it.
cycomanic
What do you mean by un-paged? I just looked at dwm and I don't see that it has anything that other tiling wms don't have. Xmonad, i3, sway... all have workspaces/tags.
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.
colordrops
Zoom works, it's just janky.
jzb
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.
detectd
I wouldn't be surprised if the COSMIC folks add it after the 1.0 release. There's been a lot of feature requests for it. In the mean time, a System76 employee created this unofficial extension to let you use other compositors within COSMIC, including Niri.
chrchr
I also switched from PaperWM to niri, and I was reluctant to do it, because I really liked not having to configure several different little apps to get a working desktop environment. GNOME comes out of the box with an app launcher, a basic configuration editor, a screen locker, widgets for controlling audio and network, etc. But ultimately, PaperWM was too quirky. For example, sometimes PaperWM and an app would disagree about what size the app's window should be, and the window would resize itself repeatedly. The vertical sizing never worked very well either.
NatKarmios
I'm in a similar situation; I think QuickShell [1] could be a compelling option, particularly premade configs for it like DankMaterialShell [2] (which is intended for Niri).
ThePinion
I've been very happy with Noctalia. https://github.com/noctalia-dev/noctalia-shell
nylonstrung
Cosmic with tiling would be so incredible. I love cosmic and that's the one thing I'm missing
zem
cosmic has tiling! that's the main reason i'm using it
rirze
Thanks, I wanted to know the difference with COSMIC
lillecarl
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).
rendaw
How much does random people reviewing other people's PRs help in practice?
As a maintainer I'd still want to review PRs myself before merging, no matter how many random people did it before me.
As a contributor, I'd hate for a random with shallow understanding of the problem/project to come in and tell me I had to change stuff or say my PR's no good, in the chance that the maintainer is easily influenced by strong internet opinions.
lillecarl
Drive-by contributions of all kinds suck for the most part, don't contribute if you're not going to do it properly. At some point there's got to be more than one person able to review PRs (if the project scope mandates it).
Linus Torvalds doesn't review all changes he merges, how do you become a comaintainer if not assisting with maintenance?
If you can't review, don't make a PR (or something).
knoopx
I second this, if you are daily niri user, show your appreciation, I already did! Here's my personal setup, hope it inspires someone to try it https://github.com/knoopx/nix
squigz
Link to support: https://github.com/sponsors/YaLTeR
3abiton
As a hyprland user, why should I switch to Niri? Is the appeal based on the "inifinite windows" feature
Shebanator
I don't think its for everyone, the paper metaphor either works for you or it doesn't.
That said, the other big benefit for me is it breaks a lot less often than hyprland and its ecosystem seems to (and I don't just mean bugs here, I also mean things like config file format changes). And this isn't a slam on hyprland - I was only ever mildly annoyed by its breakage.
lillecarl
"written on rust" is one pro, the other is the native scrolling thing, I appreciate workspaces with a bit of leeway. If you're already on hyprland it'll be an easy switch
baq
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.
arendtio
If there is one thing about macOS that really sucks, it is the window management. I have been using it for three months now and still don't understand how to use it.
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...
doakes
This is my exact experience! I really tried for 6 months and I just couldn't avoid fumbling around. For example, the experience of going in/out of fullscreen is jarring.
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.
bsnnkv
I've been working on porting komorebi to macOS[1] over the past month and the scrolling layout[2] works pretty well
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
WhyNotHugo
> I know I can't have it on macos. I also can't switch to Linux since macos is mandated by my employer.
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.
gedy
You might try Hammerspoon[0] with PaperWM.spoon[1] on macOS. This is what I use, and while it has quirks, it works better than not having it.
[0] https://www.hammerspoon.org/ [1] https://github.com/mogenson/PaperWM.spoon
tom_
Hammerspoon is quite easy to use, so attempting to cobble together your own thing (that does exactly what you want) might also be feasible. The documentation is decent and the iteration time is short.
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.
sotix
Aerospace[0] is by far the best window manager I've come across for Mac.
sprinkly-dust
Seconding this, I've used alternatives like Amethyst, and I can't disable S.I.P for yabai, but Aerospace fills in that missing aspect from Linux when I am in want of it.
exasperaited
I love the full-fullscreen mode for things like VSCode and FreeCAD on my 13" MBP. Never have a real issue with alt-tab though I must say I do end up paying attention to it more when I am switching between three windows and not in a cyle.
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.
iLemming
I use Yabai on Mac for a WM - it works great with my big screen, but I haven't figured out a good workflow for when I need to use just the laptop, then it becomes a bunch of spaces with one or two windows in each.
i_am_proteus
You are not alone.
anotherpaul
+1 Fullscreen Mac os but not the "Mac full screen" but normal full screen.
nickjj
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.
atlintots
Yes, this feature had been in the works for quite a bit since it required non-trivial changes to do it "the right way". Very excited to see these changes merged finally!
isopede
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).
diggan
Nvidia + Arch + Gnome3 + Wayland user here. I've tried Wayland on/off for the last couple of years, and made the switch I think late last year sometimes once I stopped seeing very obvious bugs/issues. Just about everything works fine nowadays in my experience.
Mostly made the switch because Wayland seems to run a lot smoother and efficient, especially when it came to Firefox for some reason.
spookie
Be careful. There are still showstoppers in wayland implementations, if you do anything that isn't common for a Linux user. Example: I am still unable to change the orientation of my drawing tablet.
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)
OtomotO
Oh weird, I never had a problem like that with my drawing tablet, but then again I dumped Nvidia in 2011 when I switched to archlinux fulltime and had to fix my install twice because of the drivers not being compatible with the latest kernel.
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)
t_mahmood
On Gnome + NVIDIA (RTX 2080) + Wayland + 3 Monitors [1DP 4K, 2HDMI (2K, FHD)]
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.
jzb
I think "tried it on _what_?" is the question -- which distribution, etc.? I've been using Wayland on Fedora for years and don't have any complaints. My primary laptop/desktop has an Intel graphics chipset, but I've tested it on laptops w/NVIDIA and not had problems.
isopede
It's been a few years since I last looked at it, but I've tried daily running it probably 4 or 5 times over the last 15 years. Usually on Arch, but also some Debian/Ubuntu-based distros. It's fuzzy now but I've tried probably every NVIDIA GPU generation since the GTX 500 series.
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.
LeFantome
The version of NVIDIA drivers that Debian ships with lacks explicit sync even now. Pretty much every other distro should work though.
argiopetech
In the same boat with you. Not quite the same configuration (some version change issues, lost it once in an 'rm' accident that followed a symlink to / [I learned that day...] and had to start from scratch, rewrote for fun once), but my sole desktop from '09 to '23 when I switched to Niri. My reasoning here: https://news.ycombinator.com/item?id=45462034
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.
mrweasel
KDE, Gnome and others obviously do provide stacking windows, but you do get the impression that writing a stacking window manager/compositor is just extremely hard to do with Wayland. Someone is maintaining a list of compositors[1] and there do seem to be a number of stacking ones, they just don't really get much attention.
wongogue
The audience of stacking wms is mainly serviced by the desktop environements. Both Gnome and Plasma are bigger than everything else combined.
kaffekaka
I just setup Asus Rog G14 with nvidia 3060, I was skeptical against Wayland but basically got it working straight away with only setting drm.modeset (thanks chatgpt?).
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.
christophilus
This is a scrolling WM (not tiling). I've been using it as my daily driver for over a year now, and it's awesome. I never liked tiling WMs because I do a lot of web work, and I often want a large code editor and a large browser window and a few terminals open. I don't like having stuff scrunched into a little rectangle, but I do like having all of that related stuff grouped in a single workspace. This works perfectly with Niri. I can keep my editor in the center, a peek of my browser to the right and a peek of my terminal to the left, and easily flip between them, resize, stack, etc.
I know it doesn't sound all that interesting, but once I used it for a while, I just couldn't go back.
prein
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.
kenanfyi
I have a 49” monitor and tried Niri for a while. I had some issues regarding Wayland, I believe because of Nvidia and stopped using it. I could probably solve them, but I have been using X since years and I don’t feel switching right now.
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.
christophilus
You can. You can also center them by default, or toggle centering via keyboard shortcut, etc. it’s pretty flexible.
lhl
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.
atlintots
Re: app cycling, you might also be interested in https://github.com/isaksamsten/niriswitcher.
lhl
Looks great, thanks for the suggestion!
vergessenmir
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
dinkleberg
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.
evgpbfhnr
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 :)
jpeeler
Wouldn't you have the same problem with changing workspaces? Sounds like you can't keep track of anything not currently present on the screen, which before the overview was a lot harder to deal with. One thing that could help is to create a "temporary terminal" keybinding to launch in floating mode so you'll never forget to close it. Or create a focus-or-launch bind that switches to an existing terminal (tools like Nirius can help minimize scripting). The other thing that may help is adjusting your struts so you can see that windows exist to the left or the right. More of general workflow tip than one related to just terminals.
evgpbfhnr
Yes and no; the difference with workspace is that I was limited to 0-9 with my old wm, so at some point I'd just run out of space and had to close some windows. (well, that, and X11 is apparently limited to 256 clients by default and I never changed that; but I rarely hit that limit :P)
I do have some struts on the side, but I'm basically always juggling with at least 4 or 5 tasks so I always have things open; (I'm not using any right now but I do like the "quake terminals" temporary term styles... But for the same reason it's not always appropriate -- if I didn't close the term, it's because I wasn't done with it and mean to get back to it...)
I started using niri before the overview, I think that could help if I get used to it. But better than overview, what I'd want is something always visible like some horizontal scrollbar indicator to remind me there's e.g. more than 3 windows hidden or something. That might be possible to do with waybar and a bit of glue parsing the windows list...
wongogue
The latest release exposes information about windows list and positions via API. Someone can write a widget for waybar or any other bar.
noisy_boy
I don't use niri but I worked around this problem (feature?) by creating a bash script that by default checks if a terminal is already open and if so, brings it into focus. Then I attach it to my default shortcut to open terminal and then create one more shortcut that opens a new terminal every time. So now, depending on which shortcut is pressed, I can either keep reusing the existing terminal or open a new one. I'm sure we can have a script that can do more fancy logic like allowing new terminals upto a given number and after that just bring the latest one into focus. Plenty of possibilities.
evgpbfhnr
I have a script that allows searching for windows based on title; so e.g. if I know I had a shell open in directory X I could search for that and jump to it... But in practice I quickly have 5+ shells in a directory once I start working on something and at this point my script doesn't let me differentiate between these easily enough to be useful.
Hmm, perhaps that could be made more interactive and allow cycling through these without closing the search overlay... I'll give that a try! :)
adrianmonk
I guess you could do this:
echo "TMOUT=$(units -t '7 days' seconds)" >> .bashrc
If a shell has been sitting at the prompt for 7 days with no input, it's probably OK for it to close. I'm sure it'll be wrong sometimes, but it seems less bad than pkill en masse.desireco42
that is actually dream come true... let's keep everything open always :)
amlib
and then you reboot the machine with full session restore working (whenever that's available for wayland) and get 500 terminal windows opening at the same time :)
desireco42
This is what we all want, to be in control. I am OK to make a mess sometimes as long as it is my mess not because of magical system. So yeah I would be OK.
Some kind of alert task that would tell you you have window open that you didn't visit in days would probably also be useful to your point.
I am not against it, just I can see positives in this. This is like tmux without tmux.
Get the top HN stories in your inbox every day.
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.