Compositing window manager
Encyclopedia
A compositing window manager is a type of window manager
. A window manager is software that draws a graphical user interface
on a computer display
– it positions windows, draws additional elements on windows (such as border
s and title bar
s), and controls how windows interact with each other, and with the rest of the desktop environment
. Within the Microsoft Windows
environment, for example, earlier (pre-Windows 2000) window managers made each individual program responsible for rendering
its own window directly to display memory. A compositing window manager, however, combines the buffers of each window into a unified framebuffer
representing the entire screen.
Compositing window managers may perform additional processing on buffered windows, applying 2D
and 3D
animated effects such as alpha compositing
, fading
, scaling
, rotation
, duplication, bending and contortion, shuffling, blurring
, redirecting applications, and translating
windows into one of a number of displays
and virtual desktop
s. Computer graphics technology allows for visual effects to be rendered in real time such as drop shadow
s, live previews, and complex animation.
Since, technically, the screen is double buffered
, it does not flicker
during updates.
The most commonly used compositing window managers include:
sends each window a message
to repaint itself whenever appropriate (such as when it is resized, or when another window passes in front of it). With a stacking manager, the repainting process can become corrupted when a program that is slow, unresponsive or buggy
does not respond to messages in a timely manner. A malicious program can cause the system to become unstable by simply neglecting to repaint its window. One or more of the following conditions may result:
With a compositing manager, if a window stops repainting itself when requested by the window manager, its last repaint will remain displayed and the window might be dimmed. Often the title changes to reflect the status of the window as unresponsive. A program may prevent its window from being moved or unmapped, but generally will not cause repainting problems. Newer operating systems with stringent hardware requirements, such as Windows 7, are less tolerant of bugs arising from faulty performance tuning
, and will terminate buggy programs as a preventive measure.
. Applications could first request a region of memory outside the current display region for use as bitmap. The Amiga windowing system would then use a series of bit blit
s using the system's hardware blitter
to build a composite of these applications' bitmaps, along with buttons and sliders, in display memory, without requiring these applications to redraw any of their bitmaps.
Windows 2000 was the first version of Windows with native support for alpha blending. Microsoft mentioned plans to develop a 3D-accelerated window manager in a project code-named "Windows 2010" before the release of Windows XP. The "glass" and blur effects in Windows Aero were introduced well into the Longhorn development cycle.
On March 24, 2001, Mac OS X v10.0
became the first mainstream operating system to feature software-based 3D compositing and effects, provided by its Quartz
component. With the release of Mac OS X v10.2
and Quartz Extreme, the job of compositing could be moved to dedicated graphics hardware.
Sun Microsystems
developed an ambitious 3D graphics system to layer on top of its Swing
toolkit, which was called Project Looking Glass. It was first demonstrated at the 2003 LinuxWorld Expo. Although Apple threatened to sue Sun for breach of intellectual property
rights, some of the functionality in Looking Glass has been implemented in other window managers. A few years into its development, it was discontinued by Sun, whose primary business was selling enterprise
mainframes.
The Desktop Window Manager in Project Longhorn
was first presented to the 2003 Windows Hardware Engineering Conference
demonstrating wobbly windows. Severe delays in the development of Longhorn
caused Microsoft
not to debut its 3D compositing window manager until the release of Windows Vista
in January 2007.
Compositing under the X Window System
required some redesign, which took place incrementally. Metacity 2.8.4 was released in August 2004. However, the first widely publicized compositing window manager for X was Xfwm, released in January 2005. On 2005-01-26, Compiz was released, introducing fully accelerated 3D compositing to the Linux platform. KDE's KWin also supports compositing.
was originally designed as a 2D planar element, which presents challenges when designing a manager to handle three dimensions, or when attempting to create 3D-style visual effects. Metacity, for example, draws windows one at a time, so that hidden components are actively rendered. Even with similar capabilities as their 3D counterparts, the output from 2D compositing window managers has no depth, meaning that windows still exist in a plane. Quasi-3D effects, such as the dimple
d buttons on Mac OS Classic or the bevel
s and shading on Windows 2000
, are usually less realistic than true z-axis rendering techniques such as diffuse reflection
.
such as OpenGL
or Direct3D
.
The earliest widespread implementations using this technique were released for the Mac in Mac OS X 10.2, and for Linux in a Luminocity prototype. Currently, window managers using OpenGL include Compiz, KWin, and the Quartz Compositor, while Desktop Window Manager currently uses DirectX 9. OpenGL is still not fully supported in hardware, so performance of OpenGL-based compositing should continue to improve as hardware improves.
programs were among the first to experiment with it, albeit through optional settings.
Windows Vista and Windows 7 allow the user to disable Desktop Window Manager by selecting the Windows Basic appearance settings. In addition, it is automatically disabled by Windows in order to perform hardware overlay
through the Overlay Mixer Filter.
required a chroma keying or green screening extension
. Compositing was introduced by way of the "Composite" extension
. Compositing managers use hardware acceleration through this extension, if available.
Under Linux and UNIX, the ability to do full 3D-accelerated compositing required fundamental changes to X11 in order to use hardware acceleration. Originally, a number of modified X11 implementations designed around OpenGL
began to appear, including Xgl
. The introduction of AIGLX
would eliminate the need to use Xgl, and allow window managers to do 3D accelerated compositing on a standard X server, while still allowing for direct rendering
. Currently NVIDIA
, Intel and ATI
cards support AIGLX.
Compiz introduced a cube effect, which allows the user to see up to 6 virtual desktops at once. Each desktop is converted into a surface texture of the cube, which can be rotated at will. Compiz displays a wide array of 2D and 3D effects and has relatively low hardware requirements. Compiz is included in Ubuntu
Linux, and is enabled automatically when supported hardware and drivers are available.
Mutter
(Metacity + Clutter) has replaced Metacity as the default window manager for Gnome
. It will be featured in the GNOME Shell component of Gnome 3.0. It uses the display engine Clutter, which has been ported to all major operating systems, netbooks and smartphones.
Since version 4, KDE's window manager KWin
has compositing capabilities. KWin features much of the same functionality also present in Compiz.
programming language. It is now inactive and released under the GNU Public License. The Granular Linux
live CD distribution
includes Looking Glass as an optional window manager.
In the aftermath of it being discontinued, some of its features, such as cover switching and thumbnail live previews, have found their way onto other window managers. Its more unique features included window tilting, two-sided window frames and parallax scrolling backgrounds.
Amiga computers, starting with the Amiga 1200
. As such, their window managers have mostly planar rendering capabilities that include composite layering, alpha blending, gradients, high resolution and multiple desktops ("screens") that can partially clip one another.
elements.
, such as true-type fonts and 3D-accelerated elements, can be expanded without degradation (usually due to aliasing
). A screen magnifier
enlarges an area of the screen, making portions of text easier to read – whether to prevent eye strain, for the visually impaired, or simply at a distance. Zoom
effects such as the fish eye magnifier and zoom desktop effects provide this functionality.
when the user hover
s its associated taskbar
button. This allows the user to identify and manage several concurrently running programs.
Selection begins when the user either enters a hotkey combination
, moves the mouse pointer to a hotspot on the screen
, or, in some situations, uses the mouse's scroll wheel
. Items are navigated using the keyboard or mouse. An item is selected by either releasing the hotkey, hitting the Enter key or clicking on it with the mouse.
switching feature. Running windows are arranged into a stack – similar to a flip-style selector in a 1950s jukebox
, or a Rolodex
. In some systems, the user can press Alt-Shift-Tab to navigate backwards. Visual transitions are applied to each item while navigating.
Common implementations of flip switching include Flip 3D in Windows and Shift Switcher in Compiz.
Cover Flow is an implementation of cover switching in Mac OS X. More recent versions use blurring to de-emphasize non-selected items. Cover Flow has also been implemented in other software published by Apple such as iTunes
.
This is also referred to as "flick-book view."
, and third-party applications
, such as 3d-desktop, are also available.
s. The hotkey to activate Exposé is not Alt-Tab, but rather F3.
—into a larger program called Mission Control.
s) such as a clock, note pad, and calculator can appear by pressing a hotkey. Widget engines speed work by keeping commonly used widgets accessible while unobtrusive. They are handled by the Dashboard program in Mac OS.
Compiz starts with a blank Widget Layer, allowing the user to add applications by clicking on them. A variety of widgets are supported, including Screenlets
, gDesklets
and SuperKaramba
.
Windows Vista provides gadgets
that the user can place on the Windows Sidebar (Sidebar gadgets), a Windows Live
start page
(Web gadgets), or an external display, such as the user's mobile phone (SideShow gadgets
). The Windows Sidebar was a visible partition in Windows Vista, and was eliminated in Windows 7, along with Sidebar gadgets which were changed to Desktop Gadgets
.
setting). The sudden appearance and disappearance of GUI
elements may seem confusing or even chaotic to inexperienced users. Visual transitions provide context and help distinguish the causal relationships of GUI elements. Instead of just disappearing, a window may fade away, or visibly shrink to the taskbar. A pull-down menu that has been clicked may smoothly radiate outward from the menu bar, making it easier to determine its origin and purpose.
Gradual and natural transitions may be especially helpful for elderly or visually impaired users who notice changes to the screen more slowly and with less clarity. For example, an inexperienced user may impulsively click on a menu that was activated by accident, causing him or her to lose work. The short delay necessary to display a visual transition may give the user enough time to make a conscious decision, and avoid such mistakes.
implements user interface façades, a system that provides users with simple ways to adapt, reconfigure, and re-combine existing graphical interfaces
, through the use of direct manipulation techniques
.
Window manager
A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment...
. A window manager is software that draws a graphical user interface
Graphical user interface
In 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...
on a computer display
Computer display
A monitor or display is an electronic visual display for computers. The monitor comprises the display device, circuitry, and an enclosure...
– it positions windows, draws additional elements on windows (such as border
Border
Borders define geographic boundaries of political entities or legal jurisdictions, such as governments, sovereign states, federated states and other subnational entities. Some borders—such as a state's internal administrative borders, or inter-state borders within the Schengen Area—are open and...
s and title bar
Title bar
In computing, the title bar consists of that part of a window where the title of the window appears. Most graphical operating systems and window managers position the title bar at the top of the application window as a horizontal bar....
s), and controls how windows interact with each other, and with the rest of the desktop environment
Desktop environment
In 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...
. Within the Microsoft Windows
Microsoft Windows
Microsoft 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...
environment, for example, earlier (pre-Windows 2000) window managers made each individual program responsible for rendering
Rendering (computer graphics)
Rendering is the process of generating an image from a model , by means of computer programs. A scene file contains objects in a strictly defined language or data structure; it would contain geometry, viewpoint, texture, lighting, and shading information as a description of the virtual scene...
its own window directly to display memory. A compositing window manager, however, combines the buffers of each window into a unified framebuffer
Framebuffer
A framebuffer is a video output device that drives a video display from a memory buffer containing a complete frame of data.The information in the memory buffer typically consists of color values for every pixel on the screen...
representing the entire screen.
Compositing window managers may perform additional processing on buffered windows, applying 2D
2D computer graphics
2D computer graphics is the computer-based generation of digital images—mostly from two-dimensional models and by techniques specific to them...
and 3D
3D computer graphics
3D computer graphics are graphics that use a three-dimensional representation of geometric data that is stored in the computer for the purposes of performing calculations and rendering 2D images...
animated effects such as alpha compositing
Alpha compositing
In computer graphics, alpha compositing is the process of combining an image with a background to create the appearance of partial or full transparency. It is often useful to render image elements in separate passes, and then combine the resulting multiple 2D images into a single, final image in a...
, fading
Dissolve (filmmaking)
In the post-production process of film editing and video editing, a dissolve is a gradual transition from one image to another. The terms fade-out and fade-in and are used to describe a transition to and from a blank image. This is in contrast to a cut where there is no such transition. A dissolve...
, scaling
Image scaling
In computer graphics, image scaling is the process of resizing a digital image. Scaling is a non-trivial process that involves a trade-off between efficiency, smoothness and sharpness. As the size of an image is increased, so the pixels which comprise the image become increasingly visible, making...
, rotation
Rotation (mathematics)
In geometry and linear algebra, a rotation is a transformation in a plane or in space that describes the motion of a rigid body around a fixed point. A rotation is different from a translation, which has no fixed points, and from a reflection, which "flips" the bodies it is transforming...
, duplication, bending and contortion, shuffling, blurring
Gaussian blur
A Gaussian blur is the result of blurring an image by a Gaussian function. It is a widely used effect in graphics software, typically to reduce image noise and reduce detail...
, redirecting applications, and translating
Translation (geometry)
In Euclidean geometry, a translation moves every point a constant distance in a specified direction. A translation can be described as a rigid motion, other rigid motions include rotations and reflections. A translation can also be interpreted as the addition of a constant vector to every point, or...
windows into one of a number of displays
Display device
A display device is an output device for presentation of information in visual or tactile form...
and virtual desktop
Virtual desktop
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 size of a computer's desktop environment is expanded beyond the physical limits of the screen's real estate through the use of software, This saves space...
s. Computer graphics technology allows for visual effects to be rendered in real time such as drop shadow
Drop shadow
In computer graphics, a drop shadow is a visual effect consisting of drawing that looks like the shadow of an object, giving the impression that the object is raised above the objects behind it. The drop shadow is often used for elements of a graphical user interface such as windows or menus, and...
s, live previews, and complex animation.
Since, technically, the screen is double buffered
Double buffering
In computer science, multiple buffering is the use of more than one buffer to hold a block of data, so that a "reader" will see a complete version of the data, rather than a partially-updated version of the data being created by a "writer"...
, it does not flicker
Flicker (screen)
Flicker is a visible fading between cycles displayed on video displays, especially the refresh interval on cathode ray tube based computer screens. Flicker occurs on CRTs when they are driven at a low refresh rate, allowing the brightness to drop for time intervals sufficiently long to be noticed...
during updates.
The most commonly used compositing window managers include:
- Microsoft WindowsMicrosoft 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...
—the Desktop Window ManagerDesktop Window ManagerDesktop Window Manager is the window manager in Windows Vista and Windows 7 that enables the Windows Aero graphical user interface and visual theme. The Desktop Window Manager requires video cards supporting DirectX 9.0 and Shader Model 2.0. DWM is not included with Windows Vista Starter edition... - Mac OS XMac 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...
—the Quartz CompositorQuartz CompositorQuartz Compositor is the windowing system in Mac OS X. It is responsible for presenting and maintaining rasterized, rendered graphics from the rest of the Core Graphics framework and other renderers in the Quartz technologies family... - GNU/Linux, FreeBSDFreeBSDFreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...
and OpenSolarisOpenSolarisOpenSolaris was an open source computer operating system based on Solaris created by Sun Microsystems. It was also the name of the project initiated by Sun to build a developer and user community around the software...
—CompizCompizCompiz 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...
, KWinKWinKWin 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 :...
, and MutterMutter (window manager)Mutter is the window manager for which GNOME Shell is a plugin in GNOME 3, replacing Metacity....
.
Comparison with stacking window managers
The window managerWindow manager
A window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment...
sends each window a message
Message passing
Message passing in computer science is a form of communication used in parallel computing, object-oriented programming, and interprocess communication. In this model, processes or objects can send and receive messages to other processes...
to repaint itself whenever appropriate (such as when it is resized, or when another window passes in front of it). With a stacking manager, the repainting process can become corrupted when a program that is slow, unresponsive or buggy
Software bug
A software bug is the common term used to describe an error, flaw, mistake, failure, or fault in a computer program or system that produces an incorrect or unexpected result, or causes it to behave in unintended ways. Most bugs arise from mistakes and errors made by people in either a program's...
does not respond to messages in a timely manner. A malicious program can cause the system to become unstable by simply neglecting to repaint its window. One or more of the following conditions may result:
- a clippedClipping (computer graphics)Any procedure which identifies that portion of a picture which is either inside or outside a picture is referred to as a clipping algorithm or clipping.The region against which an object is to be clipped is called clipping window.-Examples:...
window does not repaint uncovered regions, resulting in either blank spaces or a "trail" left behind from another window - portions of windows (such as decorative drop shadows) are left behind and not properly painted over
- the mouse pointer is corrupted
- screen updates become unbearably slow
- the entire screen freezes until the program either responds or is terminated
With a compositing manager, if a window stops repainting itself when requested by the window manager, its last repaint will remain displayed and the window might be dimmed. Often the title changes to reflect the status of the window as unresponsive. A program may prevent its window from being moved or unmapped, but generally will not cause repainting problems. Newer operating systems with stringent hardware requirements, such as Windows 7, are less tolerant of bugs arising from faulty performance tuning
Performance tuning
Performance tuning is the improvement of system performance. This is typically a computer application, but the same methods can be applied to economic markets, bureaucracies or other complex systems. The motivation for such activity is called a performance problem, which can be real or anticipated....
, and will terminate buggy programs as a preventive measure.
History
One of the first systems with a compositing windowing system was the Commodore AmigaAmiga
The 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...
. Applications could first request a region of memory outside the current display region for use as bitmap. The Amiga windowing system would then use a series of bit blit
Bit blit
Bit BLIT is a computer graphics operation in which several bitmaps are combined into one using a raster operator....
s using the system's hardware blitter
Blitter
In a computer system, a blitter is a circuit, sometimes as a coprocessor or a logic block on a microprocessor, that is dedicated to the rapid movement and modification of data within that computer's memory...
to build a composite of these applications' bitmaps, along with buttons and sliders, in display memory, without requiring these applications to redraw any of their bitmaps.
Windows 2000 was the first version of Windows with native support for alpha blending. Microsoft mentioned plans to develop a 3D-accelerated window manager in a project code-named "Windows 2010" before the release of Windows XP. The "glass" and blur effects in Windows Aero were introduced well into the Longhorn development cycle.
On March 24, 2001, Mac OS X v10.0
Mac OS X v10.0
Mac OS X version 10.0, code named "Cheetah", is the first major release of Mac OS X, Apple’s desktop and server operating system. Mac OS X v10.0 was released on March 24, 2001 for a price of US$129...
became the first mainstream operating system to feature software-based 3D compositing and effects, provided by its Quartz
Quartz (graphics layer)
Quartz specifically refers to a pair of Mac OS X technologies, each part of the Core Graphics framework: Quartz 2D and Quartz Compositor. It includes both a 2D renderer in Core Graphics and the composition engine that sends instructions to the graphics card...
component. With the release of Mac OS X v10.2
Mac OS X v10.2
Mac OS X version 10.2 "Jaguar" is the third major release of Mac OS X, Apple's desktop and server operating system. It superseded Mac OS X v10.1 code name Puma and preceded Mac OS X Panther...
and Quartz Extreme, the job of compositing could be moved to dedicated graphics hardware.
Sun Microsystems
Sun Microsystems
Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...
developed an ambitious 3D graphics system to layer on top of its Swing
Swing (Java)
Swing is the primary Java GUI widget toolkit. It is part of Oracle's Java Foundation Classes — an API for providing a graphical user interface for Java programs....
toolkit, which was called Project Looking Glass. It was first demonstrated at the 2003 LinuxWorld Expo. Although Apple threatened to sue Sun for breach of intellectual property
Intellectual property
Intellectual property is a term referring to a number of distinct types of creations of the mind for which a set of exclusive rights are recognized—and the corresponding fields of law...
rights, some of the functionality in Looking Glass has been implemented in other window managers. A few years into its development, it was discontinued by Sun, whose primary business was selling enterprise
Enterprise software
Enterprise software, also known as enterprise application software , is software used in organizations, such as in a business or government, contrary to software chosen by individuals...
mainframes.
The Desktop Window Manager in Project Longhorn
Windows Vista
Windows Vista is an operating system released in several variations developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs...
was first presented to the 2003 Windows Hardware Engineering Conference
Windows Hardware Engineering Conference
The Windows Hardware Engineering Conference is the annual software and hardware developer-oriented trade show and business conference where Microsoft elaborates on its hardware plans for Microsoft Windows-compatible PCs...
demonstrating wobbly windows. Severe delays in the development of Longhorn
Development of Windows Vista
Development of Windows Vista occurred over the span of five and a half years, starting in earnest in May 2001, prior to the release of Microsoft's Windows XP operating system, and continuing until November 2006....
caused Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
not to debut its 3D compositing window manager until the release of Windows Vista
Windows Vista
Windows Vista is an operating system released in several variations developed by Microsoft for use on personal computers, including home and business desktops, laptops, tablet PCs, and media center PCs...
in January 2007.
Compositing under the X Window System
X Window System
The 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...
required some redesign, which took place incrementally. Metacity 2.8.4 was released in August 2004. However, the first widely publicized compositing window manager for X was Xfwm, released in January 2005. On 2005-01-26, Compiz was released, introducing fully accelerated 3D compositing to the Linux platform. KDE's KWin also supports compositing.
2D compositing
The windowWindow (computing)
In computing, a window is a visual area containing some kind of user interface. It usually has a rectangular shape that can overlap with the area of other windows...
was originally designed as a 2D planar element, which presents challenges when designing a manager to handle three dimensions, or when attempting to create 3D-style visual effects. Metacity, for example, draws windows one at a time, so that hidden components are actively rendered. Even with similar capabilities as their 3D counterparts, the output from 2D compositing window managers has no depth, meaning that windows still exist in a plane. Quasi-3D effects, such as the dimple
Dimple
A dimple is a small natural indentation in the flesh on a part of the human body, most notably in the cheek or on the chin.-More about dimples:...
d buttons on Mac OS Classic or the bevel
Bevel
A beveled edge refers to an edge of a structure that is not perpendicular to the faces of the piece. The words bevel and chamfer overlap in usage; in general usage they are often interchanged, while in technical usage they may sometimes be differentiated as shown in the image at right.-Cutting...
s and shading on Windows 2000
Windows 2000
Windows 2000 is a line of operating systems produced by Microsoft for use on personal computers, business desktops, laptops, and servers. Windows 2000 was released to manufacturing on 15 December 1999 and launched to retail on 17 February 2000. It is the successor to Windows NT 4.0, and is the...
, are usually less realistic than true z-axis rendering techniques such as diffuse reflection
Diffuse reflection
Diffuse reflection is the reflection of light from a surface such that an incident ray is reflected at many angles rather than at just one angle as in the case of specular reflection...
.
3D compositing
Modern compositing window managers, including Desktop Window Manager, Quartz Compositor and Compiz use 3D acceleration. Most communicate with graphics hardware via programming interfacesApplication programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
such as OpenGL
OpenGL
OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...
or Direct3D
Direct3D
Direct3D is part of Microsoft's DirectX application programming interface . Direct3D is available for Microsoft Windows operating systems , and for other platforms through the open source software Wine. It is the base for the graphics API on the Xbox and Xbox 360 console systems...
.
The earliest widespread implementations using this technique were released for the Mac in Mac OS X 10.2, and for Linux in a Luminocity prototype. Currently, window managers using OpenGL include Compiz, KWin, and the Quartz Compositor, while Desktop Window Manager currently uses DirectX 9. OpenGL is still not fully supported in hardware, so performance of OpenGL-based compositing should continue to improve as hardware improves.
Microsoft Windows
While the window manager in Windows 2000 does perform compositing, it does not perform transformations such as a per-pixel alpha. Few commercial applications took advantage of alpha blending; freewareFreeware
Freeware is computer software that is available for use at no cost or for an optional fee, but usually with one or more restricted usage rights. Freeware is in contrast to commercial software, which is typically sold for profit, but might be distributed for a business or commercial purpose in the...
programs were among the first to experiment with it, albeit through optional settings.
Windows Vista and Windows 7 allow the user to disable Desktop Window Manager by selecting the Windows Basic appearance settings. In addition, it is automatically disabled by Windows in order to perform hardware overlay
Hardware overlay
In computing, hardware overlay, a type of video overlay, provides a method of rendering an image to a display screen with a dedicated memory buffer inside computer video hardware. The technique aims to improve the display of a fast-moving video image — such as a computer game, a DVD, or the signal...
through the Overlay Mixer Filter.
Linux
Stacking window managers running on X serverX.Org Server
X.Org Server refers to the X server release packages stewarded by the X.Org Foundation,which is hosted by freedesktop.org, and grants...
required a chroma keying or green screening extension
X video extension
The X video extension, often abbreviated as XVideo or Xv, is a video output mechanism for the X Window System. The protocol was designed by David Carver; the specification for version 2 of the protocol was written in July 1991. Its main use today is to rescale video playback in the video controller...
. Compositing was introduced by way of the "Composite" extension
Composite (graphics)
The Composite Extension of the X Window System renders the graphical output of clients "...to an off-screen buffer. Applications can then take the contents of that buffer and do whatever they like...
. Compositing managers use hardware acceleration through this extension, if available.
Under Linux and UNIX, the ability to do full 3D-accelerated compositing required fundamental changes to X11 in order to use hardware acceleration. Originally, a number of modified X11 implementations designed around OpenGL
OpenGL
OpenGL is a standard specification defining a cross-language, cross-platform API for writing applications that produce 2D and 3D computer graphics. The interface consists of over 250 different function calls which can be used to draw complex three-dimensional scenes from simple primitives. OpenGL...
began to appear, including Xgl
Xgl
Xgl was an X server architecture designed to take advantage of modern graphics cards via their OpenGL drivers, layered on top of OpenGL via glitz. It supported hardware acceleration of all X, OpenGL and XVideo applications and graphical effects by a compositing window manager such as Compiz or...
. The introduction of AIGLX
AIGLX
Accelerated Indirect GLX is an open source project founded by Red Hat and the Fedora community, led by Kristian Høgsberg, to allow accelerated indirect GLX rendering capabilities to the X.Org Server and DRI drivers...
would eliminate the need to use Xgl, and allow window managers to do 3D accelerated compositing on a standard X server, while still allowing for direct rendering
Direct Rendering Infrastructure
In computing, the Direct Rendering Infrastructure is an interface and a free software implementation used in the X Window System to securely allow user applications to access the video hardware without requiring data to be passed through the X server. Its primary application is to provide...
. Currently NVIDIA
NVIDIA
Nvidia 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...
, Intel and ATI
Ati
As a word, Ati may refer to:* Ati, a town in Chad* Ati, a Negrito ethnic group in the Philippines* Ati-Atihan Festival, an annual celebration held in the Philippines* Ati, a queen of the fabled Land of Punt in Africa...
cards support AIGLX.
Compiz introduced a cube effect, which allows the user to see up to 6 virtual desktops at once. Each desktop is converted into a surface texture of the cube, which can be rotated at will. Compiz displays a wide array of 2D and 3D effects and has relatively low hardware requirements. Compiz is included in Ubuntu
Ubuntu (operating system)
Ubuntu is a computer operating system based on the Debian Linux distribution and distributed as free and open source software. It is named after the Southern African philosophy of Ubuntu...
Linux, and is enabled automatically when supported hardware and drivers are available.
Mutter
Mutter (window manager)
Mutter is the window manager for which GNOME Shell is a plugin in GNOME 3, replacing Metacity....
(Metacity + Clutter) has replaced Metacity as the default window manager for Gnome
Gnome
A gnome is a diminutive spirit in Renaissance magic and alchemy, first introduced by Paracelsus and later adopted by more recent authors including those of modern fantasy literature...
. It will be featured in the GNOME Shell component of Gnome 3.0. It uses the display engine Clutter, which has been ported to all major operating systems, netbooks and smartphones.
Since version 4, KDE's window manager KWin
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 :...
has compositing capabilities. KWin features much of the same functionality also present in Compiz.
Java
Project Looking Glass was a window manager combining 3D rendering and the cross-platform JavaJava (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...
programming language. It is now inactive and released under the GNU Public License. The Granular Linux
Granular Linux
Granular, or Granular Linux, is a Linux distribution targeted at the common desktop users. Granular is based on PCLinuxOS and comes as an installable live CD. The CD version of Granular features two desktop environments - KDE and a development version of Enlightenment...
live CD distribution
Live CD
A live CD, live DVD, or live disc is a CD or DVD containing a bootable computer operating system. Live CDs are unique in that they have the ability to run a complete, modern operating system on a computer lacking mutable secondary storage, such as a hard disk drive...
includes Looking Glass as an optional window manager.
In the aftermath of it being discontinued, some of its features, such as cover switching and thumbnail live previews, have found their way onto other window managers. Its more unique features included window tilting, two-sided window frames and parallax scrolling backgrounds.
AmigaOS 4 and MorphOS
While they are able to run on 3D-capable hardware, AmigaOS and MorphOS are designed to run on old legacyLegacy system
A legacy system is an old method, technology, computer system, or application program that continues to be used, typically because it still functions for the users' needs, even though newer technology or more efficient methods of performing a task are now available...
Amiga computers, starting with the Amiga 1200
Amiga 1200
The Amiga 1200, or A1200 , was Commodore International's third-generation Amiga computer, aimed at the home market...
. As such, their window managers have mostly planar rendering capabilities that include composite layering, alpha blending, gradients, high resolution and multiple desktops ("screens") that can partially clip one another.
Usability and eye candy
The compositing approach makes it easier to implement a number of features that make the user interface more accessible, simpler to use or with eye candyEye candy
Eye candy may refer to:*Attractiveness*Eye Candy , an album by Mis-Teeq*software "Eye Candy", a plugin for Adobe Photoshop and Adobe Fireworks that adds new filter effects*"Eye Candy", an episode of the animated series Happy Tree Friends...
elements.
Magnifiers
Vector graphicsVector graphics
Vector graphics is the use of geometrical primitives such as points, lines, curves, and shapes or polygon, which are all based on mathematical expressions, to represent images in computer graphics...
, such as true-type fonts and 3D-accelerated elements, can be expanded without degradation (usually due to aliasing
Aliasing
In signal processing and related disciplines, aliasing refers to an effect that causes different signals to become indistinguishable when sampled...
). A screen magnifier
Screen magnifier
A screen magnifier is software that interfaces with a computer's graphical output to present enlarged screen content. It is a type of assistive technology suitable for visually impaired people with some functional vision; visually impaired people with little or no functional vision usually use a...
enlarges an area of the screen, making portions of text easier to read – whether to prevent eye strain, for the visually impaired, or simply at a distance. Zoom
Zoom
Zoom is an onomatopoeiac sound that indicates swiftness.Zoom may also refer to:-Technology:* Zoom lens, a lens assembly allowing for adjustable focal length* Digital zoom, an electronic emulation of focal length change...
effects such as the fish eye magnifier and zoom desktop effects provide this functionality.
Live preview
A preview of a window can be displayed in a pop-up thumbnailThumbnail
Thumbnails are reduced-size versions of pictures, used to help in recognizing and organizing them, serving the same role for images as a normal text index does for words...
when the user hover
Hover
Hover may refer to:*Hovering , the process by which an object is suspended by a physical force against gravity, in a stable position without solid physical contactIn transport* Hover , nearly stationary flight in a helicopter...
s its associated taskbar
Taskbar
In computing, a taskbar is a bar displayed on a full edge of a GUI desktop that is used to launch and monitor running applications. Microsoft incorporated a taskbar in Windows 95 and it has been a defining aspect of Microsoft Windows's graphical user interface ever since. Some desktop environments,...
button. This allows the user to identify and manage several concurrently running programs.
Window switching
Windows with similar names and icons tend to cause confusion, especially when their title bars overlap; the position of every such window on the taskbar has to be memorized. When there are many open windows in this manner, the user often has to resort to trial and error—clicking each taskbar button one-by-one—before proceeding. Window switching allows one to quickly preview several windows at once by temporary rearranging them against a decorative background. After a selection is made, the windows are then restored to their original arrangement.Selection begins when the user either enters a hotkey combination
Keyboard shortcut
In computing, a keyboard shortcut is a finite set of one or more keys that invoke a software or operating system operation when triggered by the user. A meaning of term "keyboard shortcut" can vary depending on software manufacturer...
, moves the mouse pointer to a hotspot on the screen
Screen hotspot
A screen hotspot, in computing, provides a special area on the display screen of a computer for hyperlinking or for other GUI-based activity ....
, or, in some situations, uses the mouse's scroll wheel
Scroll wheel
A scroll wheel is a hard plastic or rubbery disc on a computer mouse that is perpendicular to the mouse surface. It is normally located between the left and right mouse buttons.- Functionality :...
. Items are navigated using the keyboard or mouse. An item is selected by either releasing the hotkey, hitting the Enter key or clicking on it with the mouse.
Flip switching
The flip switcher is an enhancement to the Alt-TabAlt-Tab
' is the common name for a keyboard shortcut that has been in Microsoft Windows since Windows 3.0. This shortcut switches between top-level windows without using the mouse; hence it was named Task Switcher ....
switching feature. Running windows are arranged into a stack – similar to a flip-style selector in a 1950s jukebox
Jukebox
A jukebox is a partially automated music-playing device, usually a coin-operated machine, that will play a patron's selection from self-contained media...
, or a Rolodex
Rolodex
A Rolodex is a rotating file device used to store business contact information currently manufactured by Newell Rubbermaid. The Rolodex holds specially shaped index cards; the user writes the contact information for one person or company on each card...
. In some systems, the user can press Alt-Shift-Tab to navigate backwards. Visual transitions are applied to each item while navigating.
Common implementations of flip switching include Flip 3D in Windows and Shift Switcher in Compiz.
Cover switching
Cover switching is like flip switching with a few, mostly visual, differences. Instead of one stack with the selection at the top, two symmetrical stacks are shown with the current selection front and center (similar to the window tilting feature in Looking Glass).Cover Flow is an implementation of cover switching in Mac OS X. More recent versions use blurring to de-emphasize non-selected items. Cover Flow has also been implemented in other software published by Apple such as iTunes
ITunes
iTunes is a media player computer program, used for playing, downloading, and organizing digital music and video files on desktop computers. It can also manage contents on iPod, iPhone, iPod Touch and iPad....
.
This is also referred to as "flick-book view."
Ring switching
Ring switching is like flip switching, except the windows move in a circle, with the current selection in front, usually at the bottom. Most compositing window managers include this feature out of the boxOut of the box
Out of the box is the term used to denote items, functionalities, or features that do not require any additional installation. In addition to being used for tangible products, the phrase is often used in a less literal sense for software, which may not be distributed in an actual box but offer...
, and third-party applications
Third-party software component
In 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...
, such as 3d-desktop, are also available.
Grouping
The user can group windows together, such that only one window at a time is visible in each group. In Compiz, the window frame is flipped to indicate when the active window in its group has been changed.Exposé
Mac OS X displays a preview of every window on the screen by tiling them. Other systems with similar functionality (Microsoft Windows, Compiz, KWin, third-party applications) are referred to as Exposé cloneExposé clone
Exposé clone refers to computer software which mimics the window switching feature of Mac OS X operating system called Exposé. This type of software excludes the Mac OS X platform and is usually developed for Microsoft Windows or the X Window System...
s. The hotkey to activate Exposé is not Alt-Tab, but rather F3.
Mission Control
Mac OS X 10.7 combines several other compositing features developed by Apple—such as Exposé, Dashboard, and SpacesSpaces (software)
Spaces 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...
—into a larger program called Mission Control.
Widget engines
On Mac OS, "widgets" (single-purpose appletApplet
In computing, an applet is any small application that performs one specific task that runs within the scope of a larger program, often as a plug-in. An applet typically also refers to Java applets, i.e., programs written in the Java programming language that are included in a web page...
s) such as a clock, note pad, and calculator can appear by pressing a hotkey. Widget engines speed work by keeping commonly used widgets accessible while unobtrusive. They are handled by the Dashboard program in Mac OS.
Compiz starts with a blank Widget Layer, allowing the user to add applications by clicking on them. A variety of widgets are supported, including Screenlets
Screenlets
Screenlets is the name of both a set of independently-developed widget applications and the widget engine which runs them. The engine runs primarily on X11-based compositing window managers, most notably with Compiz on Linux.- Development :...
, gDesklets
GDesklets
gDesklets is a GNOME program which provides the architecture for small applets to be placed on top of the user's desktop. It is comparable to other desktop widget programs...
and SuperKaramba
SuperKaramba
SuperKaramba is a tool that allows one to easily create functionality enhancement modules on a KDE desktop. Currently, only Linux is officially supported, although it also works well on FreeBSD and NetBSD...
.
Windows Vista provides gadgets
Microsoft Gadgets
Microsoft Gadgets are lightweight single-purpose applications, or software widgets, that can sit on a Microsoft Windows user's computer desktop, or are hosted on a web page...
that the user can place on the Windows Sidebar (Sidebar gadgets), a Windows Live
Windows Live
Windows Live is the collective brand name for a set of services and software products from Microsoft, part of their software plus services platform. A majority of these services are Web applications, accessible from a browser, but there are also client-side binary applications that require...
start page
Start page
A start page is a web page containing useful links or information which appears when a web browser starts. Start pages may include news, weather, games, and other information and web gadgets. Start pages may also aggregate information such as web links and RSS feeds...
(Web gadgets), or an external display, such as the user's mobile phone (SideShow gadgets
Windows SideShow
Windows SideShow is a technology introduced in Windows Vista that enables Windows PCs to drive a variety of auxiliary display devices connected to the main PC. These devices can be separate from or integrated into the main PC , enabling access to information and media even when the PC is turned off...
). The Windows Sidebar was a visible partition in Windows Vista, and was eliminated in Windows 7, along with Sidebar gadgets which were changed to Desktop Gadgets
Windows Desktop Gadgets
The Windows Desktop Gadgets is a widget engine for Microsoft Gadgets, with program name sidebar.exe. It was introduced with Windows Vista, in which it features a sidebar anchored to the side of the desktop. Its widgets, called Gadgets, can perform various tasks, such as displaying the time and...
.
Transitions and other effects
Before compositing window managers were developed, windows would instantly jump in and out of view, which is incongruent with the interface metaphor (and with a physical officeOffice
An office is generally a room or other area in which people work, but may also denote a position within an organization with specific duties attached to it ; the latter is in fact an earlier usage, office as place originally referring to the location of one's duty. When used as an adjective, the...
setting). The sudden appearance and disappearance of GUI
Gui
Gui or guee is a generic term to refer to grilled dishes in Korean cuisine. These most commonly have meat or fish as their primary ingredient, but may in some cases also comprise grilled vegetables or other vegetarian ingredients. The term derives from the verb, "gupda" in Korean, which literally...
elements may seem confusing or even chaotic to inexperienced users. Visual transitions provide context and help distinguish the causal relationships of GUI elements. Instead of just disappearing, a window may fade away, or visibly shrink to the taskbar. A pull-down menu that has been clicked may smoothly radiate outward from the menu bar, making it easier to determine its origin and purpose.
Gradual and natural transitions may be especially helpful for elderly or visually impaired users who notice changes to the screen more slowly and with less clarity. For example, an inexperienced user may impulsively click on a menu that was activated by accident, causing him or her to lose work. The short delay necessary to display a visual transition may give the user enough time to make a conscious decision, and avoid such mistakes.
User Interface Façades
MetisseMetisse
Metisse is a 2.5D windowing system, based on the X Window System. Metisse is available as a window manager for at least Mandriva One 2007, PCLinuxOS 2007 , Sabayon Linux, and Arch Linux. It has many features that set it apart from the traditional 3D "Cube workspace"...
implements user interface façades, a system that provides users with simple ways to adapt, reconfigure, and re-combine existing graphical interfaces
Direct manipulation interface
In computer science, direct manipulation is a human-computer interaction style which involves continuous representation of objects of interest, and rapid, reversible, incremental actions and feedback. The intention is to allow a user to directly manipulate objects presented to them, using actions...
, through the use of direct manipulation techniques
Direct manipulation interface
In computer science, direct manipulation is a human-computer interaction style which involves continuous representation of objects of interest, and rapid, reversible, incremental actions and feedback. The intention is to allow a user to directly manipulate objects presented to them, using actions...
.
List of compositing window managers
- 3Dwm, a three-dimensional workspace manager and general-purpose platform for 3D user interfaces. As of June 2006 this project is inactive.
- Desktop Window Manager and the Windows AeroWindows AeroWindows Aero is the graphical user interface and the default theme in most editions of Windows Vista and Windows 7, operating systems released by Microsoft. It is also available in Windows Server 2008, but is not enabled by default. Its name is a backronym for Authentic, Energetic, Reflective and...
theme on Windows - Quartz Compositor on Mac OS X
- CompizCompizCompiz 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...
- KWinKWinKWin 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 :...
(since version 3.3) - MutterMutter (window manager)Mutter is the window manager for which GNOME Shell is a plugin in GNOME 3, replacing Metacity....
- XfceXfceXfce is a free software desktop environment for Unix and other Unix-like platforms, such as Linux, Solaris, and BSD – though recent compatibility issues have arisen with regard to BSD Unix platforms...
's Xfwm (since version 4.2) - xcompmgr—a minimal alternative to Compiz
- Ecomorph—a combination of ecomp (a hack of Compiz made to work with EnlightenmentEnlightenment (window manager)Enlightenment, also known simply as E, is a stacking window manager for the X Window System which can be used alone or in conjunction with a desktop environment such as GNOME or KDE...
) and the ecomorph module for Enlightenment. - Cairo Compmgr (Cairo Composite Manager)—a compositing add-on for existing window managers. It uses CairoCairo (graphics)cairo is a software library used to provide a vector graphics-based, device-independent API for software developers. It is designed to provide primitives for 2-dimensional drawing across a number of different backends...
, a vector graphics library also used in GTK+GTK+GTK+ is a cross-platform widget toolkit for creating graphical user interfaces. It is licensed under the terms of the GNU LGPL, allowing both free and proprietary software to use it. It is one of the most popular toolkits for the X Window System, along with Qt.The name GTK+ originates from GTK;...
. - MCompositor—used on MeeGo handsets.
- Metisee window systemMetisseMetisse is a 2.5D windowing system, based on the X Window System. Metisse is available as a window manager for at least Mandriva One 2007, PCLinuxOS 2007 , Sabayon Linux, and Arch Linux. It has many features that set it apart from the traditional 3D "Cube workspace"...
Operating systems with compositing window managers
- Windows Vista, Windows 7, Windows Server 2008 (installable as an optional component)
- Mac OS X 10.0 and later
- GNU/Linux (with XOrgX.Org ServerX.Org Server refers to the X server release packages stewarded by the X.Org Foundation,which is hosted by freedesktop.org, and grants...
/AIGLXAIGLXAccelerated Indirect GLX is an open source project founded by Red Hat and the Fedora community, led by Kristian Høgsberg, to allow accelerated indirect GLX rendering capabilities to the X.Org Server and DRI drivers...
or XglXglXgl was an X server architecture designed to take advantage of modern graphics cards via their OpenGL drivers, layered on top of OpenGL via glitz. It supported hardware acceleration of all X, OpenGL and XVideo applications and graphical effects by a compositing window manager such as Compiz or...
) - FreeBSD
- OpenSolaris
- AmigaOS 4
- MorphOSMorphOSMorphOS is an Amiga-compatible computer operating system. It is a mixed proprietary and open source OS produced for the Pegasos PowerPC processor based computer, PowerUP accelerator equipped Amiga computers, and a series of Freescale development boards that use the Genesi firmware, including the...
2.0 and later
See also
- Window managerWindow managerA window manager is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface. Most window managers are designed to help provide a desktop environment...
- Tiling window managerTiling window managerIn computing, a tiling window manager is a window manager with an organization of the screen into mutually non-overlapping frames, as opposed to the more popular approach of coordinate-based stacking of overlapping objects that tries to fully emulate the desktop metaphor.-Xerox PARC:Although the...
- Stacking window manager
- Re-parenting window managerRe-parenting window managerA stacking window manager is a window manager that draws all windows in a specific order, allowing them to overlap, using a technique called painter's algorithm...
- Zooming user interfaceZooming User InterfaceIn computing, a zooming user interface or zoomable user interface is a graphical environment where users can change the scale of the viewed area in order to see more detail or less, and browse through different documents. A ZUI is a type of graphical user interface...
- Computer graphicsComputer graphicsComputer graphics are graphics created using computers and, more generally, the representation and manipulation of image data by a computer with help from specialized software and hardware....