The Future Is Niri

ersei.net

423 points by mattjhall 11 days ago


tasuki - 11 days ago

I use Gnome and basically full-screen all my windows. Sometimes I use win+left/right to create a half-width window. Am I a caveman?

the_gipsy - 11 days ago

I would like to know, coming from a traditional tiling window manager, how does the shortcut workflow look like?

For me the number one thing is having fixed shortcuts á la Super+[0-9] to go to specific windows / workspaces / essentially a specific program. If I can have that, and additionally solving the "worskpace management" problem as TFA described, I'm sold!

Does it make sense to use "workspaces" like this with Niri? For example, one workspace with the browser, one with the editor, one with several terminal columns, and so on. I would need to "switch" (immediately, without animation effects, please) e.g. from "browser" to "terminals".

kemaru - 11 days ago

It wasn't a good fit for me. The strip of windows extending past the border of my screen, sometimes showing half a window, triggered a weird anxiety, it kept drawing my attention. I used it for about two months and then ditched it for a more traditional tiling compositor (hyprland) where windows don't overlap the screen border.

Niri is, however, very pretty from a technical standpoint. Modern Rust codebase, good code structure, very easy to understand and start hacking.

haswell - 11 days ago

I love the idea of tiling window managers and I've done reasonably long stints with i3 and hyprland, but for some reason, I've always struggled to fully stick with them and have fallen back to Xfce (old habits die hard).

I think what always ends the experiment is that once I reach a certain number of windows, it can be more challenging to manage them if you haven't gone deep enough down the rabbit hole to properly configure workspaces, layouts, etc.

I just fired up Niri, and in 10 minutes I already feel more comfortable than I have with other tiling window managers. It feels immediately intuitive, and the mouse integration is excellent. Maybe it's too early to declare victory, but this really truly looks like exactly what I've been wanting/needing for years. I'll judge how good it is by how long it takes me to think about going back to Xfce ;)

xpe - 11 days ago

A fun read. Everyone has their breaking point…

> Naturally, instead of figuring out what library made a breaking change and spending four hours running git bisect, I decided to throw nearly a decade of muscle-memory and workflow refinements out the window.

jdiez17 - 11 days ago

I’m also a long time i3/sway user and find Niri quite comfy. I can carry over most of my muscle memory from sway for navigating the focus, moving windows etc. I’ve also found it to be very stable and works out of the box with xwayland-satellite.

My biggest issue is that I keep “losing” windows. I open them in a deeply nested stack, do something else and forgot I already had opened the window.

It also happens with sway to some extent but it’s a lot easier to scroll through all workspaces.

It would be nice to have something like a “window map” bound to Alt-Tab.

cnqso - 11 days ago

I'm a hyprland zoomer but I used Niri for a bit and it worked pretty well. It slots in perfectly for someone coming from an average single-monitor Windows workflow (for most office-style tasks). I still think that more complex tiling setups have a higher productivity ceiling though. I guess if you're like this guy and keep >10 workspaces open at once you'd have to go with Niri. I wonder if the increased battery life would still hold for someone that only keeps a few windows open at once. 2 hours is insane from just a change of wm

evanjrowley - 11 days ago

I've never tried Niri, but I'm interested.

Recently I had a good introduction to the scrollable WM experience on GNOME with the PaperWM extension: https://github.com/paperwm/PaperWM

sunshine-o - 11 days ago

Scrollable WMs are really terrific because you get about 80% of the productivity benefits of a tiling WM with 20% of the effort.

I am puzzeled by the fact it took us 30-40 years to figure it out !

specproc - 11 days ago

I can recommend trying out any non-standard WM to anyone looking to learn more about what's going on with a Linux desktop. I learned more about Linux playing around with TWMs than any other class of software.

I don't know if it's really made me any more productive, but it's a fantastic learning experience, the ergonomics are great, and there's incredible satisfaction in building your own desktop environment from the ground up.

ollybee - 11 days ago

