I’ve gotten so used to the tiling WM workflow of quick-switching between a bunch of different dedicated fullscreen workspaces and managing windows with pure keyboard. Each workspace typically has a single app, or terminal with tmux, but occasionally I’ll split two apps side by side.
Would love to hear the perspective of anyone who switched from a similar workflow to Niri. How does the mental model shift?
I was a tiling user for quite a while.similar setup to you (used awesome then qtile, short stind with xmonad and ended up with i3 and then switching to Wayland with sway, but tried hyprland for a bit as well). One thing I always ran into was that I generally found that more than three windows are horizontally just doesn't work and vertical splits very often make windows to small either. On the other hand I would often find that I wanted a new window next to something I was reading or working on, or e.g. I'd have some terminals open and wanting to plot from ipython. That always caused quite a bit of friction, i.e. I'd have to either collect some windows into a stacked layout before opening the new window. Or moving some of the windows is want side by side to a new workspace. That for me meant I had to think about what I was doing when window managing, taking my focus away from my actual task.
With niri I just open another window and it's where I need it and all other windows are still to the left and right so I just "scroll" there. Now I'd say my workflow is messier now, but I think that's actually a good thing. Tiling window managers require (but also make it reasonably easy) to be organised. With niri I don't have to be organised. Sometimes it you can't find a window immediately, but you can just use overview (and I also have a window search rofi). Initially I still had some named workspaces similar to my sway tags, mainly because I found I was still switching to them out of habit. Nowadays I don't use them any longer.
I've always (KDE, GNOME, niri) used a workspace per activity/project. I have a workspace with Steam open and a game wiki I was consulting earlier, another workspace with Emacs and browser with documentation, a third workspace with Godot and some gamedev apps open. The beauty of niri is that I never feel I need to close some apps because I've got "too many windows"; it's quite easy to compartmentalize
I never understood the point of per-app workspaces. I hate having, for example, a single Firefox instance open with everything mixed in, from work to leisure.
I switched from KDE with almost what you mentioned: Workspace 1 had a fullscreen terminal with zellij, Workspace 2 had a browser, workspace 3 had two chat apps open and that was it. Bindings to switch between those. I switched to niri because it was different and more lightweight than a full plasma setup at first, but now adapted my workflow a bit. Most of the time, the individual windows I have are screen-sized still, similarly organized: 1 has development, 2 has browser(s) and occasionally my email reader, 3 has my chat apps. I open new terminal windows more frequently for just firing a few commands or starting some long-running thing that I need to look at from time to time. With KDE, I had these windows in the background, now I have them side-by-side on "1". "Alt-Tab"ing between them in retrospective feels clunky now compared to Super-hjkl'ing through the windows... YMMV of course, but I think my workflow got "lighter" because of that, no more "windows over eachother" but rather "next to eachother" ... gives a feeling of lightness to me.
I was an i3 and away user before switching to Niri.
I generally use one workspace per task with some workspaces dedicated to specific apps (eg my browser workspace). Every app is full screen, always. I tend to use niri’s scrolling mainly for related work on one task, for example, I have my editor working on a project, scroll left and I have kilo code open on that project, and scroll right I have terminals or other related things.
So I mainly use a sway-like workflow except things tightly coupled to a specific task as on the same workspace and I scroll left or right to get to them. Everything is either full screen or sometimes 3/4 width (and full height). Occasionally I have two terminals vertically split on one column.
i create 4 fixed workspaces per monitor in the config, and use it that way
My perspective is: Workspaces dedicated to a single app makes no sense for tiling WMs. That workflow is fine on a floating WM.
Where tiling WMs shine is when actually tiling windows. For me it's the holy trinity of Browser, editor and terminal all visible at once, and navigatable spatially via super+hjkl or super+up/down/left/right. So I have one workspace per project which makes a lot more sense to me as an actual workflow for tiling WMs.
Niri just improves on this substantially by allowing new windows to open to the right, instead of messing with the existing layout in the current workspace. For example, if I need to open a pdf or something. I get to keep the holy trinity, but swap over to the new window easily.