Ask Slashdot: How Do You Organize Your Virtual Desktops?
hyphenistic writes: As a programmer I find myself switching between multiple projects on a daily basis. Virtual desktops have been a big help in grouping my related programs together. I try to have a virtual desktop open for each project I'm working on. Although I've used Linux in the past my currently preferred desktop OS is Windows 10. For the most part I have found the new virtual desktops to be easy to use. My primary issue (regardless of OS) is that I really don't want my virtual desktops to interact with each other. In the past I have accomplished this with a separate login for each project but that brings the hassle of managing multiple sets of OS and application preferences. Can someone suggest a better method for organizing my virtual desktops?
You are falling victim to a classic problem. You don't want to do the actual work, so instead you focus on instrumentation and environment. The fact that you are asking these questions is proof that the "virtual desktop" mania you have embarked on is more of a hindrance than a help.
I mean, procrastination is half the fun, but don't fool yourself.
The easiest way to isolate virtual development environments is virtual machines. The same base image can be used for each environment and then a script to install project-specific applications and other resources.
If you stick with Windows, install Cygwin and tmux. tmux helps me cleanly separate my areas of concern. (I currently have 15 sessions open, all project-specific.) Even better? Add Emacs and learn to use it well. Start an emacs server and connect to it in tmux with emacsclient -nw.
When one gets so full I can't do the thing I need to do quickly, I move to the next one. I breathe. Then I do what I need to do.
The others do it too, they just won't admit to it.
Laws are rules for the court, but merely a bottom bar to hit for life. Think beyond laws in your actions always.
Windows has had the Desktops application and the PowerToys suite before that, which allowed for virtual desktops for decades now (since the NT 4.0 days.)
It is front and center in Windows 10, but it isn't really anything that wasn't able to be fetched before.
As for what I do, I use virtualization a lot, so instead of virtual desktops, I use the column selector to pick the VM I want to use, and go with that. Yes, there is definitely the performance hit (mainly I/O, which can be mitigated by a good amount of RAM and a SSD because multiple operating systems do lots of random reads/writes), but the advantage is separation and security. The VM holding Facebook, if that gets compromised, isn't going to affect the VM with Quicken/Quickbooks/TurboTax.
First thing I do on any fresh install of Linux is to turn off virtual desktops. My experience has been that if I've got so much going on at once that it makes a single desktop instance seem too cluttered, that's a sign that I need to reconsider how I handle my time.
Having to close and reopen tools forces you to cut down on context switching. At least for me, that helps productivity.
Chech out totalspaces
There's your problem. I have four (4) monitors on my desktop. No issues...
Karma: Bad
KDE has a solution called Activities.
You can set up a bunch of activities and assign individual windows to a particular activity.
When you swap activity you get the associated windows.
"The likes of Facebook and WhatsApp are free to those whose privacy is of zero value."
I guess I'll be "that guy". I've been using dwm for years and couldn't live without it. There are other options like awesomewm or i3. Your programs will automatically tile in a sane manner using up all the available screen space.
But, the really cool thing is that a window can exist in multiple "tags" which are kind of like "virtual desktops" but a lot more powerful.
I'd recommend at least trying out a tiling window manager and seeing what you think.
I use different workspaces for different applications. On top of that, I have different login accounts on the same computer for different activities - one for personal activities (banking, credit cards and bills) as well as emails to family, another for my job search related activities, one for entertainment videos and news, one for /., one for playing games and one for just admin work (for some reason, FreeBSD has disabled the ability to have a separate root account for just that). Within any session, I use a different workspace for each application that I run - FireFox in one workspace, Chromium in another, games in a third, and so on.
If this is a Mac system, the right monitor would be rotated in portrait mode.
Why wouldn't you rotate it if you were running another OS? It's certainly possible on X, it is after all what one of the R's in Xrandr stands for, though which R precisely, I couldn't say.
SJW n. One who posts facts.
I use activities exclusively instead of virtual desktops. It works well and helps me keep focused. The other good thing about activities is you can stop and start them. when you start one it can spawn a lot of apps for you. I have a media activity that spawns my media locations, has amarok running all the time on it and shortcuts to various media apps on the desktop.
My programming activities have the env set for the project i am working on, spawns several consoles and loads up my coding playlist. Each has a different style, different set of widgets. all designed to keep me focussed.
Signature v3.0, now with 42% less memory usage.
If you don't use full-screen-as-a-separate-space, it only requires a little tweaking of default parameters to get something usable, even if not to your liking. (By the way, is there some setting so that the default action is zoom and the alt/option one is full screen ?)
In settings -> mission control, deactivate automatically rearrange spaces, which is probably why you think that some applications appear on multiple spaces: actually, it's only on a single space (by default), but the spaces keep being rearranged.
If you want a space to span all monitors, I guess you can do it here too, but I'm a fan of distinct spaces on distinct screens, a feature I had 15 years ago on X11 (but which implied the inability to move windows between screens). Note that GNOME 3 does (did?) something "interesting" by default, which is a single desktop on the secondary screen, and virtual desktops on the primary one. Probably useful on laptops in presentation mode. (Is the default over-ridable) ?
In settings -> keyboard -> shortcuts, activate Mission control per-space bindings, so that you can swap between spaces with ctrl-(number). The catch is that you have to organize your spaces by task. You can then bind applications to some spaces. You can do that by alt-clicking in the dock and looking in options. Older versions of Mac OS X with Spaces (instead of Mission Control) had a list of assignations.
The space selection widget is gone though, if you won't use shortcuts, it's F3. Each space is rendered as a thumbnail on the top, you could choose a different background for each space if it helps you. The bottom part is all of the windows in the currently selected space. What is not very obvious is finding the currently selected space, depending on your color scheme: the white border is not very visible on white background.
I have discovered a truly marvelous proof of killer sig, which this margin is too narrow to contain.
> Having to close and reopen tools forces you to cut down on context switching. At least for me, that helps productivity.
Good for you. For me, it guarantees that thoughts will be dropped before they can fully form, so it's deadly to productivity.
Maybe it's the fact that I don't always have control over context-switching. I don't control when somebody shows up in my face with a demand for attention; pushing what I've been doing aside, with all the contextual cues I can marshal, by switching to another desktop to bring up the tooling needed to service the interrupt, means a much greater chance that I can go back and resume what I was doing, without backtracking (or, worse, working through a context crash to retrace my own thinking up to where I left off).
The times when I do have control over context switching are often when vagrant thoughts coalesce suddenly into ideas which are potentially valuable but irrelevant to my current effort. I want those ideas securely noted somewhere appropriate (even if it's just in a loose-notes catcher) and dismissed quickly so I can resume the task I'm trying to keep my focus on. I keep text windows open on other desktops partly so I can bring up a notes editor for that. Sometimes those ideas need a quick look at my filesystem; I keep ytree poised in those text windows for that
Then there's the full-screen shuffle. I remember my Windows days, when I had to minimize and iconize and shuffle things out of the way to get a clear view of a browser or other Internet tool. These days, there's IM, an etherape viewport on my LAN, another browser pointed at intranet tools, and all of them maximized because bringing them up to full size takes too long when I need to respond to a situation. I couldn't do that on one desktop, in fact I use 8, and often fill them all (though some assignments, like 2 for synaptic, are reservations so my habits know where to put things so I don't need to consciously think about it).
Single desktop discipline works for you and your work habits. It's needless frustration for me and mine.