Desk Setup: From Multi-Monitor to Single Screen with Virtual Desktops
6 points by sspaeti
6 points by sspaeti
How/why did you decide a single screen is the best for you? I have been using virtual desktops for years, but I still prefer having separate monitors. For example for documentation on one screen and my editor on another
I just found that I can't focus on both documentation and example at the same time anyway, so having them in the optimal position in the middle, and then switching between them ultra fast is key. I feel like these speed reader tools, which put the words always in the middle at the exact same position, so it's easier to read, vs. constantly jumping from left to right with the eyes and searching for the last point.
Also, there are tasks that I move my browser next to my terminal, which is why a 27'' works well for me, as you can still put them side by side when needed. Or what I do much more, pop up a Claude Web as an overlay window, hit it off, and then hide it again. Only for video calls I prefer to have my laptop screen open as a second one to do stuff while sharing screen.
Can share similar experience. I also feel that I can only look at one thing at a time, so what I actually need is a single app maximized, and a quick way to switch between the apps. In a pinch, I need to look at two things at the same time (side-by-side diff, html & browsers, and such), in which case I need a quick way to arrange two windows side-by-side.
While multiple monitors and/or a tiling VM allow you to implement "switching" via directing your glance, the cost there is that the "focus" app occupies only a small fraction of pixels, and that you need to spend more time crafting "perfect" window layout ,which then becomes sunk cost.
In terms of actual workflow, I maintain that Windows 7 is still unsurpassed for this. It has just the right features:
Win+1, Win+2, etc keys can be used to switch to the application. The switch is smart: if there's an existing application window, it is brought to front and focused. If there are no windows, the application is started. If there are multiple windows, they are cycled.Win+left tiles window to the left half of the screen, Win+right tiles to the right, and Win+up maximizes.KDE Plasma implements both these features, though I believe default shortcuts are ugly.
On MacOS, tile left-right is built-in nowadays. Switching application requires something like hammerspoon (but is not too bad, once you have that set up): https://github.com/matklad/config/blob/85be3a3184a05e92bfa73f94a389434d7fb80503/home/.config/hammerspoon/init.lua
I would also recommend the content (not endorsing the tone) of this article: http://xahlee.info/linux/why_tiling_window_manager_sucks.html
The GNOME desktop handles this beautifully. It feels very natural for applications to take up the whole screen, but it supports those same Windows shortcuts for snapping windows to the left and right (and maximizing). Additionally, you can tap a single key (Windows/Super) to get an overview of all open applications on the current virtual desktop and thumbnails of any others. I particularly like it on a laptop with a touchpad, where a three-finger swipe can either switch to the overview or over to a virtual desktop.
EDIT: I have been enjoying KDE more and more lately, but it does have some quirks for someone so used to GNOME. Maximizing is Super+Page Up instead of Super+Up, and the gesture to get the application overview requires four fingers instead of three (and the swipe is in the opposite direction). Lastly, you need to press Super+W for the overview from the keyboard instead of just Super. In true KDE fashion, I'm sure I could change those to match GNOME if I wanted. Instead, I like learning the defaults.
I would disagree strongly here. Exposé-style overview is very much a different feature than a single shortcut for focusing specific application directly, without a visual or textual search. That is, because apps are pinned, Super+1 always focuses terminal, Super+2 always focuses the editor, Super+3 always focuses the browser, irrespective of the current state of desktop(s). Its sort of like touch-typing vs hunt-and-peck.
This cut short my last attempt to try out Gnome: the feature wasn't built in, and the extension that provided it at that point was a casualty of breaking changes (oh, and my usual xbindkey xdotool tricks didn't work, as it was already Wayland time.)
I see I basically ignored that part of your comment, and I think it's because I never knew that shortcut existed! I always changed Windows to show window titles and not group windows, so the pinned applications were only useful for first launch after a reboot for me. I was focusing on the other things, the one-application-at-a-time and easy splitting of two applications side-by-side.
I did just try Super+1, Super+2, etc. and it does seem to switch to the applications corresponding with the ones pinned in the application tray. Firefox is the first one pinned, and Super+1 switches to the last-active Firefox window. One part I'm not sure if you'd like or if it's the opposite of what you're describing: my file manager is fourth in the tray, but I only have one file manager window open and it's on my third virtual desktop; pressing Super+4 jumps me to the window on the third virtual desktop instead of keeping me on the current desktop.
Thanks for pointing out ambiguity in my original comment!
One part I'm not sure if you'd like or if it's the opposite of what you're describing:
Yeah, I always disable virtual desktops, as I just don’t find that kind of grouping useful, given my “app at a time” approach.
I have roughly this workflow on a 43" main screen but with Hammerspoon + PaperWM.spoon - that way I can have three windows side by side and switch between them spacially. Each task I'm working on has workspace with two terminals (one for terminal work and one for vim) and a browser for that focus. I don't have to arrange any windows, the browser disappears off the right edge when I don't need it and is easily accessible when I do.
This is basically what I've ended up doing too. A single 28" monitor while using Niri is the best setup I've ever used - given my particular tastes, of course.
I've found that being able to quickly switch back and forth between code and documentation using my keyboard is a lot more comfortable than having to turn my head. (Also, for long stretches of reading documentation, sitting with my head turned to the side sucks.)
normal setup:
[ ]
[ 27" ][ 27" ][ 24" ]
[ ][ ][ ]
[ ]
and when I'm working, a laptop in front of (and instead of the 24")
If modern tools were better with space (looking at you Outlook (Web) and Slack) I could have 2 apps on the laptop, with these two it's more like either or.
I am only constrained by physical space and $$$, if I could, I would also try 6 screens or 2 widescreen on top of each other + portrait next to them.
When I go back to a tiling wm (from OSX) maybe I need less, I was fine with 2 screens for a long time.
That setup is surprisingly similar to my own. The minor differences is that I use Ctrl-F[1-6] for virtual desktop switching since that doesn't conflict with any application's shortcuts for me, and chats are on Screen #1.
Space constraints and life circumstances forced me to give up a setup with a big display and for the last few years my setup is just a laptop and a trackball. It's surprisingly fine — not nearly as bad as I assumed it could be in my multi-monitor setup heyday.