I've been using sway daily since before it was really stable and recently tried Niri but maybe couldn't get over the muscle memory from sway. I use sway mostly in tabbed mode anyway which gives a similar feel to a scrolling WM but with flexibility to break out to tiles in a different workspace if needed.

What has massively improved my workflow recently is vertical tabs in Firefox. I now have browser tabs I can cycle up and down through on side of my screen, and application tabs I can cycle through left and right at the top. I love it.

flkiwi - 11 days ago

I tried to use niri, but I couldn't get it working on NixOS. That is almost certainly user error on my part, but, as a devoted paperwm user in my gnome days, I'm very much on board with what niri is offering.

And since this is a discussion of linux window managers: Currently I'm using hyprland, which is great, but the one I really want to keep maturing is river. It's a very sensible WM that is nonetheless not completely hostile to fun like at least one wayland WM I'm not going to name.

drcongo - 11 days ago

That video immediately made me wish this was available for Mac, it seemed to fit my brain's model of how things should be.

depingus - 11 days ago

KDE users might be interested in Karousel. A Kwin script that also does scrollable tiling windows in KDE. https://github.com/peterfajdiga/karousel

tycho-newman - 11 days ago

When I was in my 20s, I was all in on Compiz. Whatever happened to it?

bardsore - 10 days ago

I tried Niri, but couldn't figure out how to get good enough support for X programs. Specifically I had issues with the clipboard, I couldn't copy passwords from 1Password (X) and paste them into Firefox (Wayland). Niri doesn't seem interested in having built-in first class support for X and I'm not interested in maintaining it for myself either.

mmgutz - 11 days ago

Niri is RAM efficient. I run Niri in an 8GB VM on Intel Macbook, and on a $99 8GB mini PC. Total RAM usage on boot is less than 400MB with waybar, polkit, ssh-agent, mako ... That's in the ultra lightweight WM category. Compare that to Gnome+paperwm (1.6GB)

There are features Niri sorely needs: 1) 2D overview (zoom in/out), 2) enhanced meta for windows (to create window indicator [1] and window picker)

andrewla - 11 days ago

This looks really intriguing and I'm looking forward to using it.

I'm still using i3, which is just barely good enough to work.

I miss Notion, which was unfortunately too flakey and unstable to continue using, but that had one property which it looks like Niri preserves -- opening a new window will never cause a resize event. Notion is perhaps even stronger because there is no infinite canvas; opening a new window will never cause a re-layout. It will always open in a tab or a blank space. Similarly, moving windows won't cause re-layout actions; it will just move them between tabs of existing frames.

My i3 configuration tried to preserve this -- it tries to make everything tabbed by default so that moving windows will just move between tabs rather than into new blanks spaces and cause a relayout action, but sometimes, for some reason, it just ... does not, and instead opens a new split.

I tried to make xmonad work but I'm not good enough at Haskell to figure out if it was even possible to configure it the way I want.

eximius - 11 days ago

Glad to see Smithay has approached a point that lots of things are being built on it. Last I really deeply looked at all this was when Way Cooler abandoned wlroots-rs.

And to my pleasant surprise, it seems like there may finally be an AwesomeWM alternative for Wayland now! (Pinnacle)

arghwhat - 11 days ago

Niri is cool, but was the drag issue reported? :/

sway 1.10 is from october, 1.10.1 is a bugfix from late january. Since they're talking about git bisect, I imagine they might be running master (i.e., bleeding edge) instead of stable releases...

boomskats - 11 days ago

The _only_ thing I feel Niri still needs is this: https://github.com/YaLTeR/niri/discussions/352#discussioncom...

Otherwise it is the perfect endgame UX for me. Regardless of screen size or form factor. I never thought I'd find something that I liked better than i3/sway, but those subtle niri animations, at double speed? On a high refresh rate monitor, w/ amdgpu? Ahh. Chef's kiss <3

Ferret7446 - 11 days ago

I think i3/sway has deceived a lot of people into thinking that tiling means manual tiling. Having to manually split and arrange your windows is not how tiling is supposed to work.

MyOutfitIsVague - 10 days ago

