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.
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.
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.
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'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.
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'.
I might give Niri a shot at some point, but yes, this is my thought too: this is more or less the same as having multiple tabbed panes, which enables the grouping GP refers to.
I was running i3 and sway foe years and tabbed tiles never really clicked for me the same way scrolling did. The first time I used a scrolling WM (I tried on of the plugins for sway or hyprland IIRC) it was an immediate revelation. However the sway/hyprland version were always a bit quirky, while niri "just works".
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.
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.
Like imagine editor is on ws2, you open a terminal to /tmp/ to check something quick, it scrolls to the right, then jump to ws3 for your file manager and other stuff and go back to your editor.
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"):
Editor | (TermT) | Term | Browser
(FM) | Term | Browser | etc.
(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
Editor | (TermT), Term | Browser
(FM) | Term | Browser | etc.
where the terms stack vertically in the ribbon of the desktop.
I think they aren't referring to "where does it go?" and more being forgetful.
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.
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).
This seems like a good place to note the "center window" keybinding for windows that don't fit well in the screen (e.g., 2/3 wide pane next to 2/3 wide pane, or 1/3 pane on the right end of the stack next to a full-screen pane).
Vastly preferable to having to look at the edge of the screen.
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.
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.
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.
Many of those apps minimise when closed and reopen when calling, so often it is not really an issue (although it's sometimes annoying that you have to specifically tell the apps to exit when you do want to close).
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.
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)
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.
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.
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).
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.
"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.
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.
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.
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).
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
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.
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).
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.
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
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.
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.
Try flashspace. It's a perfect solution when running apps full screen.
You just bind your workspaces to keys and they switch instantly. Without any animations.
I'm pretty much the same fwiw
I currently use stage manager and double click the top bar of the window to maximize (that's different than the green button)
I hate that I have to hold option everytime I maximise a window. All I want is to change the default to stretch windows and not use the fullscreen mode at all because of the other weirdness it brings.
Was long time ago I used macOS in any professional capacity, but doesn't it just maximize the height of the window, not the width? I seem to recall some UX like that, but might have been a different action/button.
Mac has a weird windows models based on contents, not the display. So the content can “suggest” maximum and minimum size when you double click the title bar. it fits within the document model (windows are tied to documents while the application oversees things, which is why the menus are global and closing a window does not exit the software).
Thanks for the insight. I have never thought about it that way and it explains the weird behaviors you mentioned and also why it works well for people who do mostly office stuff. As a dev, I heavily use browser, editor and terminal, which don't map as well to the document model.
It's the same behaviour as Option + Maximize. Finder for example, that grows taller. Terminal for example, that goes full screen. My browser also goes full screen.
Seems like the app decides what the behaviour is. But the point being it's the same behaviour as the Option + Maximize.
Just switch to Linux ... In Gnome just hit Windows+Right or Windows+Left it does exactly what you want. Install some Gnome plugins if you want 2x2 or 3x2 or other custom tiling.
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.
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.
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.
Have to admit, my first thought seeing the title was, "Really?! Do we need yet another tiling, or any desktop/wm?" but after seeing this one, I'm genuinely tempted to give it a try.... I've been running the COSMIC Alpha/Beta for about 6 months now and overall happy with it... but given my display and zoom level (45" 3440x1440 @ 125%) I'm mostly pinning a single app left/right anyway. This WM approach is pretty close to exactly what I want anyway.
I usually have VS Code, Terminal, Web Browser and maybe Email, Teams, Discord etc open depending on if it's work or personal. While I can't use this at work (Windows), I may give it a shot on my personal desktop.
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.
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!
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.
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.
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).
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.
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.
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.
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).
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)
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.
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.
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.
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.
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
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.
I really want windows to be able to span columns. So if I have 1 column with two windows and focus on the bottom window then create a new window/column to the right, I want that new window to be on the bottom half of column 2. I want the window from the top of column 1 to stretch across columns 1 and 2. If I again create another window/column to the right, that top left window should stretch across columns 1-3. So I should have one very wide window across the top of the screen and 3 windows across the bottom.
I've started playing with this idea in the hyprland hyprscrolling plugin but I'm kind of an idiot and don't have much free time these days.
Imo Hyprland should merge this hyprscrolling plugin into the main project, and just ship it as the default (only?) layout option -- it just scales to "more than 4 windows" so much better than either of Hyprland's master/dwindle layouts.
[1] I tried vanilla arch + archinstall + sway/niri/etc but really couldn't make it work from scratch, vs. the contrast of Omarchy which was "wow this all works" :shrug:
Does this or any other scrollable-tiling WM remember your preferred size of windows per-application? For instance, if I open a new Firefox window, I always want it to be the same width and full height. If I open a terminal, I want it to be half-height and the width I've set for terminals.
Ideally, I'd want to set that in a configuration, so if I made adjustments to a window one time it wouldn't change the default sizes.
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...)
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.
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...
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.
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! :)
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 :)
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.
Finally Niri getting the love it deserves! It's way better than Hyprland in terms of performance and stability. The code is much easier to read too (Rust vs CPP).
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.
I was installing hyprland on cachyos and it seems that cachyos had niri as an option too in the calameres installer.
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.
Why all the animations? Not only for this WM, but hyprland, too, for example. They are just way too distracting, I don't understand why people like them.
Yes, i know they can usually be deactivated, but it's stupid to have them as default
Better that they're there so they can be disabled, rather than not there any no one gets any choice?
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.
I used to feel the same way, but I found that I like the animations in Niri. It helps me to keep a mental model of where everything is located in the infinite strip.
I did change the settings to speed them up significantly, which I think is a good middle ground.
I usually turn off animations in most applications and WMs, but they seem to functionally benefit this window management style to help the user orient and recognize where things are relative to each other.
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.
I really like these animations. I can understand your opinion but I moved to something like cachyos hyprland and its dotfiles really interest me and to me seems like something that __just works__ for me and it was very easy to migrate too and I just needed to add some software and just change some keybinds and I didn't have to modify any hyprland animations on cachy by default as I liked it.
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)
But if I may, I'd like to see just one implementation of a vertical bar where the text is rotated, especially if it's going to display the time. I mean, I want to see it, but not enough to actually DO anything about it.
Been using sway for many years before moving to niri last year.
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.)
ultimately it turned out that after years of i3/sway scrollable tiling doesn't feel natural at all (and neither do dynamic workspaces, but that's less significant). when i resurrected my desktop a couple of months into the experiment i found it also lagged quite badly on my desktop with an nvidia card (a 3090, tried both drivers) and i couldn't be bothered to figure that one out so that was the final straw and i went back to sway
i was quite impressed with the level of thought that went into the ux and the amount of polish in everything though. it already feels like a serious, well-made piece of software, and it's not even that old yet
You can run niri from within other DEs, but I'm unsure whether it works well for your use-case. From the docs[0]:
"You can also run niri inside an existing desktop session. Then it will open as a window, where you can give it a try. Note that this windowed mode is mainly meant for development, so it is a bit buggy (in particular, there are issues with hotkeys)."
IIRC in this case the Mod key is by default Alt instead of Super.
I'm not sure, but I doubt it. You could try PaperWM [0] inside Gnome to get a feel for the scrolling WM workflow, and see if it's worth switching to niri proper for you.
Sorry, I don't understand what you mean. The infinite strip extends to the right, so you scroll left-right. Workspaces are up-down. If that's what you meant?
You can't go in "any" direction, the infinite strip has a fixed height and extends infinitely to the right, so you scroll left-right. Then you have workspaces which are up/down but they are like separate strips entirely.
Ahh okay yeah I watched the 2 min one on the main readme
This does have the dots (vertical position) on the right bar
Long as the windows stay fixed, it annoys me how Mac will just randomly re-arrange your virtual desktops or whatever you call em
I use i3 personally at this time regarding this topic but yeah although I used to only care about it because I had crappy computers at the time so not having a full desktop meant saving 400 MB of RAM at idle for example
Package situation on anything that isn't Arch (and I think Fedora) is pretty rough. I installed it from source. It helps that it is a rust application and was up and running in no time
My understanding is that Wayland compositors have fewer responsibilities than either an X11 window manager or X11 compositor despite doing the job for both.
I've seen Niri floating around the conversation, but still find myself drawn to Hyprland. There's something about "pagination" vs a scrollable compositor that makes things feel much more targeted and organized.
I'd consider it just an opinionated distribution of Arch, with a lot of flex.
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'
If I'm not mistaken, you can have the same workflow with niri. You don't need to use "scrollable" feature of Niri, you can attach screens to workspaces.
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.
I'm also on Omarchy. I use it somewhat like a scrollable compositor, in that I open a max of 2 windows, then move on to the next desktop, then just scroll through them all. But have the option for floating windows or a vertical split when needed (to run a command or something). Plus Hyprland is becoming more cohesive by the day.
I avoid anything to do with DHH for his views expressed on his blog. I'm sure Omarchy is nice and all, but there are other choices without the ethical baggage.
Right now there's pro "Palestinian" "protests" on the streets of the UK celebrating the murder of 2 Jews in Manchester... Is that more acceptable than Tommy Robinson?
People on the ground at many of these protests are saying that enough people are celebrating the attack. In London they were attacking the police. What % need to support the attack before it's a problem?
I did try it, but hyprland is still the most usable/pretty ratio for me, I also use Vicinae launcher (I wish that name is changed it’s hard to remember) so not sure how that will work with niri.
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.
reply