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.
Amiga The first platform to implement multiple desktop display as a hardware feature was
Amiga 1000, released in 1985. 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 that 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.
Unix and Unix-like with X11 or Wayland Almost all
Unix and
Unix-like systems use either the
X Window System or the
Wayland protocol to provide their windowing environment, with the latter becoming more prevalent on Linux-based systems as of the early 2020s. These systems are unique in that the decoration, placement, and management of windows are handled by a separate, replaceable program known as a
window manager on the former or a compositor on the latter. 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. The first implementation of virtual desktops for Unix was
vtwm in 1990.
IXI Limited's
Panorama was an early example of a commercial virtual desktop product for Unix. Many of today's X window managers and Wayland compositors 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 called
workspaces. These may exist in a fixed number or be created on the fly as they are populated. 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 and
Sawfish support "tagging" (or window rules for KDE) where applications can be configured to always launch on a particular desktop, screen, and position, supporting automatic organization and consistent navigation. File:Kubuntu 21.04 (KDE Plasma 5) - Virtual Desktops.png|alt=Compositing window manager|
Kubuntu 21.04 (
KDE Plasma 5) multiple displays and virtual desktops arrangement. The theme (grid) is non-default and highly configurable. Navigation is usually done by computer mouse or arrow keys.
Compositing window manager is the software responsible for this kind of effect under Linux systems.
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. This functionality has also been provided by the open source XWorkplace project, with support for up to 100 virtual desktops. XWorkplace is included with the
ArcaOS distribution of OS/2.
Windows Windows 10 and
11 offer virtual desktops through a system known as "
Task View". Prior to Windows 10,
Microsoft Windows did not implement virtual desktops natively in a user-accessible way. There are objects in the architecture of Windows known as "desktop objects" that are used to implement separate screens for logon and the secure desktop sequence (Control-Alt-Delete|). There is no native and easy way for users to create their own desktops or populate them with programs. However, there are many
third-party (e. g.
VirtuaWin, Dexpot and others) and some partially supported Microsoft products that implement virtual desktops to varying degrees of completeness. Microsoft offers a utility called Desktops which allows users running
Windows Vista or
Windows Server 2008 or later operating systems to run applications on up to 4 virtual desktops. Unlike nearly all other virtual desktop solutions for Windows, this utility actually uses native "desktop objects," as discussed above. Because of this, it does not offer the ability to move programs between desktops, or in fact to stop using virtual desktops at all, short of logging off, and
Windows Aero only works on the primary desktop object. Microsoft had previously provided a Virtual Desktop
PowerToy for Windows XP, which simulates many desktops with the more common method of hiding and showing 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.). As with all virtual desktop utilities that work by hiding and showing windows, application compatibility problems are common, because application developers do not expect virtual desktops to be in use on the Windows platform. Historically, software packaged with some video card drivers provided virtual desktop functionality, such as in
Nvidia's nView product (this product has been discontinued for GeForce card owners since Vista). Some of these programs provide eye-candy features similar to those available on
Compiz. Many
desktop shell replacements for Windows, including
LiteStep, Emerge Desktop and others, also support virtual desktops via optional modules.
Classic Mac OS On the
classic 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.
macOS Despite its Unix underpinnings,
macOS does not use the
X Window System for its GUI, and early versions had no provision for virtual desktops. Beginning with
Mac OS X 10.5 Leopard in late 2007, macOS has shipped with native virtual desktop support, called
Spaces, which allows up to 16 virtual desktops. It allows the user to associate applications with a particular "Space". As of
OS X 10.7 Lion, this functionality has been moved into
Mission Control.
BeOS BeOS included an implementation of virtual desktops called "Workspaces". Up to 32 different Workspaces were supported. ==References==