I've gone on and off tiling WMs over the years. I've just switched from Sway to this, and I'm really enjoying it so far. I have a lot of the same issues with Sway. I really like Sway, but to get the windows working great for me, I end up having to do a lot of manual window management.

I really liked Paper WM with Gnome, but it had lots of little nits that made it frustrating to use (but it did a very admirable job for a Gnome shell extension), and I went back to Sway.

ahub - 11 days ago

Coming from the same background as the author and about checks notes 15 years older (ouch), I loved Niri very much. However I never managed to make x11 windows behave correctly. At the moment the solutions are a bit cumbersome [0] and I didn't manage to have a smooth experience so far...

[0] https://github.com/YaLTeR/niri/wiki/Xwayland

jackbravo - 11 days ago

Is there something equivalent or similar for MacOS? This seems great!

I use (and pay) for the magnet app, I don't like the native fullscreen functionality or split screen options.

dkersten - 11 days ago

This looks interesting and I’ll probably give it a try.

I’ve been using Sway for the last five years and i3 for a few years previously. They work fairly well for me, I certainly didn’t have any of the problems the OP mentioned.

My all time favourite window manager, though, and one I wish would be revived (perhaps as a wayland WM now. How I wish I had the free time to take this on…) is GOOMWWM which I used for a decade prior to i3 (and Musca before that).

Starlevel004 - 11 days ago

I tried using Niri but the per-monitor workspace behaviour is completely unacceptable to me. I don't use a laptop.

cmrdporcupine - 11 days ago

How did we get to a place where a major popular piece of software like this will provide binary packaging for basically every distribution other than Debian (and, by extension, Ubuntu)? This feels out of step with the last 30 years of Linux software development... These are very popular distributions...

- 11 days ago
[deleted]
DarkCrusader2 - 11 days ago

Does anyone know the best way to get some tiling behavior in tradition DEs like Cinnamon.

Some basic things like notifications, keyboard controls for volume/brightness, sound etc don't work the best in i3wm by default and requires some fiddling on each machine to get it to work properly.

I love the out of the box behavior of my Mint installation and don't want to switch completely to something like i3wm. I could get even a watered down version tiling and stacking like i3 with keyboard shortcuts, I would be very happy. There is gTile but it doesn't quite work the same way.

crabbone - 11 days ago

I use stumpwm. The reason is to have fewer features. In the few years I've used it, I never wanted to select text with mouse (although sometimes I had no choice, eg. in PDF), but even then, I never wanted to drag it with the mouse (and I never needed to do that). I don't even know if that would work, and even if it doesn't--wouldn't care...

If I didn't need a Web browser and a PDF reader I wouldn't be running X at all... I wish there was a usable alternative for the browser and PDF reader that didn't require X...

sureglymop - 11 days ago

I just use gnome with pop-shell (though on arch). Been using it for years and never had issues with it. For me it's always felt nicer to have a tiling wm on top of something like gnome.

mrbluecoat - 11 days ago

I think the post should be retitled "The Future Is Niri [for people who never touch their mouse and instead like memorizing keyboard shortcuts]"

(watch the bottom-right readout on the video)

adityaathalye - 10 days ago

OMG the tenor of the writing, the terrible puns... I love it! 'tis as if I am reading a sibling from a mirror universe :) Uncanny resemblances to the first post I wrote when resurrecting my blog: https://www.evalapply.org/posts/hello-world/index.html#main

z0r - 11 days ago

I enjoyed this post but I'm going to keep using xmonad (and X) until I can port my configuration to a wayland equivalent (if that is even possible)

Shugyousha - 10 days ago

