Anyone that has experience with a *nix (and possibly other non-Microsoft OSes) environment is probably frequently annoyed with XPs lack of virtual desktops. After you've been working for a while, or work on several different projects simultaneously, it doesn't take long to end up in task bar hell. Alt-tab and friends are rendered nigh completely useless.

I got fed up with this in the course of my DS programming and decided to seek out a virtual desktop environment add-on for XP. I should first point out that my standard of comparison is IceWM, a light-weight, configurable window manager with hotkeys for pretty much everything. If you're not familiar with IceWM, don't worry, the idea is to have a very simple, responsive virtual desktop environment that is easy to navigate with shortcuts. Further, I use a laptop with a second monitor, so dual-head support is really key. Finally, it needs to be free. There are probably pretty good programs that you can pay for, but poor students like me can't eat and pay for each and every little piece of software we use.

Spoiler alert!!!!


I ended up deciding on Virtual Dimension as it provided pretty much everything I was looking for. Features:

  • Small- memory usage comes in around 6.4MB.

  • Shortcuts for all the things I was looking for: move a window to different desktop, and move to different desktop.

  • Fast switching between desktops.

  • Supports a variable number of desktops and configurable layout of them.

  • Easily to understand/configure/use.

  • No strange behavior with a second monitor.

It even has some features I didn't expect/require but appreciate:

  • Support for a shortcut to maximize the height of the current window (this is awesome and loved it in IceWM yet so few window managers actually support it).

  • Lets you set the transparency of windows.

  • Configurable preview window for all desktops: auto-hide, transparency, always on top, etc. This is actually really slick and I like it more and more as I continue using it.

  • Non-intrusive, configurable indicator of the desktop you just switched to (WindowMaker-esque).

  • Can right-click title bars to access VD functionality.

  • Is open source so I can always add a feature myself if nobody else does.

  • Per-desktop wallpaper and switch-to hotkeys.

  • Can minimize windows to the systray and sticky them to all desktops.

The drawbacks:
  • Not many configuration options for using the mouse to switch desktops. Can change desktops, but no way to get the mouse to warp to the opposite side of the neighboring desktop as if the mouse had intuitively moved to the adjoining edge.

There's a screenshot up at their website that shows what your desktop ends up looking like. Been using it for about a week now and have absolutely no complaints. Damn satisfied. If I had to guess, I'd be willing to bet the devs are all ex-*nix users.


I actually test-drove quite a few other environments that I feel like I would mention if you, like me, found that there are quite a few virtual desktop programs floating around and wondering whether they're worth bothering with.

Honorable mention:


These are the virtual desktop programs that were really quite good and I would consider using were it not for a problem or lack of some feature that was a deal breaker for me. If Virtual Dimension doesn't quite cut the mustard for you, you're probably best off looking at these first.

VirtuaWin


Homepage: http://virtuawin.sourceforge.net/
This is probably my second choice, and a very close one at that. I kept writing up draw-backs for it and then as I used it more and more I found out how to do the things I wanted. It's probably one of the most configurable (yet not overwhelmingly so) options here.

The Good:
  • Available hotkeys: switching to a particular desktop, cycling through desktops, making a window sticky.
  • Provides really excellent support for using the mouse to switch desktops: can alter the delay, whether or not the mouse cursor warps to the adjacent edge or stays on the same side of the screen, etc.
  • Desktop switching is very fast.
  • Small- 5.8MB
  • Has some kind of plug-in architecture.
  • Quite a lot of configuration options.
  • Can change the layout of screens and add/remove desktops.
The Bad:
  • Desktop cycling (being able to wrap around from the last desktop to the first) isn't enabled by default, you have to enable it from the "Expert" tab in "Setup".
  • No hotkey to move windows between desktops, would be nice to have a few more shortcuts (possible with a plug-in?).
  • When you move to another desktop dragging a window, rather than the window staying with the mouse it appears at the original location of the window in the new desktop.
  • No good "current desktop" indicator or desktop preview tool. It's in the systray which isn't visible if you have your task bar set to autohide.
The Ugly:
  • None?


Deskillusion


Homepage: http://www.unfate.f2g.net
(homepage seems to be down a lot so you can get it from download.com)
The Good:
  • Small- Just over 6MB of memory.
  • Fast- Desktop switches are real quick.
  • Unobtrusive indication of desktop you just switched to.
  • Configurable shortcuts to switch to other desktops.
  • Easy to add/remove virtual desktops.
  • Simple to setup/use.
  • No problems with multiple monitors.
  • Right-clicking a window title bar allows you to: send it to another desktop, or sticky it.
The Bad:
  • Too simple: lack of advanced configuration options, shortcuts.
  • No way to set shortcut to move a window to another desktop- have to right-click title bar.
The Ugly:
  • Occasionally some weirdness- windows appearing on more than one desktop, window order changing, etc.


SDesk


