
A window manager is
system software that controls the placement and appearance of
windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
within a
windowing system in a
graphical user interface
A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
. Most window managers are designed to help provide a
desktop environment. They work in conjunction with the underlying graphical system that provides required functionality—support for graphics hardware, pointing devices, and a keyboard—and are often written and created using a
widget toolkit.
Few window managers are designed with a clear distinction between the
windowing system and the window manager. Every graphical user interface based on a
windows metaphor has some form of window management. In practice, the elements of this functionality vary greatly. Elements usually associated with window managers allow the user to open, close, minimize, maximize, move, resize, and keep track of running windows, including
window decorators. Many window managers also come with various utilities and features such as
task bars, program launchers, docks to facilitate halving or quartering windows on screen, workspaces for grouping windows,
desktop icons, wallpaper, an ability to keep select windows in foreground, the ability to "roll up" windows to show only their title bars, to cascade windows, to stack windows into a grid, to group windows of the same program in the task bar in order to save space, and optional multi-row taskbars.
History
In 1973, the
Xerox Alto became the first computer shipped with a working
WIMP GUI. It used a
stacking window manager that allowed overlapping windows. However, this was so far ahead of its time that its design paradigm would not become widely adopted until more than a decade later. While it is unclear if
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
contains designs copied from Apple's
classic Mac OS
Mac OS (originally System Software; retronym: Classic Mac OS) is the series of operating systems developed for the Mac (computer), Macintosh family of personal computers by Apple Computer, Inc. from 1984 to 2001, starting with System 1 and end ...
, it is clear that neither was the first to produce a GUI using stacking windows. In the early 1980s, the
Xerox Star, successor to the Alto, used
tiling for most main application windows, and used overlapping only for dialogue boxes, removing most of the need for stacking.
The
classic Mac OS
Mac OS (originally System Software; retronym: Classic Mac OS) is the series of operating systems developed for the Mac (computer), Macintosh family of personal computers by Apple Computer, Inc. from 1984 to 2001, starting with System 1 and end ...
was one of the earliest commercially successful examples of a GUI that used a sort of stacking window management via
QuickDraw
QuickDraw was the 2D graphics library and associated application programming interface (API) which is a core part of classic Mac OS. It was initially written by Bill Atkinson and Andy Hertzfeld. QuickDraw still existed as part of the libraries ...
. Its successor,
macOS
macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
, uses a somewhat more advanced window manager that has supported compositing since
Mac OS X 10.0, and was updated in
Mac OS X 10.2 to support hardware accelerated compositing via the
Quartz Compositor.
GEM 1.1, from
Digital Research
Digital Research, Inc. (DR or DRI) was a privately held American software company created by Gary Kildall to market and develop his CP/M operating system and related 8-bit, 16-bit and 32-bit systems like MP/M, Concurrent DOS, FlexOS, Multiuser ...
, was a
operating environment that included a stacking window manager, allowing all windows to overlap. It was released in the early 1980s.
GEM is famous for having been included as the main GUI used on the
Atari ST
Atari ST is a line of personal computers from Atari Corporation and the successor to the company's Atari 8-bit computers, 8-bit computers. The initial model, the Atari 520ST, had limited release in April–June 1985, and was widely available i ...
, which ran
Atari TOS, and was also a popular GUI for
MS-DOS
MS-DOS ( ; acronym for Microsoft Disk Operating System, also known as Microsoft DOS) is an operating system for x86-based personal computers mostly developed by Microsoft. Collectively, MS-DOS, its rebranding as IBM PC DOS, and a few op ...
prior to the widespread use of Microsoft Windows. As a result of a lawsuit by
Apple
An apple is a round, edible fruit produced by an apple tree (''Malus'' spp.). Fruit trees of the orchard or domestic apple (''Malus domestica''), the most widely grown in the genus, are agriculture, cultivated worldwide. The tree originated ...
, Digital Research was forced to remove the stacking capabilities in GEM 2.0, making its window manager a tiling window manager.
During the mid-1980s,
Amiga OS contained an early example of a compositing window manager called ''
Intuition
Intuition is the ability to acquire knowledge without recourse to conscious reasoning or needing an explanation. Different fields use the word "intuition" in very different ways, including but not limited to: direct access to unconscious knowledg ...
'' (one of the low-level libraries of AmigaOS, which was present in Amiga system
ROMs), capable of recognizing which windows or portions of them were covered, and which windows were in the foreground and fully visible, so it could draw only parts of the screen that required refresh. Additionally, Intuition supported compositing. 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.
In 1988,
Presentation Manager became the default shell in
OS/2
OS/2 is a Proprietary software, proprietary computer operating system for x86 and PowerPC based personal computers. It was created and initially developed jointly by IBM and Microsoft, under the leadership of IBM software designer Ed Iacobucci, ...
, which, in its first version, only used a
command line interface (CLI).
IBM
International Business Machines Corporation (using the trademark IBM), nicknamed Big Blue, is an American Multinational corporation, multinational technology company headquartered in Armonk, New York, and present in over 175 countries. It is ...
and Microsoft designed OS/2 as a successor to DOS and Windows for DOS. After the success of Windows 3.10, however, Microsoft abandoned the project in favor of Windows. After that, the Microsoft project for a future OS/2 version 3 became
Windows NT
Windows NT is a Proprietary software, proprietary Graphical user interface, graphical operating system produced by Microsoft as part of its Windows product line, the first version of which, Windows NT 3.1, was released on July 27, 1993. Original ...
, and IBM made a complete redesign of the shell of OS/2, substituting the Presentation Manager of OS/2 1.x for the
object-oriented Workplace Shell that made its debut in OS/2 2.0.
Examples
X window managers
On systems using the
X window system
The X Window System (X11, or simply X) is a windowing system for bitmap displays, common on Unix-like operating systems.
X originated as part of Project Athena at Massachusetts Institute of Technology (MIT) in 1984. The X protocol has been at ...
, there is a clear distinction between the window manager and the
windowing system. Strictly speaking, an
X window manager does not directly interact with video hardware, mice, or keyboards – that is the responsibility of the
display server.
Users of the X Window System have the ability to easily use many different window managers –
Metacity, used in
GNOME 2, and
KWin, used in
KDE Plasma Workspaces, and many others. Since many window managers are modular, people can use others, such as
Compiz
Compiz () is a compositing window manager for the X Window System, using 3D graphics hardware to create fast compositing desktop effects for window management. Effects, such as a minimization animation or a cube workspace, are implemented as loa ...
(a 3D
compositing window manager
A compositing manager, or compositor, is software that provides applications with an off-screen data buffer, buffer for each window, then Compositing, composites these window buffers into an image representing the screen and writes the result into ...
), which replaces the window manager.
Sawfish and
awesome on the other hand are
extensible window managers offering exacting window control. Components of different window managers can even be mixed and matched; for example, the
window decorations from
KWin can be used with the
desktop and
dock components of GNOME.
X window managers also have the ability to
re-parent applications, meaning that, while initially all applications are adopted by the
root window (essentially the whole screen), an application started within the root window can be adopted by (i.e., put inside of) another window. Window managers under the X window system adopt applications from the root window and re-parent them to apply window decorations (for example, adding a title bar). Re-parenting can also be used to add the contents of one window to another. For example, a
flash player application can be re-parented to a browser window, and can appear to the user as supposedly being part of that program. Re-parenting window managers can therefore arrange one or more programs within the same window, and can easily combine
tiling and
stacking in various ways.
Microsoft Windows
Microsoft Windows has provided an integrated stacking window manager since
Windows 2.0;
Windows Vista
Windows Vista is a major release of the Windows NT operating system developed by Microsoft. It was the direct successor to Windows XP, released five years earlier, which was then the longest time span between successive releases of Microsoft W ...
introduced the compositing
Desktop Window Manager (dwm.exe) as an optional hardware-accelerated alternative. In Windows, since
GDI is part of the kernel, the role of the window manager is tightly coupled with the kernel's graphical subsystems and is largely non-replaceable, although
third-party utilities can be used to simulate a tiling window manager on top of such systems. Since
Windows 8
Windows 8 is a major release of the Windows NT operating system developed by Microsoft. It was Software release life cycle#Release to manufacturing (RTM), released to manufacturing on August 1, 2012, made available for download via Microsoft ...
, the
Direct3D-based Desktop Window Manager can no longer be disabled. It can only be restarted with the hotkey combination Ctrl+Shift+Win+B.
Windows Explorer (explorer.exe) is used by default as the ''
shell
Shell may refer to:
Architecture and design
* Shell (structure), a thin structure
** Concrete shell, a thin shell of concrete, usually with no interior columns or exterior buttresses
Science Biology
* Seashell, a hard outer layer of a marine ani ...
'' in modern Windows systems to provide a taskbar and file manager, along with many functions of a window manager; aspects of Windows can be modified through the provided configuration utilities, modifying the
Windows Registry
The Windows Registry is a hierarchical database that stores low-level settings for the Microsoft Windows operating system and for applications that opt to use the registry. The kernel, device drivers, services, Security Accounts Manager, a ...
or with 3rd party tools, such as
WindowBlinds or
Resource Hacker.
A complete X Windows Server, allowing the use of window managers ported from the unixoid world can also be provided for Microsoft Windows through
Cygwin/X even in ''multiwindow'' mode (and by other X Window System implementations). Thereby, it is easily possible to e.g. have X Window System client programs running either in the same Cygwin environment on the same machine, or on a Linux, BSD Unix etc. system via the network, and only their GUI being displayed and usable on top of the Microsoft Windows environment.
Note that Microsoft and X Window System use different terms to describe similar concepts. For example, there is rarely any mention of the term ''window manager'' by Microsoft because it is integrated and non-replaceable, and distinct from the ''
shell
Shell may refer to:
Architecture and design
* Shell (structure), a thin structure
** Concrete shell, a thin shell of concrete, usually with no interior columns or exterior buttresses
Science Biology
* Seashell, a hard outer layer of a marine ani ...
''.
The
Windows Shell is analogous to the
desktop environment concept in other graphical user interface systems.
ChromeOS
Since 2021
ChromeOS is shipped with its own window manager called Ash.
Chromium and ash share common
codebase
In software development, a codebase (or code base) is a collection of source code used to build a particular software system, application, or software component. Typically, a codebase includes only human-written source code system files; thu ...
.
In the past one could run it by using on any compatible systems.
Types
Window managers are often divided into three or more classes, which describe how windows are drawn and updated.
Compositing window managers
Compositing window managers let all windows be created and drawn separately and then put together and displayed in various 2D and 3D environments. The most advanced compositing window managers allow for a great deal of variety in interface look and feel, and for the presence of advanced 2D and 3D visual effects.
Stacking window managers
All window managers that have overlapping windows and are not compositing window managers are
stacking window managers, although it is possible that not all use the same methods. Stacking window managers allow windows to overlap by drawing background windows first, which is referred to as the
painter's algorithm. Changes sometimes require that all windows be re-stacked or repainted, which usually involves redrawing every window. However, to bring a background window to the front usually only requires that one window be redrawn, since background windows may have bits of other windows painted over them, effectively erasing the areas that are covered.
Tiling window manager
Tiling window managers paint all windows on-screen by placing them side by side or above and below each other, so that no window ever covers another. Microsoft Windows 1.0 used tiling, and a variety of tiling window managers for
X are available, such as
i3,
awesome, and
dwm.
Dynamic window manager
Dynamic window managers can dynamically switch between tiling or floating window layout. A variety of dynamic window managers for
X are available.
Features and facilities of window managers
;Autohide
: An autohide facility enables
menubars to disappear when the
pointer is moved away from the edge of the screen.
;Borders
: A border is a
window decoration component provided by some window managers, that appears around the
active window. Some window managers may also display a border around
background windows.
;Context menu
: Some window managers provide a
context menu that appears when an alternative click event is applied to a desktop component.

