The Future is Niri

132 points by eBPF


aarroyoc

I find amazing that so many people are discovering Niri right now (me too!). Last weekend I even took the time to write a short ArchWiki page about it. It’s not complete and I encourage people to add stuff to it.

niklaskorz

Niri has increased my battery life by about two hours compared to Sway.

Does anyone know the technical reasons for this? I would have expected wlroots-based compositors to be more power efficient as they had more time, usage and contributions to mature than Smithay-based ones.

owl

I think Niri is the first tiling WM that I’ve used that I could recommend to friends, simply because the worst thing that can happen is that you have to scroll, which is also the main feature.

In other tiling WMs that I’ve used, you quickly run out of space and get silly squashed windows, and almost immediately have to learn more things to be able to deal with it. In Niri you can scroll until you’re ready to learn more things, if you want to.

daylin

This experience pretty closely mirrors mine. Having spent the last 6-7 years on dynamic tiling window managers (mostly qtile and hyrpland). But after trying niri for the last week, I’m 100% convinced that the workflow just makes way more sense for the way I use monitors and windows. With Hyprland I was constantly shuffling windows and workspaces around trying to keep everything compartmentalized.

I also was more likely to change workspaces to open a new window rather than crowd out whatever I was working on. Particularly since 98% of the time the only applications I use are a browser and terminal and I basically never want to Xmonad-style layout my browser into a tiny window.

Now I only need to get an ultrawide monitor to try Niri on…

My thoughts exactly…

Melkor333

Wow, this is exactly the reaction I kinda imagined when I saw paperwm.

Before doing the switch from awesome to paperwm I found Niri and decided that I’ll move directly to wayland+Niri instead. Though I kinda haven’t had the guts to leave all my X helper scripts behind and actually move to wayland yet…

I guess this is what I needed to actually seriously consider switching to wayland soon. Thanks!

wink

Traditional tiling window managers have a side effect of forcing you to be as efficient as possible with your window layout. There is an additional cognitive load incentivizing you to optimize for the wrong thing:

I disagree with this, my tiling WM is forcing me about nothing, it’s just how you use it, or what problems you want to solve. My setup exactly takes away all cognitive load - one of the main problems with my current macOS setup, I need to think about window placement all the time.

That said, I’m planning to give niri an honest trial soon, not because I am fed up with any specific tiling WM, but I have a new machine that needs a setup anyway.

taras

i switched to niri last week, it is nearly perfect. I also been tiling for a long time and this finally feels like a huge improvement over i3 and every other tiling solution I ever used.

Main thing I would like is something like expose to get overview of all my windows

j3s

one neat thing about niri is that it uses KDL for config, which has been delightful. It reminds me of a json hcl hybrid:

foobar {
  foo value
  bar "not foo"
}
ksynwa

Is it possible to integrate this with Plasma?

kevinc

What do fans of (different kinds of) tiling window managers really like about them? I’m earnestly curious since I like my windows to float, pile/overlap somewhat, and be their own best sizes. Is it about putting all pixels to work? Keyboard finesse?

jeezy

There is a lot of stagnation in the Linux tiling window manager space these days when it comes to improving and iterating on actual workflows rather than aesthetics, and backwards compatibility continues to be a thorn in everyone’s side.

I’m more active in the Windows twm scene, and I’m seeing (and have personally worked on) attempts to integrate scrolling workflows into “traditional” twms - from my experience I don’t think this is an either/or situation, and the two approaches can co-exist in the same wm fairly well.

aru

I’m currently on sway, the way I work is - I have 10 workspaces, workspace 1 shows telegram, slack and matrix; workspace 2 has just a browser; workspace 3 has all the terminals; workspace 4 has just emacs; workspaces 5 to 9 are scratchpads, I don’t keep anything long running in them, I just use them when I need more space for a one-off thing; workspace 10 is for music/media

Right now I can switch to things directly because they are always at the same workplace. Could something like this be replicated with niri? I played with it for a few minutes but found myself getting a bit lost - my keybinds didn’t land me on the things I hoped they would due do the dynamic nature of workspaces

To ask the same question in a different way, how do you prevent windows from getting lost, if a window can be on a workspace, but off-screen?

benoliver999

OK this finally convinced me to kick my decade long i3 habit and try niri. I hate switching to new stuff like this, the config etc gives me a headache. But the demo was very persuasive.

It’s really, really good! I realise now how much I switch to new workspaces just to avoid squishing whatever window I’m working in.

One thing I’d really love is a minimap of some sort. Even if it’s just a horizontal representation of what’s open that can fit into waybar. I can see myself ‘losing’ windows quite easily.

bwbuhse

I should try Niri again. I guess, theoretically, I could always just write a Niri-like wm for the new river window management protocol coming out some time this year. I tried Niri briefly but I’ve just gotten used to not using a bar with river and in the brief amount of time I tried that on Niri I couldn’t find windows a lot.

jcelerier

wanted to try it and my experience is the usual wayland one:

