Spacing out of multiple virtual desktops
I have wanted virtual desktops to work for almost as long as I have been coding professionally, because the picture of clustering every app that belongs to a project onto its own space, so that you flip over and the terminal and the editor and the browser for that one thing are all sitting there exactly as you left them, has always been the image of how I think a computer ought to behave, and I keep coming back to it every couple of years because it keeps failing in the same soft way. On macOS the spaces never quite held, windows drifted onto the wrong desktop and refused to come back, the shortcuts were always one keystroke too many, and every third party tool that promised to fill the gaps surfaced enough security issues to make me feel like I was trading my windows for a backdoor, so the ritual was to spend an afternoon setting it all up and then, within a week, to let it quietly dissolve back into the single desktop where everything had lived anyway.
This time around I had the one situation the concept was built for, because I am working on multiple apps at once now, with half a dozen projects in flight, and the obvious reading was that I needed eigth desktops (month eigth for my 12 apps in a year 😀), one per project, so that every time I switched focus the world would reset around that project. When I went to survey the current state of virtual desktops I was genuinely surprised at how little the landscape had moved in all the years since I last cared, and somewhere in that survey I caught myself admitting that maybe I do not want what I keep shopping for, because the arrangement I keep trying to build on my desktop already exists inside my apps and its name is a tab.
The reason I could not see it for so long is that the way I work changed underneath me, because where I used to sit inside one application for hours at a stretch, deep enough that the rest of the screen could stay empty, I now sit inside several at once, since the agents do the actual work across all of them and they rotate through my attention. I spend a few minutes watching one agent grind through a task in the terminal, move to the editor to read what it produced, check the browser to see whether it holds up, and move again, and the unit that survives all of this motion is the tab, because a tab carries a context with it wherever it goes without demanding that the whole screen be reorganized to honor it. My terminals all live in Ghostty as tabs now, VS Code holds every editor I have open as a tab once you switch the feature on, Chrome has always treated the web as tabs, and together they have quietly given me the clustered thing I was trying to build with desktops, minus the ceremony, because a tab is a keypress away and a desktop was a setup I had to construct and then trust to hold together.
The most interesting part of landing here is the resistance the idea still meets inside the tools, because VS Code does not even show its tabs by default and there is a setting you have to go find before the editor will hold more than one file at a time, which feels like a policy decision from the era when one window per project was the correct posture and everything else was clutter. Chrome has had tabs from the start so the browser never gave me any trouble, and I keep putting other browsers next to it to test them and Chrome still wins each time, and under all of it the pattern is that the tab row has become my whole desktop, with the apps that used to justify a dedicated space sitting as adjacent tabs I flip through a hundred times a day until whatever agent is working finishes and the cluster collapses back down to one tab.
I still expect to try virtual desktops again someday, because part of me keeps wanting the ceremony even though I no longer need it, and that is fine, since the tabs I have now do the thing I kept asking the desktops for, which is keeping every piece of a project within one glance without asking me to maintain the machinery that holds it there.
Tell me what your workspace looks like now. I am @troysk704.