Version 2.0.1
Written by Marco Coïsson
With many thanks to Gian Luca Cannata, Daniele Margutti and Mint
Icons by Matthias Merzbacher
VirtualScreens is a small app that resides in the System Status Bar (the rightmost part of the menu bar) of MacOS X (Jaguar and Panther). It enables unilimited "virtual screens". A virtual screen is simply a user-defined set of active (visible) applications. When the user changes the virtual screen, the applications that were visible are hidden, and the hidden applications that belong to the new virtual screen are shown. In this way, you can reduce the cluttering on your screen and organize the running applications in the way that's most convenient to you.
From the Screens menu, choose New Screen… or Edit Current Screen… according to what you want to do.

In the window that will appear, type in a name for the screen and, optionally, click in the Hot Key text field to assign a hot key to that particular screen.

Hot keys are system-wide keyboard shortcuts: it doesn't matter what's the frontmost application, when you press the hot key associated with some virtual screen, VirtualScreens will change from the current screen to the one associated to the hot key. Because of my limited skills, at the moment hot keys are implemented with some limitations. In particular, they cannot contain the command (Apple) key and must contain either option or control keys (or both) and a letter or a number (the fn key is also detected on PowerBooks). I suggest using option-control-# combinations (where # is a digit or a letter) because option-# combinations are used for writing special charaters in text fields and control-# combinations are sometimes used in the Terminal or as menu shortcuts in some applications. In future versions of VirtualScreens, I hope that these limitations will be removed!
Once you have at least two screens, you can switch from one screen to another by pressing the hot key assigned to the virtual screen you want to activate, or by choosing the name of the screen from the VirtualScreens menu in the SystemStatus bar.

The active applications will become hidden and the applications that were active the last time you used the screen you're activating will be shown.
This default behaviour can be overwritten in two ways. The first one is to select some apps that must not be deactivated on changing screen. To accomplish this task, be sure that the app you don't want to deactivate is the frontmost. Then, from the VirtualScreens menu in the SystemStatus bar, select the Lock <application_name> command: the frontmost app will be "locked", i.e. it won't be hidden on changing screen; its name will be moved from the list of guest apps to the list of locked apps.
The other way to overwrite the default behaviour is to define default apps. Default apps are applications that always belong to the screen they are associated to. No matter if you hide the application to clean up some room on your screen: the next time you come back to that screen, all default apps will be shown; this is useful for creating sets of applications that are shown in a certain screen by default. Of course, to set an application to be associated to the current screen, you must be sure that the app is in front, then choose Set <current_screen_name> as default screen for app <application_name>. Both actions (locking an app and setting as default) can be reset to the original states by selecting again the same menu command.
Since it's possible that, in overcrowded SystemStatus bars or on small screens, the VirtualScreens menu is hidden, a dock menu conveniently gies you the possibility of locking apps and setting them as default.

You can also configure locked and default applications by selecting Configure Screens… from the Screens menu. A window will be shown:

The table is organized as follows: each row is a currently running application; the first column lists these applications, the second column displays a dot for each locked application, the other columns refer to the currently configured virtual screens; a dot in the row of an application and in the column of a certain screen means that that application is set as default for that screen. You can toggle the dots on and off by double-clicking on them. Changes take effect immediately.
Of course, you can switch among the running apps in the usual ways (click on the app icon in the dock, press command-tab, use any utility you're accustomed to, etc.). VirtualScreens, through its menu in the SystemStatus bar, gives you another way to switch among the apps that are currently visible on the active screen; this may be useful if you have a lot of running apps but only a few of them are visible on the screen, and you don't want to search their icons in the dock each time you want to switch to another active applications.
Also, when you return to a screen, the app that was the frontmost when you left that screen will be brought to the front, for your convenience.
VirtualScreens 2.0.1 will read the preferences file of your old copy of VirtualScreens (version 1.0 or 1.0.1), and will configure screens and applications according to your previous sets. However, it will also modify the preferences file, so that VirtualScreens 1.0.1 won't be able to use it any more. Make a backup copy of the VirtualScreens.plist file in the Library/Preferences folder in your Home folder before launching VirtualScreens 2.0.1 the first time, so you can switch back to the previous version should you have any problems with VirtualScreens 2.0.1.
for comments, suggestions and bug reports about VirtualScreens.
VirtualScreens is freeware. Use and distribute it freely. You cannot change the application or the documentation without my written approval.
.
Visit my MacOS X freeware page to get other nice apps.
Thank you for downloading VirtualScreens 2.0.1!