[MD+F Multimedia News Reader]
Virtual Desktops- by Sam Henwrich
OS/2 e-Zine!

Go to a Printer Friendly version of this page

Sam Henwrich is a long-time OS/2 user in Endicott, NY

Blast Back! Send a private message directly to Sam Henwrich with your thoughts:

Contact OS/2 e-Zine!

Summary: Increase your available work space by simulating the effect of multiple computer monitors. Virtual desktop managers give you this with just one catch: You can only look at one "screen" at a time.

A virtual desktop manager is a way of pretending you have more than one computer monitor, the catch being that you can only look at one at a time. The desktop is replicated across 2 or more virtual monitors, each one capable of holding its own separate group of visible windows. They all share the same task list (programs and windows a desktop are aware of those open in other desktops), and minimize to the same "netherworld" to be restored to any other desktop. They're useful because you can cut out the cluttering effect of having multiple windows open at the same time, you can get to a "bare" desktop and access its icons quickly, and you don't have to muck about with moving windows out of the way so you can see or use the desktop under them. In fact, you can get used to running all of your programs maximized all of the time.

The best virtual desktops will either "dock" to the side of the screen and enforce their boundaries by refusing to let other windows overlap or underlap them, or rise to the top at a keyboard command or mouse movement - such as bumping the edge of the screen that it's closest to. The mechanics of how they work underneath seem to be a mix of pretending the screen resolution is X times wider or taller than it really is (where X is the number of desktops you want), and juggling windows by moving them off the edge of the screen and back on again as you switch "desktops". Get used to how they work, and you may never go back to the old task switching days. Run your browser 100% of the time in desktop #1, your mail client in desktop #2, PIM in desktop #3, and miscellaneous work in #4. If it's a busy day, you may spin up to 10 or more desktops, and shepherd windows into neat groups.

If it helps to convey the idea behind virtual desktops better, think of how many mouse clicks it would take to minimize every visible window on your screen before opening another one or more windows from an icon or the Window List. Now think of all those clicks reduced to just one and you start to get the picture. Virtual desktops are a convenience, a way to manage clutter.

Object Desktop's Control Center has an excellent virtual desktop manager built into it, and in version 2.0 it comes with some powerful new features. Unfortunately it's also broken in this version, more on that later.


First of all, Object Desktop supports the creation of an array with up to 16 virtual desktops - a huge potential workspace. If you had a Power User's quota of RAM you could comfortably run your mail client, browser, PIM, word processor, spreadsheet and other "regular use" applications maximized in their own desktops. One click and they're visible. Another click and they're gone to be replaced with something else.

Like all good virtual desktop managers, Object Desktop lets you mark windows to be "sticky" - or which aren't affected by changing to other desktops. If you have a clock program or a button palette that you want to follow you from desktop to desktop, just type the name that appears in its titlebar when run, or pick from the list of already open windows. Now your volume control, CD player or whatever will stay put even though other non-marked windows get shuffled away during desktop switches.

The logical opposite of this feature, and one only recently added to version 2.0, is the layout manager. This is a feature that snaps windows to pre-allocated spaces in the desktop array. If you want your mail client to always open in virtual desktop #1, even if you're currently working in desktop #3 when you click on its icon, Object Desktop will snap it away to desktop #1 the moment it starts painting a window. To create a layout, just position your windows the way you like them across the desktop array, then choose "Record Layout" from the Control Center's pop-up menu. You'll be asked to give the layout a name (yes, you can keep and switch to multiple layouts), then the window positions will be marked in the Virtual Desktop display by a blue border. Any window or program that isn't open or running, but has a configured space in the layout, will be marked by a gray box and its title.

Since the feature uses the text of a window's title to match it with what it has recorded in its layout, it can miss windows that change their titles. Word processors that put the name of the current document, web browsers that do the same, they all could be problems and Object Desktop doesn't let you edit and fine-tune the recognition strings the way its "sticky windows" manager does. There is an "Update layout" feature that compares the current layout with what it has recorded, and makes any changes to its configuration that it thinks is necessary. So when you first record a layout, close your word processor's open documents and set your browser to its home page, then Object Desktop will get it right the first time.

