In
computingComputing is usually defined as the activity of using and improving computer hardware and software. It is the computer-specific part of information technology...
, a
virtual desktop is a term used with respect to
user interfaceThe user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...
s, usually within the
WIMPIn human–computer interaction, WIMP stands for "windows, icons, menus and pointers", denoting a style of interaction using these elements. It was coined by Merzouga Wilberts in 1980...
paradigm, to describe ways in which the size of a
computerA computer is a programmable machine designed to sequentially and automatically carry out a sequence of arithmetic or logical operations. The particular sequence of operations can be changed readily, allowing the computer to solve more than one kind of problem...
's
desktopThe desktop metaphor is an interface metaphor which is a set of unifying concepts used by graphical user interfaces to help users more easily interact with the computer. The desktop metaphor treats the monitor of a computer as if it is the user's desktop, upon which objects such as documents and...
environmentIn graphical computing, a desktop environment commonly refers to a style of graphical user interface derived from the desktop metaphor that is seen on most modern personal computers. These GUIs help the user in easily accessing, configuring, and modifying many important and frequently accessed...
is expanded beyond the physical limits of the screen's real estate through the use of software, This saves space in the desktop area.
Switching desktops
Switchable desktops were designed and implemented at Xerox PARC as "Rooms" by D.A. Henderson and Stuart Card in 1986 based upon work by Patrick P. Chan in 1984. This work was covered by a US patent.
Switchable desktops were introduced to a much larger audience by Tom LaStrange in
swmswm is an X Window System window manager developed by Tom LaStrange at Solbourne Computer in 1990. The most important innovation of swm was the introduction of the virtual desktop...
(the Solbourne Window Manager, for the
X Window SystemThe X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...
) in 1989. ("Virtual Desktop" was originally a trademark of
Solbourne ComputerSolbourne Computer Inc. was originally a vendor of computer systems based in Longmont, Colorado, USA, at first 52% owned by Matsushita. In the late 1980s and early '90s, the company produced a range of computer workstations and servers based on the SPARC microprocessor architecture, largely...
.) 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.
List of notable X window managers that provide switching desktops
- aewm++
- afterstep
AfterStep is a stacking window manager for the X Window System. The goal of AfterStep's development is to provide for flexibility of desktop configuration, improved aesthetics and efficient use of system resources, and was used in such distributions as MachTen...
- ctwm
In Unix computing, CTWM is a stacking window manager for the X Window System in the twm family of window managers...
- Supports up to 32 desktops
- cwm
cwm may refer to* the geographical term for a rounded, glaciated valley also known as a corrie or cirque* the Welsh word for a valley, sometimes anglicized to Coombe* cwm , a general-purpose data processor for the semantic web...
- dwm
dwm is a dynamic tiling window manager for X11 exhibiting the principles of minimalism which is known for having influenced the development of other window managers, including xmonad and awesome. It is externally similar to wmii, but internally much simpler. dwm is written purely in C and, for...
- flwm
The Fast Light Window Manager is a stacking window manager written in C++ and available for redistribution under the terms of the GNU General Public Licence.- Features :Features of the FLWM window manager include:* Stacking windows* Written in C++...
- fvwm
The F Virtual Window Manager is a virtual window manager for the X Window System. Originally a twm derivative, FVWM has evolved into a powerful and highly configurable environment for Unix-like systems.- History:...
- icewm
IceWM is a stacking window manager for the X Window System graphical infrastructure, written by Marko Maček. It was coded from scratch in C++ and is released under the terms of the GNU Lesser General Public License...
- Supports up to 12 desktops
- integrity (window manager)
- ion2
- jwm
JWM is a lightweight stacking window manager for the X Window System written by Joe Wingbermuehle. JWM is written in C and uses only Xlib at a minimum...
- Supports up to 8 desktops
- KWin
KWin is a window manager for the X Window System. It is an integral part of the KDE Software Compilation, although it can be used on its own or with other desktop environments.- History :- Look and feel :...
(default window manager for KDEKDE is an international free software community producing an integrated set of cross-platform applications designed to run on Linux, FreeBSD, Microsoft Windows, Solaris and Mac OS X systems...
)
- larswm
larswm is a window manager for the X window system that follows the tiling window manager paradigm. Using ideas from the older 9wm window manager, it features automatic tiling and virtual desktops. It also borrows other ideas, for example a limited form of plumbing, from the Acme development...
- Supports up to 4 desktops
- mdesktop
- Metacity
Metacity was the window manager used by default in the GNOME desktop environment until GNOME 3, where it was replaced by Mutter. The development of Metacity was started by Havoc Pennington and it is released under the GNU General Public License....
(default window manager for GNOMEGNOME is a desktop environment and graphical user interface that runs on top of a computer operating system. It is composed entirely of free and open source software...
2)
- MWVirtual Desktop (MatthiWare)
- Mutter
Mutter is the window manager for which GNOME Shell is a plugin in GNOME 3, replacing Metacity....
(default window manager for GNOMEGNOME is a desktop environment and graphical user interface that runs on top of a computer operating system. It is composed entirely of free and open source software...
3)
- oroborus
- pwm2
- swm
swm is an X Window System window manager developed by Tom LaStrange at Solbourne Computer in 1990. The most important innovation of swm was the introduction of the virtual desktop...
- VirtualDimension
- virtuawin
VirtuaWin is an open source virtual desktop manager for Microsoft Windows systems. It allows the user to organize applications over several virtual desktops, providing the multiple-desktop feature present in Linux system to Windows users.- Features :...
- whim
Whim may refer to:* Whim , a capstan or drum with a vertical axle used in mining* Whim , a type of carriage* Whim, a reissue of Adventures of Wim, a book by George Cockroft as Luke Rhinehart...
- windowmaker
Oversized Desktops
Other kinds of virtual desktop environments do not offer discrete virtual screens, but instead make it possible to pan around a desktop that is larger than the available hardware is capable of displaying. This facility is sometimes referred to as panning, scrolling desktops or viewport. 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
viewportA viewport is a rectangular viewing region in computer graphics, or a term used for optical components. It has several definitions in different contexts:- Computing :...
.
List of notable Window Managers that provide scrolling desktops
- fvwm
The F Virtual Window Manager is a virtual window manager for the X Window System. Originally a twm derivative, FVWM has evolved into a powerful and highly configurable environment for Unix-like systems.- History:...
- The desktop motion is jumpy with this implementation
- tvtwm
tvtwm is an X window manager derived from twm to which it adds the virtual desktop feature from swm. All of these window managers were originally written by Tom LaStrange...
- vtwm
Vtwm is an X window manager that was developed from the twm codebase. The first release was in 1990, and it is very much an "old school" window manager. It added features like xpm icons, autoraising of windows, and a virtual desktop; the latter feature is from where the program takes its name...
- GiMeSpace Desktop Extender for Windows
- BigScreen
- 360Desktop
Implementation
Virtual desktop managers are available for most
graphical user interfaceIn computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
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.
Amiga
The first platform to implement multiple desktop display as a hardware feature was
AmigaThe Amiga is a family of personal computers that was sold by Commodore in the 1980s and 1990s. The first model was launched in 1985 as a high-end home computer and became popular for its graphical, audio and multi-tasking abilities...
1000, released in 1985. The Amiga moved on to succeed in the consumer and
video productionDesktop video refers to a phenomenon lasting from the mid-1980s to the early 1990s when the graphics capabilities of personal computers such as Commodore's Amiga, the Apple Macintosh II and specially-upgraded IBM PC compatibles had advanced to the point where individuals and local broadcasters...
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 who could wait for a screen position and write to hardware registers. 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.
This also allowed the OS to seamlessly mix "Full Screen" and Windowed "desktop"-style applications in a single environment.
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.
X Window System (Unix and Linux)
Almost all
Unix-likeA Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification....
systems use the
X Window SystemThe X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...
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 managerAn X window manager is a window manager which runs on top of the X Window System, a windowing system mainly used on Unix-like systems.Unlike the Mac OS and Microsoft Windows platforms which have historically provided a vendor-controlled, fixed set of ways to control how windows and panes display...
. 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 environmentIn graphical computing, a desktop environment commonly refers to a style of graphical user interface derived from the desktop metaphor that is seen on most modern personal computers. These GUIs help the user in easily accessing, configuring, and modifying many important and frequently accessed...
s,
GNOMEGNOME is a desktop environment and graphical user interface that runs on top of a computer operating system. It is composed entirely of free and open source software...
and
KDEKDE is an international free software community producing an integrated set of cross-platform applications designed to run on Linux, FreeBSD, Microsoft Windows, Solaris and Mac OS X systems...
, use multiple virtual desktops (two or four by default). Some window managers, like
FVWMThe F Virtual Window Manager is a virtual window manager for the X Window System. Originally a twm derivative, FVWM has evolved into a powerful and highly configurable environment for Unix-like systems.- History:...
, 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
dwmdwm is a dynamic tiling window manager for X11 exhibiting the principles of minimalism which is known for having influenced the development of other window managers, including xmonad and awesome. It is externally similar to wmii, but internally much simpler. dwm is written purely in C and, for...
support "tagging" where applications can be configured to always launch on a particular, named desktop, supporting automatic organization and easy navigation.
OS/2
IBM's personal computer
OS/2OS/2 is a computer operating system, initially created by Microsoft and IBM, then later developed by IBM exclusively. The name stands for "Operating System/2," because it was introduced as part of the same generation change release as IBM's "Personal System/2 " line of second-generation personal...
operating system included multiple desktops (up to 4 natively) in the OS/2 Warp 4 release in 1996. This functionality has also been provided by the open source XWorkplace project, with support for up to 100 virtual desktops. (A somewhat limited functionality version of XWorkplace is bundled with
eComStationeComStation or eCS is a PC operating system based on OS/2, published by Serenity Systems. It includes several additions and accompanying software not present in the IBM version of the system.-Differences between eComStation and OS/2:...
as eWorkplace, which includes this same functionality.)
Windows
Microsoft WindowsMicrosoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
does not implement virtual desktops at installation time. Historically video card implementors have provided this functionality, such as
NvidiaNvidia is an American global technology company based in Santa Clara, California. Nvidia is best known for its graphics processors . Nvidia and chief rival AMD Graphics Techonologies have dominated the high performance GPU market, pushing other manufacturers to smaller, niche roles...
's nView product.
Currently, Microsoft offers a utility called
Desktops which allows users running Windows XP or Windows Server 2003 or later operating systems to run applications on up to 4 virtual desktops.
Microsoft had previously provided a Virtual Desktop
PowerToyMicrosoft PowerToys is a set of programs provided by Microsoft for the Windows operating system. PowerToys are not integrated into Windows since they are released after the public release of a Windows operating system...
(for Windows XP
http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx), 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. 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.
Users of
Microsoft WindowsMicrosoft Windows is a series of operating systems produced by Microsoft.Microsoft introduced an operating environment named Windows on November 20, 1985 as an add-on to MS-DOS in response to the growing interest in graphical user interfaces . Microsoft Windows came to dominate the world's personal...
can use
third-partyIn computer programming, a third-party software component is a reusable software component developed to be either freely distributed or sold by an entity other than the original vendor of the development platform...
software for advanced virtual desktop visualization, such as 3D virtual desktop managers that emulate some of the eye-candy features available on
CompizCompiz is one of the first compositing window managers for the X Window System that uses 3D graphics hardware to create fast compositing desktop effects for window management. The effects, such as a minimization effect and a cube workspace are implemented as loadable plugins...
.
Many
desktop shell replacementThis list of alternative shells for Windows includes graphical user interface shells that can replace Windows Explorer or Program Manager in Microsoft Windows...
s for Windows, including
LiteStepLiteStep is a Windows Shell replacement for Windows 9x and up, licensed under the terms of the GNU General Public License .LiteStep may appeal to people who like their desktop to be visually appealing, people who like to configure their environment, Unix/Linux users, and people who find the Start...
,
bbleanbbLean is a shell replacement for Microsoft Windows. It is a development branch of BB4Win, and like that shell, it has a minimalist look. bbLean deviates slightly from the minimalist intent of its parent by offering added functionality while retaining the basic simplicity of BB4Win.Despite this...
,
GeoShellGeoShell is a replacement shell for the Microsoft Windows operating systems. It replaces the default Explorer interface. It features menu bars—“geoBars”—that can be dragged-and-dropped anywhere on the user's screen. There are also desktop menus that can be triggered whenever a user...
,
SharpESharpE, also shortened as #E, is an open-source shell replacement for Microsoft Windows XP and later versions, released under the GNU General Public License . The goal of the project is to create a user friendly desktop environment that provides advanced and modern desktop features but remains...
,
Emerge DesktopEmerge Desktop is a replacement shell for Windows 2000, Windows XP , Windows Vista and Windows 7 written in C++, primarily developed with the MinGW compiler, and is licensed under the GNU General Public License, Version 3....
and others, support virtual desktops via optional modules.
Mac OS
Beginning with version 10.5 "Leopard" in late 2007,
Mac OS XMac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
has shipped with native virtual desktop support, called
SpacesSpaces was a virtual desktop feature of Mac OS X, introduced in version 10.5 "Leopard". It was announced by Steve Jobs during the opening keynote at the Worldwide Developers Conference on August 7, 2006...
, which allows up to 16 virtual desktops. It allows the user to associate applications with a particular "Space". As of Mac OS X 10.7 "Lion", this functionality has been moved into Mission Control.
Scrolling desktops were made available to Macintosh users by a 3rd party extension called Stepping Out created by
Wes BoydWes Boyd is an American businessman. In 1987, he and his wife Joan Blades were the co-founders of Berkeley Systems, a San Francisco Bay area software company. After selling the company in 1997, Boyd and Blades went on to found the progressive political group MoveOn.org.-External links:...
(the future founder of
Berkeley SystemsBerkeley Systems was a San Francisco Bay Area software company co-founded in 1987 by Wes Boyd and Joan Blades. It made money early on by performing contract work for the National Institutes of Health, specifically in making modifications to the Macintosh so that it could be used by partially...
) 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.
BeOS
Be Incorporated's discontinued
BeOSBeOS is an operating system for personal computers which began development by Be Inc. in 1991. It was first written to run on BeBox hardware. BeOS was optimized for digital media work and was written to take advantage of modern hardware facilities such as symmetric multiprocessing by utilizing...
includes an implementation of virtual desktops called "Workspaces". Up to 32 different Workspaces are supported.
External links