Hm, I am using [dwm](https://dwm.suckless.org/) with a custom keybinding to shift to the left or right workspace. That seems similar enough, other than the fact that changing the split ratio will affect all workspaces on dwm while on Niri it most likely will not ...

atlintots - 10 days ago

I used AwesomeWM for the longest time before switching to Wayland where I used Gnome because none of the existing WMs seemed interesting at the time. I tried riverwm for a bit but it didn't work for me either. But lately I've been super intrigued by Niri -- it feels fresh and exciting. I've been keeping an eye on it and I can't wait to try it out!

kazinator - 10 days ago

If you drag some text from here to there, it could be good to have it stay selected. You might have dragged it not quite where you wanted it; it might need another drag.

Or am I misunderstanding "changed somehow to keep the selection happening after you released the mouse".

(I understand that people don't like UI changes that break their muscle memory of course.)

WeZzyNL - 11 days ago

It's X11 but whenever (tiling) window managers are mentioned, I feel a strong urge to mention Herbstluftwm [0]. It's more manual than the automatic splitting most tiling WMs do but I really enjoy how easy it is to split/tab using the keyboard in Herbstluftwm.

[0] https://herbstluftwm.org/

cafeinux - 11 days ago

This seems interesting. I've been thinking lately of re-installing a tilling WM on my daily driver because I have a wide screen and I spend more time rearranging and searching for windows than doing actual things on it. Also, it seems that all that screen estate could be put to better use with a tilling WM. Guess I'll give Niri a try, maybe it will fit my needs.

cies - 10 days ago

Niri: the next redefining software project that happens to be written in Rust. (after so many: RedoxOS, Zed, ripgrep, uutils, servo, COSMIC EPOCH, ...)

If there's something that the Rust community does well it is capturing enthousiasm to get stuff done.

PixelForg - 11 days ago

I was interested in Niri until I saw that it had the same issue that other wayland compositors have (except Gnome and KDE) i.e xwayland scaling

> Display scaling (integer or fractional) will make X11 apps look blurry; this needs to be supported in xwayland-satellite.

BirAdam - 11 days ago

Having heard about Niri previously, I really didn't like the sound of it. Seeing the movement with hotkeys shown with each movement... well... that completely changed my perspective. I will have to give it a try.

maelito - 11 days ago

My biggest problem with wayland was support for french characters. So annoying, so basic. L'accent circonflexe ne marchait pas.

Last time I tried, a few weeks ago, it wasn't better.

vondur - 10 days ago

Doesn't the PaperWM extension in Gnome work similarly? Granted, extensions in Gnome tend to break with every version that is released.

yurlungur - 10 days ago

Happy to give it a try but I have 10 years using tiling wms exclusively for research and work and I never wanted to have more than 5 workspaces. I think the nice thing about wms is that mental model to keep things lean and simple, similar to how I also don't have a thousand tabs open and in fact I try to close all of the by the end of every day. I also fail to see the benefit of that many workspaces given you have other tools such as tmux etc.

bsnnkv - 11 days ago

Unfortunately tiling window managers for Linux have become quite stagnant in terms of improving and iterating on workflows, which is probably why we're seeing more of the kind of sentiment expressed in this post lately (of course, the poor backwards compatibility story is not helping either)

The Windows scene is definitely the place where the most interesting workflow advances in "traditional" tiling window managers are happening right now.

klardotsh - 10 days ago

I could have word for word written almost exactly this blog post, that's how dead-on-accurate I find it, and how similar OP and I's experiences are (down to when and why we originally switched to Sway - mixed DPI long before Wayland was really "stable" for a daily driver).

Niri is incredible, and has completely eliminated the mildly infuriating bin-packing and layout-optimization problems that TWMs exhibit, without sending me back to the floating WM dark ages. I wish Niri had existed like 10 years ago, but I'll accept it existing now as plenty good enough.

strobe - 11 days ago

I thought moving from i3/x11 to sway/wayland but from this post is looks like screen sharing still not resolved yet completely on wayland. How much time is worth to wait until UX with wayland will be good enough to not worry about that kind stuff?

qalmakka - 11 days ago

I just can't wrap my head around tiling WMs (and I've been doing Linux since a _long_ time ago). I just don't see how usable they can be when you have a "small" screen to be honest.

sroussey - 11 days ago

This looks like some headset UI designs to me.

Viture comes to mind.

bshacklett - 9 days ago

We need to come up with some sort of Application User Interface contract paradigm. I, for one, am really getting tired of UIs changing constantly. Sure, the changes might bring minimal improvements, maybe even major improvements sometimes, but if it completely breaks my muscle memory, moves something so I can’t find it anymore, or otherwise forces me to relearn how to use the application, shouldn’t I, as a user, have some say in that?

In the old days, we could choose when to upgrade (often at a significant financial cost). Now, things change out from under us without any notice whatsoever, or maybe with an annoying tutorial that pops up at the most inconvenient time possible.

dhrm1k - 11 days ago

funny I got to know about ersei from Purdue linux group's members list and here he is on the frontpage of hn.

- 11 days ago
[deleted]
alex-robbins - 10 days ago

Does anyone else find it suspicious that the author was using so many workspaces on sway? I have to wonder if they're not making good use of sway's tabbed and stacked containers ...

> If you don't find yourself constantly swapping between fullscreen and non-fullscreen views and running out of workspaces, you don't have very many windows open. Don't even get me started on tabbed/stacked layouts with nested containers, the least ergonomic Band-Aid™ for the space issue I've ever seen.

On the contrary: I think this author really ought to get started on tabbed/stacking layouts! Constantly swapping between fullscreen and non-fullscreen views, like running out of workspaces, definitely sounds like an antipattern to me. I don't believe that the number of windows is the problem here.

If I'm deep into something, I might have 10 or more windows open, all on one workspace, on a 13" 1080p laptop panel. Of course, not all of the windows are visible at once. A common pattern for me is to have most of my screen taken up by a container split "horizontally" (meaning into a left side and a right side), where each side can be a tabbed container containing several windows. For example, I often have Emacs on the left, and several tabbed terminals (including man pages) on the right. Maybe some of those terminal tabs on the right are split "vertically" into a top and a bottom terminal (e.g. for a shell prompt on top and man page on bottom). Outside of this big left-right split container, which fills almost the whole screen when it's visible, I'll usually have some browser windows open. If it's just one browser window, I'll put it and the big-left-right-split (BLRS) in a stacking container. This way, you can think of the browser as being "above" the BLRS, and you can get there and back by moving the focus up and down again. It's like each stacked item (the browser and the BLRS) gets its own workspace, in that they each take up nearly the full screen when visible, but actually they're both on the same workspace, and the only cost is the loss of one title-bar's height of screen space. Then, if I want more browser windows, I can split the existing one into its own tabbed container. (I use both WM tabs and browser tabs, just like I used to use multiple browser windows on one workspace with Gnome.)

Basically, as my number of windows grows, things become (slightly!) more nested, rather than being ejected into surrounding workspaces. The trick to making this ergonomic is to choose what to stack vs tab so as to allow you to flip back and forth between (at least) any two windows with just a couple keys. (I also have two keybindings to split a container and immediately make it stacking or tabbed, and also two keybindings to focus parent-wards/child-wards. Then, you can easily jump from a window in the middle of a tabbed container on the right of the screen to the window on the left half of the screen---you just focus parent-wards then left (two keys). To get back, just focus right (one key).)

I should also add that I haven't really seen any problems with apps behaving badly when being resized, including Firefox. Maybe that's because my workflow mostly looks and feels like "slots" of a few different sizes (roughly full screen, half screen, quarter screen), and adding new windows to, or moving windows between, these slots is never going to change the size of the slots or the windows displayed in them. In fact, with traditional floating window managers, when has resizing a Firefox window ever caused me to lose my place in the page? Only when I make it super unusably narrow, or short, or both, and then expand it again. This is what would happen if you open a bunch of windows all in horizontal and/or vertical splits, with no stacking or tabbed containers! But why would you do that?

gatane - 10 days ago

Windows 8 all again huh?

bilekas - 11 days ago

> The worst "street-cred" I have is that I've been using tiling window managers for thirty-five percent of my life: five years with Sway and two with i3. As the realization of those numbers (and my age) dawns upon me

The author is ~21 and seems worried they're old ? I had a good giggle about that.. And then it dawned upon me how old I actually am.

hackburg - 9 days ago

[dead]

ge96 - 11 days ago

where's i3 gaps and the ricing