In computing, a virtual desktop is a term used with respect to user interfaces, usually within the WIMP paradigm, to describe ways in which the virtual space of a computer's desktop environment is expanded beyond the physical limits of the screen's display area through the use of software. This compensates limits of the desktop area and is helpful in reducing clutter of running graphical applications. There are two major approaches to expanding the virtual area of the screen. Switchable virtual desktops allow the user to make virtual copies of their desktop view-port and switch between them, with open windows existing on single virtual desktops. Another approach is to expand the size of a single virtual screen beyond the size of the physical viewing device. Typically, scrolling/panning a subsection of the virtual desktop into view is used to navigate an oversized virtual desktop.
Overview
Switching desktops Switchable desktops were designed and implemented at Xerox PARC as "Rooms" by Austin Henderson and Stuart Card in 1986 and (unknowingly to the authors until their publication) was conceptually similar to earlier work by Patrick Peter Chan in 1984. This work was covered by a US patent. 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.) 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 pager 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. Several X window managers provide switching desktops.
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 view-port. 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.
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.
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.
… excerpt ends here. Continue reading the full article.