Like, all this was entirely solved in the X11 world, I can try any random new WM and key input will work as expected because I have the correct setxkbmap configuration in my .xinitrc. Why is it so hard to have the same in Wayland?

rseymour

I love standardized computing environments that don’t break and don’t change substantially for years. Still I hope this gets copied into a certain GUI I like that hasn’t changed much in ~25 years.

ThomasAdam

This does seem interesting – however, this isn’t anything new as a concept.

It’s been around on X11 for years as virtual desktop support. What makes this “interesting” is how applications are arranged.

Now, under Wayland, this approach is easy as there’s fewer restrictions around how applications are sized. I hope this changes…

waelk10

I would argue though that it really depends on what your workflow looks like, if it is by any chance mostly terminal emulators and a few actual “graphical programs”, then the i3/sway workflow is very well optimized for that. It always seemed to me that things like “drag-and-drop” are never going to be well supported because you won’t use them - specifically in the case of text: highlight and paste (middle mouse button/Shift + Insert) works since the days of X11.

alper

Would love to try this but on macOS so far we only get a Hammerspoon script.

sammko

Somehow niri is a slightly better experience than sway on nvidia drivers. By now most issues have been resolved in both, but xwayland remains a flickering mess under sway. Xwayland-satellite just works better.

dsp

I absolutely love Niri but I have some weird font rendering issues in xwayland satellite that I cannot seem to solve where everything is just super blurry

otde

This post convinced me to try niri. I’ve just installed it, and right away, I’ve found the default config experience to be really nice. It’s very accessible. When I run into a problem, I find that the wiki contains workarounds for it! Huge fan.

lonjil

I gave Niri a try for a few hours. I didn’t finish all the customizations I would’ve liked, but I don’t think I would’ve liked it even if I had.

Your comment about searching for something and it being in the last place you look, is exactly how I felt with Niri once I had more than say 6 open Windows in a workspace. And I found it frustrating that it’s impossible to open a new window without moving all the other windows. I found myself manually shuffling windows around every time I opened one, or going to separate workspaces to avoid the issue.

I’m a bit disappointed, because I’ve had a lot of technical issues with Sway and Niri seems great on that front, and it has neat features. Maybe I’ll take a hatchet to Niri’s code and make it work like Sway so I can get a setup I can live with on a better technical foundation.

dmytrish

I use Niri and I wholeheartedly agree that Niri is doing much better job technically than the clunky quirky C code in wlroots and Sway. It’s also a nicer user experience overall. Niri is only getting better by the day, leaving stagnating Sway C code in the dust.

Still, I somewhat miss the UX of “tabbed/stacked layouts with nested containers, the least ergonomic Band-Aid™ for the space issue I’ve ever seen” and I don’t agree that containers are a band-aid, even though I agree that they bring their own cognitive load.

On Sway, I often had eleven workspaces open.

added shortcuts to workspaces 11-20

On Sway I was never actually using more than five workspaces. A laptop screen + a big 4k screen + tabbed containers were actually a solution to the proliferation of workspaces: I kept a small number of workspaces with an arbitrary number of temporary windows in a tabbed container for a task that I could manipulate as one unit (closing, moving to another workspace, etc). I had to adjust to avoid multiplying windows in a Niri workspace, because I quickly lose track of invisible windows beyond the edges of screen (and Waybar has not been cooperative to display icons only from the current workspace), while on Sway I could see window decorations and titles for every top-level window/container in the workspace at the same time.

Another little annoyance is that I like that Sway workspaces have their own global namespace. I’m used to Sway workspaces 1 and 3 living on the laptop screen, 2 (and rarely 4) on my external monitor by default. When I unplug the external monitor, the workspace 2 (and maybe 4) just migrates to the laptop screen temporarily without changing the numbers, while on Niri workspaces 1 and 2 from the external monitor become something like 4 and 5 on the laptop screen.

Another feature that I’m waiting for is to be able to bind gestures to actions (swiping a workspace to another monitor can be nice).

Still, Niri is just awesome overall, I use it and I highly recommend it.

pl

Thank you, this finally gave me the kick to migrate all my shortcuts/necessary config from sway to niri and it’s great to see how quickly everything worked out. So glad I’ll finally be able to share windows.

LenFalken

Where is the Niri for X11

benjajaja

Just tried, instantly sold! Also coming from years of tiling WMs.

recursion

I’m totally happy with XFCE, and I’m sad about how happy I am because I’ve got no incentive to have fun by playing with alternatives. Anyway, for anyone who wants to become as happy with a non-tiling WM as I am, the trick is to use jumpapp or something similar plus your favourite key-remapper to assign keys to jump to apps without having to think about where their windows are.

dubiouslittlecreature

I wish something like this (at least, that’s still maintained) existed for X11

jc00ke

I ran Niri for a while and liked it (especially the per-window sharing) but it only supports sideways tiling and that doesn’t work well with this LG Dual-Up. The windows would end up being awkwardly long and skinny. I’m hopeful it’ll be addressed as part of this issue.