A compositing manager, or compositor, is software that provides applications with an off-screen buffer for each window. The compositing manager composites the window buffers into an image representing the screen and writes the result into the display memory. A compositing window manager is a window manager that is also a compositing manager.

Compositing managers may perform additional processing on buffered windows, applying 2D and 3D animated effects such as blending, fading, scaling, rotation, duplication, bending and contortion, shuffling, blurring, redirecting applications, and translating windows into one of a number of displays and virtual desktops. Computer graphics technology allows for visual effects to be rendered in real time such as drop shadows, live previews, and complex animation. Since the screen is double buffered, it does not flicker during updates.

Compositing window manager

The most commonly used compositing managers and compositing window managers include: for Linux, BSD, Hurd and OpenSolaris using the X Window System: the Compiz, KWin, Xfwm, Enlightenment, and Mutter compositing window managers and the xcompmgr and picom compositors; for Linux and BSD using Wayland: the Weston, KWin, and Mutter compositing window managers; for Windows: the Desktop Window Manager; and for macOS: the Quartz Compositor.

Compositing window manager

Contrast with stacking window managers

The window manager sends each window a message to repaint itself when needed. Windows may overlap. When a window in front is moved, it can reveal an area of a window behind that was previously concealed. Window managers are broadly categorised by their strategy for causing that newly revealed area to be displayed to the user. In the "stacking" strategy, the window manager tells the back window to repaint itself. In the "compositing" strategy, the window manager maintains an off-screen memory buffer containing the full appearance of each window, including the back window.

Compositing window manager

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 appear unstable by simply neglecting to repaint its window. Then, one or more of the following conditions may result: a clipped 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.

History

One of the first systems with a compositing windowing system was the Commodore Amiga, released in 1985. 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 blits 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.

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 move to dedicated graphics hardware.

In 2003 Sun Microsystems demonstrated an ambitious 3D graphics system called Project Looking Glass to layer on top of its Swing toolkit. It was first shown at the 2003 LinuxWorld Expo. Although Apple threatened to sue Sun for breach of intellectual-property rights, other window managers have implemented some of the functionality in Looking Glass. By 2006 development was discontinued by Sun, whose primary business was transitioning from graphically oriented Unix workstations to selling enterprise mainframes.

Microsoft first presented the Desktop Window Manager in Project Longhorn 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.