Homepage: http://www.nearestexit.com/sdesk/
This is actually different from the other programs as it doesn't create virtual desktops, it expands the size of the desktop beyond the size of the screen.

The Good:

  • Small- under 6MB
  • Fast- probably the fastest of them all since it doesn't actually create virtual desktops, it just expands the one you've got
  • Very cool usage of a second monitor: it your secondary monitor is positioned above your primary display then moving to a lower part of the desktop will move what was shown in the primary display up into the secondary display. Very intuitive.
  • An optional Unix-esque preview window
  • Shortcuts for pretty much everything- using either/both the keyboard or/and mouse

The Bad:
  • Not virtual desktops, so you still end up with all your tasks dumped onto one task bar.
  • More difficult to configure than some of the others.
  • Settings are peculiar when a second monitor is used that is a different resolution than the primary display- have to set the width to the resolution of the larger monitor in order to correctly move by the size of a desktop

The Ugly:
  • Nasty handling of a secondary display:
    • When the secondary display ends up showing a part of the desktop outside that controlled by SDesk, moving away and then moving back causes all the windows displayed on the secondary display to be reset.
    • If the secondary display uses a different resolution than the primary display then windows will also be repositioned when moving to different parts of the desktop.
  • No longer under development/maintained?- last updated in 2003...
I was completely in love with SDesk until I found how it handled a secondary monitor. It's functionality seems to clash with that used by Windows for dual-head support, especially if the two displays use a different resolution.

The Rest:


These are the virtual desktop programs that I just don't consider usable. You may find a real gem here depending on your needs/usage, but to each their own.

Virtual Desktop Toolbox


This was the most downloaded program from download.com. I figured its success was a sure sign of its suitability. I just couldn't see myself using it, however:
  • Way too big- the download weighs in at over 12MB. When you look at the others and see that they're generally under 1MB you can't help but hear the Sesame Street song "One of These Things is not Like the Others".
  • Way too big part 2- at runtime it consumes almost 18MB of memory... uh, yeah.
  • Bigger just isn't better:
    • Speed- was one of the slowest of all the programs I tested while switching desktops.
    • Configuration was over-complicated: I found myself hunting through menus trying to disable annoying things that are enabled by default, or enabling things I wanted.
  • Didn't seem to be any way to just move a window from one desktop to another.
  • It also seemed to randomly cause programs to crash at runtime or on exit.
In its defence it did provide some features that none of the other programs had: the ability to setup special "scenarios" for certain usage situations, and the ability to specify settings that are automatically applied to specific programs that run. It also provided several different tools for managing windows, displaying the desktops, etc.

I just found it too slow, complicated, annoying to be worth the trouble. I've never seen a virtual desktop tool that was so complicated that it needed wizards, and I think there's a good reason why.

Microdesk


Pretty slick looking tool that comes default with 10 desktops and a toolbar similar to that used by Microsoft's IME. Didn't really match my needs, however:
  • Bit on the heavy site- 9.4MB of memory.
  • Requires some kind of registration.
  • No simple/quick way to move windows from one desktop to another. Requires use of the "Application Manager".
  • Configuration/usage was a bit more complicated/non-intuitive than really necessary.
  • Not very refined:
    • Clicking "Options" pops up an error-like window before actually showing the options window.
    • Seemed to have some conflicts with the taskbar: sometimes I would switch desktops and the taskbar would be completely missing on one desktop while it wouldn't auto-hide on others.
It was the prettiest of the virtual desktop tools, however. They did a nice job working on neat effects and graphics for the UI, but their time would have been better spent making it more functional imho.

MultiDesk


  • I couldn't even figure out how to use it, honestly. It claimed to have created 10 virtual desktops, but I never found any way to actually switch to them.
  • Didn't seem to be any way to specify hotkeys of any kind.
Maybe this program is just too clever for me. But, it looks like it hasn't been updated since 2002, so I think it's just no longer usable on XP sp2.

Microsoft's Virtual Desktop Manager XP PowerToy


This is pretty simple and easy to use. You can specify a different wallpaper for each desktop, and shortcuts to move between them. Even provides a cool, preview of all four desktops and the ability to select the one you want to switch to.

Ultimately I decided against using it because:
  • No way to cycle backwards/forwards through the desktops, you can only move to a specific one.
  • No easy way to move a window to a different desktop.
  • Pretty slow desktop switches (I believe it was the slowest).
  • Forced to use 4, and only 4 virtual desktops.
Microsoft deserves credit for having the lightest-weight program out of all the ones I looked at: a tiny 3MB and change. Think this may be a first for the boys from Redmond.

PowerPro


It's actually a bit unfair to compare PowerPro to the other virtual desktop programs because it's actually quite a complex tool that just happens to also have the ability to do virtual desktops. It's really, really, really configurable and seems quite powerful, but it's virtual desktop functionality seemed more primitive because it's less specialized. It may, however, be possible to use the extensive scripting/toolbar creation functionality to improve it. I was unable to do so, though.