;Desktop wallpaper
: Some window managers provide a
desktop wallpaper facility that displays a background picture in the
root window.
;Focus stealing
:
Focus stealing is a facility some window managers provide. It allows an application not in focus to suddenly gain focus and steal user input intended for the previously focused application.
;Iconification
: An iconification facility lets users minimize running applications to a
desktop icon or
taskpanel icon.
;Joined windows
: Some window managers provide a
joined windows facility that lets user join application window frames together.
;Keyboard equivalents
: Some window managers provide
keyboard equivalents that enables the keyboard to replicate
mouse
A mouse (: mice) is a small rodent. Characteristically, mice are known to have a pointed snout, small rounded ears, a body-length scaly tail, and a high breeding rate. The best known mouse species is the common house mouse (''Mus musculus'' ...
functionality.
;Menubar
: A
menubar provides the facility to launch programs via a menu and may contain additional facilities including a
start button, a
taskbar, and a
system tray.
;Menu panel
: A
menu panel a component of some window managers that provides the facility to launch programs using a menu. A
menu panel is similar to a
menubar, but appears as a floating
panel, rather than a horizontal or vertical bar.
: The
menu panel may contain additional facilities including a
start button, a
task panel, and a
system tray.
;Mouse focus
: The
mouse focus model determines how the
pointing device affects the input focus within the window manager. The focus model determine which component of the
graphical user interface
A graphical user interface, or GUI, is a form of user interface that allows user (computing), users to human–computer interaction, interact with electronic devices through Graphics, graphical icon (computing), icons and visual indicators such ...
is currently selected to receive input as the
pointer is moved around the screen.
;Mouse warping
:
Mouse warping is a facility that centres the pointer on the current application as it is made active.
;Multiple desktops
: A window manager may provide a
multiple desktops facility. This enables switching between several
root window desktops. This prevents clutter of the
root window, because applications can run on different
desktops.
;Pager
: Some window managers provide a
pager
A pager, also known as a beeper or bleeper, is a Wireless communication, wireless telecommunications device that receives and displays Alphanumericals, alphanumeric or voice messages. One-way pagers can only receive messages, while response p ...
tool that provides the facility to switch between
multiple desktops. The
pager
A pager, also known as a beeper or bleeper, is a Wireless communication, wireless telecommunications device that receives and displays Alphanumericals, alphanumeric or voice messages. One-way pagers can only receive messages, while response p ...
may appear as an onscreen window or as a gadget in the
taskbar or
taskpanel.
;Plugins
: Some window managers have a modular construction that enables plug-in
modules to provide features as required.
;Rollup
: A rollup facility enables windows to appear as just a
titlebar on the desktop.
;Root Menu
: Some window managers provide a
root menu, which appears when the
root window or
desktop background is touched.
;Shortcuts
: Some window managers provide a
shortcut facility that lets users place icons on the
root window that access specific programs or facilities.
;Tabbed windows
: Some window managers provide a
tabbed windows facility that groups applications together in common frames.
;Task switching
: The window manager may provide various task switching facilities that let the user change the currently focused application, including:
:* Changing the
mouse focus using a pointing device
:* Keyboard task switching facilities (for example, by pressing Alt-Tab)
:* Clicking on the task in a
taskbar or
taskpanel
;Taskbar
: Some window managers provide a
taskbar that shows running applications. The
taskbar may show all applications that are running including those that have been
minimized, and may provide the facility to switch
focus between them. The
taskbar may be incorporated into a
menubar on some window managers.
;Task panel
: A
task panel is similar to a
taskbar, but appears as a floating
panel, rather than a horizontal or vertical bar.
;Start button
: A start button is a desktop widget that provides a menu of programs that can be launched. The start button is typically placed on a
menubar at the bottom of the screen.
;Notification area
: A
notification Area is used to display
icons for system and program features that have no
desktop window. It contains mainly
icons to indicate status information and notifications such as arrival of a new mail message. Some systems may also show a clock in the
Notification Area.
;Title bars
: A
title bar is a
window decoration component some window managers provide at the top of each window. The
titlebar is typically used to display the name of the application, or the name of the open document, and may provide title bar buttons for minimizing, maximizing, closing or rolling up of application windows.
;Title bar buttons
: Title bar buttons are included in the
title bar of some window managers, and provide the facility to minimize, maximize, rollup or close application windows. Some window managers may display the
titlebar buttons in the
taskbar or
task panel, rather than in a
titlebar.
;Virtual desktop
: A
virtual desktop
In computing, a virtual desktop is a term used with respect to user interfaces, usually within the WIMP (computing), WIMP paradigm, to describe ways in which the virtual space of a computer's desktop environment is expanded beyond the physical ...
(also called a scrolling desktop) is a facility some window managers provided that lets the desktop be larger than the actual screen
Windows navigation
An active window is the currently focused
window
A window is an opening in a wall, door, roof, or vehicle that allows the exchange of light and may also allow the passage of sound and sometimes air. Modern windows are usually glazed or covered in some other transparent or translucent ma ...
in the current window manager. Different window managers indicate the currently-active window in different ways and allow the user to switch between windows in different ways. For example, in Microsoft Windows, if both
Notepad and
Microsoft Paint are open, clicking in the
Notepad window will cause that window to become active. In Windows, the active window is indicated by having a different colored title bar. Clicking is not the only way of selecting an active window, however: some window managers (such as
FVWM) make the window under the mouse pointer active—simply moving the mouse is sufficient to switch windows; a click is not needed.
Window managers often provide a way to select the active window using the keyboard as an alternative to the mouse. One typical key combination is
Alt+Tab, used by Windows and
KDE (by default, though this is user-configurable); another is
apple key-tilde, used by Macintosh. Pressing the appropriate key combination typically cycles through all visible windows in some order, though other actions are possible.
Many, though not all, window managers provide a region of the screen containing some kind of visual control (often a button) for each window on the screen. Each button typically contains the title of the window and may also contain an icon. This area of the screen generally provides some kind of visual indication of which window is active—for example, the active window's button may appear “pushed in”. It is also usually possible to switch the active window by clicking on the appropriate button. In Microsoft Windows, this area of the screen is called the ''taskbar''; in Apple Macintosh systems this area of the screen is called the dock.
The active window may not always lie in front of all other windows on the screen. The active window is simply the window to which keys typed on the keyboard are sent; it may be visually obscured by other windows. This is especially true in window managers which do not require a click to change active windows:
FVWM, for example, makes active the window
under the mouse cursor but does not change its
Z-order (the order in which windows appear, measured from background to foreground). Instead, it is necessary to click on the border of the window to bring it to the foreground. There are also situations in click-to-focus window managers such as Microsoft Windows where the active window may be obscured; however, this is much less common.
See also
*
Operating environment
*
Comparison of X window managers
References
{{DEFAULTSORT:Window Manager
*
Graphical user interfaces