Niri is not for me | Arijan's blogNiri is not for me<br>After a year of using Niri, I’m probably going back to Sway - here is why.<br>Out of sight, out of mind<br>When you open four new terminal windows on Niri, you quite literally don’t see the consequences. If you leave those windows at their default sizes (half screen width), you have just added 4×50%=200% (two monitors’ worth) of horizontal scrolling space for your future self to sift through. You leave them there, just in case, and ‘focus left’ a bunch of times to return to what you were doing.<br>The time has come for you to return to one of those four windows. You are filled with anticipation - you know the terminal is in the perfect working directory, just one up-arrow away from running the command that will bring you joy.<br>However, you must first face your three evil exes.<br>You press a button, and the right half of your screen smoothly uncovers one of the terminals. Where am I? You scan the content of the terminal. This is your terminal, isn’t it? So how come you don’t recognize its content? You spent so much time in your IDE that you forgot what you put here. Oh right, you understand now. It’s not what you’re looking for.<br>You go to the next terminal, and your screen is now divided in half: the terminal you just passed, and a brand-new one. This one is filled with colors and text; you ran some grep command to find a random string. Whatever, you already resolved that, so you can close it now.<br>The third terminal only contains a couple of pkill rust-analyzer invocations and some random one-off project-related commands. Does this really need to take up 50% of your screen? At the same time, you can’t put it in a tabbed column, since it’s its own separate thing. You can just close it and open a fresh terminal later.<br>And there it is, the fourth terminal. You finally reach what you were looking for. Now imagine you already separated half of those windows into another workspace and have to deal with window-creep for each workspace separately.<br>Why are you not helping me?<br>Web browser, terminal emulator, text editor, file browser. All of these contain their own way of separating tasks; mainly the concept of a ’tab’.<br>I’m reaching out to my window manager to help me unify and manage this mess. Sway spoiled me in this regard. The ability to have meticulous higher-level tabs and tiling for any application is a lifesaver for people who, for whatever undiagnosed reasons, juggle a billion things in a day.<br>Niri simply cannot not help you manage your windows like Sway does.<br>No tabs<br>Even though Niri technically has a stacking layout called “Tabs”, it’s not ideal. The indicator that a column is tabbed is borderline invisible and gives no hints as to what the contents of the other tabs are.<br>Furthermore, if a column is tabbed, you can’t have anything else below the tabbed section. Any windows you try to put into that column will be forced to tab vertically.<br>In contrast, with Sway you can have the top-left corner of your screen be tabbed terminals, yet still be able to put whatever you want in the bottom-left.<br>Workspaces and monitors<br>Niri forces each workspace to live on a specific monitor. There are ways to move a workspace to another monitor, but that permanently pushes the workspace onto the other monitor’s workspace stack.<br>Many window managers sadly force this behavior, and it adds unnecessary friction if you want to bring something up on your other monitor.<br>Say for example, you want to take a detour to ’like’ the song you’re listening to on Spotify. But wait, your Spotify is on your secondary monitor, at the bottom of the workspace stack. This means you have to switch your focus to your secondary monitor, start scrolling down1, find Spotify and then like the song.<br>However, you never find Spotify. Remember when you played a song on YouTube 3 hours ago and left the maximized YouTube window to the right of Spotify? (because they’re both “music”?)<br>That is the consequence of being able to freely open windows. When you come back, you are disoriented and have to spend considerable time to figure out what you were doing. So, just scoot past YouTube, no big deal.<br>The overview helps greatly with this, provided you hit another shortcut to bring it up, and have it zoomed out far enough to find Spotify.<br>To be fair, Sway annoyingly also doesn’t have this option, but you are able to replicate it with a script such as jschlumpp/i3-wk.<br>This concept makes Niri’s entire window searching process obsolete - if you put Spotify on workspace 5, you press the button2 for workspace 5 and Spotify will be brought up in front of your eyes, in plain sight.<br>Your Sway layout is art<br>A container is the building block in Sway, and it is basically a “box that contains windows or other containers”.<br>Take the example from before:<br>In contrast, with...