Although Expos adds some useful and interesting features, it doesn't provide you with the virtual desktops that many X11 users are used to. Mac OS X users can, however, add this feature with one of at least two third-party applications. These third-party applications include:
In both cases, the Expos feature is still available ”these third-party applications add features to the Mac OS X desktop rather than replace them.
VirtualDesktop from CodeTek is rich in features, customizable, and comes with extensive documentation. Unlicensed copies are fully functional, but only two virtual desktops are allowed. The two licensed versions, Pro and Lite, both allow up to 100 virtual desktops, and support Apple's X11, Expos , and AppleScript, among other features. The Pro version includes several features not found in the Lite version, for example, desktop switching using the mouse. A detailed comparison of the Lite and Pro versions is available at http://www.codetek.com.
The default configuration of VirtualDesktop, shown in Figure 7-2, places a pager in the lower-left corner of the screen. This pager is used to switch to any available virtual desktop, or to drag a window from one virtual desktop to another. A menu bar tool is also added ”you can use it to click on and select any available virtual desktop, a foreground application, or window in the selected virtual desktop. The menu bar tool also hides or shows the pager, and can open VirtualDesktop's preferences.
Figure 7-2. CodeTek VirtualDesktop
VirtualDesktop also allows you to open multiple windows of an application in more than one virtual desktop. This is useful in many situations, and especially convenient for X11 users accustomed to having at least one xterm window open in each virtual desktop. You can also assign particular applications to specific desktops and customize keyboard shortcuts in the application's preferences. There are many additional features of VirtualDesktop that we have not covered here; see the program's web site for more information.
7.4.2 Virtual Screens
Virtual Screens is similar to VirtualDesktop, but is not as rich in features and capabilities. Nevertheless, Virtual Screens is a useful product that allows up to 10 virtual screens in which to run different applications.
When you start the Virtual Screens application, it places a menu bar tool to the right of the system status menu bar. From this menu, you can set the number of screens from 1 to 10, configure screens (to specify which screen will own which application), and specify an exclusion list. For each user application that is running (and those that you've added manually), the exclusion list specifies whether an application will appear in each virtual screen or only on one screen. If an application is set to Yes in the exclusion list, all of its windows will appear in each virtual screen. Effectively, Virtual Screens hides applications. If you exclude an application, Virtual Screens will not hide that particular application.
A limitation of Virtual Screens is that you cannot have different windows open for a single application in different virtual screens, as you can with VirtualDesktop. For example, if you want a Terminal window open in each virtual screen, you must place the Terminal application in the exclusion list. Then you will have all open Terminal windows in every virtual screen. Clicking on a running application's icon in the Dock moves that particular application to the current virtual screen.