Object Desktop can be configured to treat activated windows in any way you please. If a window becomes active in a desktop other than the one you're using (either because you "ALT-Tabbed" to it, or picked it from a window list) then the virtual desktop's behavior can be configured to either ignore the focus change, retrieve the activated window to your current desktop, or jump to the desktop that the activated window is in.


But the awful tragedy with this new version of Object Desktop 2.0, and the one that I - a heavy Virtual Desktop user - consider to be the biggest show-stopper of the whole suite, is that the virtual desktops are broken.

During periods of high CPU activity, be it brief or extended, Object Desktop can lose track of where the windows are on its virtual desktop array when you try to switch them, suggesting that perhaps Stardock's code has some timing sensitive algorithms in it. The problem can manifest itself in several ways:

Assuming you have a 10 desktop array, jumping from desktop 1 to desktop 5 might instead keep you on desktop 1 and pull everything down by 4 desktops full - like tugging on a table cloth. Anything from desktop 4 and below are "lost" into a state of limbo - rescuable only by using the "Retrieve Windows" command (which pulls everything into the current desktop, instead of just the affected windows), or by selecting them from the Window List and waiting for Object Desktop to realize they're lost and offer to retrieve them.

Another similar manifestation of the bug is if you, say for example, jump from desktop 5 to desktop 1. You'll arrive at desktop 1, but with the same contents of desktop 5. Object Desktop will have "pushed" everything from 4 downwards into oblivion and pulled down everything after #5 down the same number of desktops too.

This behavior is, to put it mildly, a very big pain in the butt and make the virtual desktops nearly useless. If your browser hits an awkward page, or a word processor decides to do a timed save, or OS/2 decides to flush its cache to the drive, you might find yourself with a normal and momentary burst of high system activity coinciding with the instant you innocently click on the Control Center to change desktops. But it's these moments of high CPU activity that foul up Object Desktop and makes it lose track of what it's doing - manifesting the bugs described above. If you've ever noticed your hard drive spend a half second of activity just as you try to switch from one program to another (perhaps to pull something it needs out of the swap file), then this bug can affect you. To put it into perspective, our test system has a 225mhz chip and 96 megs of SDRAM and the bug affects it frequently. From monitoring the Object Desktop 2.0 mailing list we've seen that it is affecting others too.

What's worse, Stardock does not seem to have a grip on it yet. A couple of weeks before we began finalizing this review they sent us the beta of a fix kit that replaced a few of Object Desktop's files and promised to repair that specific bug. It didn't. And dropping back to Object Desktop 1.5 we were able to confirm that this is a new bug found in 2.0 alone.

The Competition

Two good stand-alone virtual desktop managers available as freeware or shareware are Page Mage and 9Lives. Page Mage (.GIF, 3K) lacks a layout manager, unlike 9Lives which has we think might have been what Object Desktop's feature was inspired from, but it has many other options that it doesn't share with the other two - such as the ability to change desktops by "bumping" the edges of the screen with your mouse.

9Lives has puzzled us for the moment, as we've been unable to get it working on our test machine in time for the review. This is a program we've used in the past with good results, however.

Program Commander/2 (or "PC/2" as it's sometimes called) is a multi-function Workplace Shell companion (and replacement, if you have a RAM constrained system or just don't like the Workplace Shell) that has a good virtual desktop (.GIF, 3K) as part of its outfit. While it's definitely not as good looking as Object Desktop, nor is it integrated into an overall panel like Object Desktop is with the Control Center, it does have the ability to not only expand the Workplace Shell to gigantic proportions (so you can have different icons on each desktop and a background that's wider than your screen resolution) but also adds an extra titlebar button to every window which "nudges" them over to neighboring desktops with a single click.

* * *

Page Mage 0.36 beta

by Carlos Ugarte
download from The OS/2 Supersite (60K)
Registration: Freeware

9Lives 1.21

by Ross Judson
download from The OS/2 Supersite (70K)
Registration: $18
Copyright © 1998 - Falcon Networking ISSN 1203-5696
December 16, 1998