I have always loved the idea of virtual desktops, but have never been able to fully embrace them. Everytime I try to adopt virtual desktops I tend to find the context switching too jarring compared to a single desktop paradigm. I thought I would bring this to the community.

  1. What are your pros and cons of using virtual desktops?
  2. How do you set up your virtual desktops?
  3. Do you use virtual desktops to replace alt+tabbing between applications?

Pros: Easy visual management of your tasks and applications without cluttering up your task bar. Enhances productivity since you can keep all related items together without having to sift through various windows.

Cons: Easy to get confused about what is running and what isn't since it may be hiding on a virtual desktop. You also may want to have a "sticky" app (like your music player) available on all desktops that may/may not be available. Can potentially slow down your system if the desktop switcher is buggy or you simply have too much stuff running.

I run 4 desktops:

  1. Primary Desktop: Used for my main development work (web apps). I'm also on a dual monitor setup so I can have Visual Studio in one window and the browser or DB editor in the other.

  2. Web Browsing Desktop: Open all day with my news blogs, stack overflow, and the like. Allows for a "mental break" when I go to read up on stuff since I'm not distracted by the database query running or the application building.

  3. Mail Desktop: I have to monitor two accounts at work, so I leave a complete desktop for that.

  4. "Secondary" Desktop: Sometimes an e-mail comes through requiring me to do something, or a co-worker has a request, and it's easier for me to jump to the secondary desktop and do a needed task without disturbing my other work.

Don't use it to replace ALT+Tabbing, since I'll have multiple apps up on a given desktop.

One important thing to note about adapting to the environment, is having a hotkey or fast method of manipulating desktops is essential. I use WIN + Numpad to switch between desktops and WIN + Number Row to move windows to a given desktop. If there is no way to interact with the desktops quickly, it becomes too much of a hassle to move your mouse down to the taskbar/system tray/"hot zone" to work with the desktops and it defeats the purpose.

Virtual Desktop of choice (not in the question but I figured I'd toss it in): Dexpot

Oddly enough, I don't use virtual desktops at home, even though I do a lot of hobby computing on the side. 8^D


I usually use them to separate categories of tasks - all too often I find myself with an IM window open overtop of work, or e-mail popping up while I'm working on an assignment. I generally have all of my 'distractions' in one desktop and work in the other - that way I can switch between the two easily but not be interrupted when I need to focus.

  • Make sure you have easy hotkeys: I use ctrl+arrows together with and ctrl+keypad. (I use nine desktops)
  • Put things in order choose a desk for email, one for a browser. (it's what i have in the "middle") It seems to get a free ride from the spacial navigation part of the brain.
  • You might strongly like/dislike sliding in the desks as you move. (I prefer instant, but milage apparently varies.)
  • Andy is right: Keep the distractions on the 'other' desk. (Also doubles as a "boss key" feature, btw.)

It's a lot like alt-tabbing, except the windows don't need to be coddled so much, and windows don't need to be related (from the program, or whatever) do be handled as a group.

  • If you are using that amount of desktops, you should be using a tiling window manager, so you have less things to worry about (positioning windows, resizeing, etc). My personal favorite is Awesome . – voyager Jul 17 '09 at 1:50
  • I'm not sure I get that. I usually use 80x50 terms and emacsen and tiling wm:s tend to want to maximize everything. (Even if it didn't I still don't see the advantage) I could add that I have a 5-button rat and use two thumb-buttons for move and resize which is very intuitive. (just grab the window in the middle, or wherever...) – Anders Eurenius Jul 22 '11 at 9:33

I use them for tasks, and I use a lot of them. For example, at work, I currently have twelve (assigned to alt-f1 through alt-f12). I'd have more, except I'm out of F-keys.

  1. Currently, writing some documentation for a software project. LyX, a few xterms, a gvim or two, etc.
  2. Writing code for said project, on trunk. Several xterms, many gvims, a few screen sessions.
  3. Different project, not doing much active work on this one at the moment. Sometimes need to do an import/export job, or other little task, so its nice to have it up. xterms with screen running in it, also a few xtails for watching the logs.
  4. Next deployment branch of software project on 2.
  5. whatever (use when I need a desktop for something else)
  6. whatever
  7. whatever
  8. bugzilla
  9. bacula monitor/config (mostly xterms, some with screen sessions)
  10. databases (xterms running mysql command line client, also a few psql as well)
  11. email (icedove, mutt, and xterms with local mail logs)
  12. misc (e.g., random web browsing)

At home, I only have six desktops (its a dual-monitor setup, unlike work, so I need fewer), and only two of them are one-use-only (one for dealing with video, the other for dealing with images). One is for general whatever, and the other three are for whatever projects I happen to be working on.

All the setups with multiple xterms, screen sessions, etc. are started fully automatically (including positioning the windows) using shell scripts.

These setups probably makes me certifiably insane.


I am using awesome wm, which takes the virtual desktop metaphor to a next level. Instead of virtual desktops you have so called "tags". Each tag can be attached to multiple windows and you can display any number of tags at the same time. It can be fully controlled by keyboard, or you can use a mouse as well. It can tile your displayed windows to maximize the usage of screen space. Awesome wm is very easy to configure. Version 3 even comes Lua integration, which gives you even more customizability.

I am now using the default setting of 9 tags (selectable with super + 1-9), and it can be populated quiet easily. Usually I have seperate tags for windows (one for the terminal, one for the browser, one for the mail client, one for the remote terminal, one for emacs etc...), and I can easily select new tags to display by using super+ctrl+1-9.

It doesn't come with nice animations like compiz, but it really improves your efficiency.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.