Virtual desktop
From Wikipedia, the free encyclopedia
This article may require cleanup to meet Wikipedia's quality standards. Please improve this article if you can. (June 2007) |
A virtual desktop is a term used, usually within the WIMP paradigm, to describe ways in which a computer's desktop environment is expanded through the use of software.
Contents |
[edit] Overview
[edit] Switching desktops
Switchable desktops were designed and implemented at Xerox PARC as "Rooms" by D.A. Henderson and Stuart Card in 1986[1] based upon work by Patrick P. Chan in 1984. This work was covered by a US patent[2].
Switchable desktops were introduced to a much larger audience by Tom LaStrange in swm (the Solbourne Window Manager, for the X Window System) in 1989. ("Virtual Desktop" was originally a trademark of Solbourne Computer.)[3] Rather than simply being placed at an x, y position on the computer's display, windows of running applications are then placed at x, y positions on a given virtual desktop “context”. They are then only accessible to the user if that particular context is enabled. A switching desktop provides a way for the user to switch between "contexts", or pages of screen space, only one of which can be displayed on the computer's display at any given time.
[edit] Scrolling desktops
Other kinds of virtual desktop environments do not offer discrete virtual screens, but instead make it possible to "scroll" around a view that is larger than the available hardware is capable of displaying. For example, if a graphics card has a maximum resolution that is higher than the monitor's display resolution, the virtual desktop manager may allow windows to be placed "off the edge" of the screen. The user can then scroll to them by moving the mouse pointer to the edge of the display. The visible part of the larger virtual screen is called a viewport.
[edit] Implementation
Virtual desktop managers are available for most graphical user interface operating systems and offer various features, such as placing different wallpapers for each virtual desktop and use of hotkeys or other convenient methods to allow the user to switch amongst the different screens.
[edit] Amiga
The first platform to implement multiple desktop display as a hardware feature was Amiga 1000, released in 1985. The Amiga moved on to succeed in the consumer and video production market. All Amigas supported multiple in-memory screens displayed concurrently via the use of the graphics co-processor, AKA the "Copper". The Copper was a simple processor whose operations waited for a screen position, wrote to hardware registers (including display memory fetch position), conditionally skipped an instruction, or performed No OPeration [NOP]. Using the GUI implemented in system ROM API's, programs could transparently display multiple independent screens, from non-consecutive memory, without moving the memory. This hardware-based scrolling does not use blitting, but something more like what is sometimes called hardware panning. The video output is simply told (once, or many times) where to display (scanline) and from what screen memory address. A screen can move to any position, or display any portion, by modifying the wait, or fetch position. Typically a single byte value. The Copperlist did need to be sorted in vertical and horizontal wait position in order to function. Note: See http://www.faqs.org/faqs/amiga/books/ for a list of reference material.
Each desktop or 'screen' could have its own colour depth (number of available colours) and resolution, including use of interlacing. The display chipset ('graphics card' on a PC) could switch between these desktop modes on the fly, and during the drawing of a single screen, usually with three pixel deep line between each desktop shown on the screen. However, if one interlaced (flickering) desktop was displayed, all desktops onscreen would be similarly affected.
Some programs, VWorlds (an astronomy simulator) being an example, used the multiple desktops feature to overlay a set of controls over the main display screen. The controls could then be dragged up and down in order to show more or less of the main display.
In 1988 with the release of the Amiga A2024[4] monitor which added Amiga a vast choice of displaying various high-resolutions and in addition with Amiga graphic cards resolutions on which to run a Higher Resolution Workbench Desktop. Previous version only supported PAL or NTSC display modes.
[edit] X Window System and Unix
Almost all Unix-like systems use the X Window System to provide their windowing environment.
The X Window System is unique in that the decoration, placement, and management of windows are handled by a separate, replaceable program known as a window manager. This separation allowed third-party developers to introduce a host of different window manager features, resulting in the early development of virtual desktop capabilities in X. Many of today's X window managers now include virtual desktop capabilities.
Configurations range from as few as two virtual desktops to several hundred. The most popular desktop environments, GNOME and KDE, use multiple virtual desktops (four by default). Some window managers, like FVWM, offer separate "desks" that allow the user to organize applications even further. For example, a user may have separate desks labeled "Work" and "Home", with the same programs running on both desks, but fulfilling different functions. Some window managers such as dwm support "tagging" where applications can be configured to always launch on a particular, named desktop, supporting automatic organization and easy navigation.
[edit] OS/2
IBM's personal computer OS/2 operating system included multiple desktops (up to 4 natively) in the OS/2 Warp 4 release in 1996.
[edit] Windows
Microsoft Windows does not implement virtual desktops at installation time. Historically video card implementors have provided this functionality, such as Nvidia's nView product. nView does not work in Vista due to architecture changes.
Microsoft provides a Virtual Desktop PowerToy (for Windows XP[1]), a software-based virtual desktop manager, which simulates many desktops, by minimizing and maximizing windows in groups, each group being a different desktop. However, the functionality provided is less comprehensive than that of many other virtual desktop solutions (e. g. missing functionality to move windows to another desktop, maintain a window in a given desktop even when its application bar button flashes, etc.). Application compatibility problems are common, because application developers do not expect virtual desktops to be in use on the Windows platform.
The latter issue is addressed by VirtuaWin, an open source virtual desktop manager that offers mechanisms to prevent such problems, is small and easy to use but is not a scrolling desktop.
Users of Microsoft Windows can use third-party software for advanced virtual desktop visualization like Yod'm 3D, as well as CubeDesktop, a 3D virtual desktop manager that emulates some of the eye-candy features available on Compiz.
Other virtual desktop managers which supports own wallpapers for each virtual desktop and many other features are ManageDesk, Active Virtual Desktop, Cool Desk, WinSpace, Nvidia's nView, Vista/XP Virtual Desktop Manager, and more.
SDesk provides a scrollable desktop (a movable viewport into a larger-resolution virtual area).
Many desktop shell replacements for Windows, including LiteStep, bblean, GeoShell, SharpE, Emerge Desktop and others, support virtual desktops via optional modules.
On August 21, 2008, the tiny program called Desktops has been released by the Sysinternals team. This utility is able to maintain for up to a four virtual desktops. Desktops provides a basic level of functionality but is backed up by the authority of Sysinternals developers.
[edit] Mac OS
Scrolling desktops were made available to Macintosh users by a 3rd party extension called Stepping Out created by Wes Boyd (the future founder of Berkeley Systems) in 1986. The code for this extension was integrated by Apple into a later version of the Mac OS, although the ability to create virtual desktops larger than the screen was removed. The code was used instead as an assist for visually impaired users to zoom into portions of the desktop and view them as larger, more easily discerned images.
Mac OS X v10.5 ships with native virtual desktop support, using Spaces, which allows up to 16 virtual desktops
[edit] BeOS
Be Incorporated's BeOS includes an implementation of virtual desktops called "Workspaces". Up to 32 different Workspaces are supported.
[edit] See also
[edit] References
- ^ D. Austin Henderson, Jr., Stuart Card (1986) Rooms: the use of multiple virtual workspaces to reduce space contention in a window-based graphical user interface ACM Transactions on Graphics (TOG)
- ^ User interface with multiple workspaces for sharing display system objects, US Patent 5,533,183
- ^ Thomas E. LaStrange (1990) swm: An X window manager shell. USENIX Summer.
- ^ Greg Donner Workbench Nostalgia site: A 2024 monitor and Workbench 1.3 modified to 1.4
[edit] External links
- Ars Technica: "The Micro-AmigaOne and Amiga OS4 Developer Prerelease" (Update 1), By Jeremy Reimer, Monday January 17, 2005 ("Desktop and drawers" section).