Would love to hear the perspective of anyone who switched from a similar workflow to Niri. How does the mental model shift?
Would love to hear the perspective of anyone who switched from a similar workflow to Niri. How does the mental model shift?
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.
Being able to have one window of Firefox per project workspace, with only tabs relevant to that project - this alone is a better than the myriad of ways Firefox themselves have tried to solve it within the app.
I tile within one monitor when I legitimately want to see things side by side, but I certainly don’t want firefox permanently taking up screen space when I really only need to occasionally look at it. Usually it’s on a separate monitor in the same workspace, or in a dedicated workspace.
Maybe there’s some way I could manipulate stacks and zooms to achieve that within one workspace, but I’ve always found it easier to just have firefox on a separate workspace I can easily quickly swap to and from when needed.
i.e. if i have virtual desktops 1-2-3 on my 3 screens in order, I can switch out 2 for 4, but 1 and 3 stay put, so 1-4-3. if I want 1 to be in the middle now, I will switch 1 and 4, then I have 4-1-3. Now I can get 5 onto the left and have 5-1-3.
And it does not matter if I have a single big window, or whatever tling wm layout.
The point is that everyone can work however they want. When I use a tiling WM, half my screens/virtual desktops are fullscreen and half are tiled. sometimes 50:50, sometimes in other ways.
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.
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.
If one uses a manual tiling window manager like i3 or sway and a large monitor one can divide the screen into separate work areas that each host multiple applications based on their role in one's workflow and use less workspaces.
Scrolling makes a similar but different workflow practical on small screens where flexibility matters.
Most workspaces are a fullscreen browser or some other app to the left, fullscreen editor in the center, tmux on the right.
I still use tiling within a monitor to view email side-by-side with browser, or a document or two side-by-side with code. Rarely feel the need to put 3+ apps in a complicated layout on one screen since I’m usually not gonna be cross-referencing at them all at once.
If I had one monitor I wouldn’t want to be taking up half of it showing the browser all the time when I could instead use that real estate for more vim splits.
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.