HOME

TheInfoList



OR:

An X window manager is a
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. They work in conjunctio ...
that runs on top of 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 provides the basic framework for a GUI environment: drawing and moving windows on the display device and interacting wi ...
, a windowing system mainly used on
Unix-like A Unix-like (sometimes referred to as UN*X or *nix) operating system is one that behaves in a manner similar to a Unix system, although not necessarily conforming to or being certified to any version of the Single UNIX Specification. A Unix-li ...
systems. Unlike MacOS Classic,
macOS macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and la ...
, and
Microsoft Windows Windows is a group of several proprietary graphical operating system families developed and marketed by Microsoft. Each family caters to a certain sector of the computing industry. For example, Windows NT for consumers, Windows Server for ...
platforms (excepting Microsoft Windows explorer.exe shell replacements), which have historically provided a vendor-controlled, fixed set of ways to control how windows and panes display on a
screen Screen or Screens may refer to: Arts * Screen printing (also called ''silkscreening''), a method of printing * Big screen, a nickname associated with the motion picture industry * Split screen (filmmaking), a film composition paradigm in which mul ...
, and how the user may interact with them, window management for the X Window System was deliberately kept separate from the software providing the graphical display. The user can choose between various third-party window managers, which differ from one another in several ways, including: * customizability of appearance and functionality: ** textual menus used to start programs and/or change options ** docks and other graphical ways to start programs ** multiple desktops and
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 virtual space of a computer's desktop environment is expanded beyond the physical limits of the ...
s (desktops larger than the physical monitor size), and
pagers A pager (also known as a beeper or bleeper) is a wireless telecommunications device that receives and displays alphanumeric or voice messages. One-way pagers can only receive messages, while response pagers and two-way pagers can also acknow ...
to switch between them * consumption of memory and other system resources * degree of integration with a
desktop environment In computing, a desktop environment (DE) is an implementation of the desktop metaphor made of a bundle of programs running on top of a computer operating system that share a common graphical user interface (GUI), sometimes described as a grap ...
, which provides a more complete interface to the operating system, and provides a range of integrated utilities and applications.


How X window managers work

When a window manager is running, some kinds of interaction between the X server and its clients are redirected through the window manager. In particular, whenever an attempt to show a new window is made, this request is redirected to the window manager, which decides the initial position of the window. Additionally, most modern window managers are
reparenting Reparenting is a form of psychotherapy in which the therapist actively assumes the role of a new or surrogate parental figure for the client, in order to treat psychological disturbances caused by defective, even abusive, parenting. The underlying ...
, which usually leads to a banner being placed at the top of the window and a decorative frame being drawn around the window. These two elements are controlled by the window manager rather than the program. Therefore, when the user clicks or drags these elements, it is the window manager that takes the appropriate actions (such as moving or resizing the window). Window managers are also responsible for
icon An icon () is a religious work of art, most commonly a painting, in the cultures of the Eastern Orthodox, Oriental Orthodox, and Catholic churches. They are not simply artworks; "an icon is a sacred image used in religious devotion". The mos ...
s. Indeed, icons do not exist at the
X Window System core protocol The X Window System core protocolRobert W. Scheifler and James Gettys: ''X Window System: Core and extension protocols, X version 11, releases 6 and 6.1'', Digital Press 1996, RFC 1013Grant EdwardsAn Introduction to X11 User Interfaces/ref> is the ...
level. When the user requests a window to be iconified, the window manager unmaps it (makes it non-visible) and takes the appropriate actions to show an icon in its place. Most modern window managers do not literally show icons to represent iconified windows anymore. Often, an auxiliary toolbar program will allow access to iconified windows. While the main aim of a window manager is to manage the windows, many window managers have additional features such as handling mouse clicks in the
root window {{Unreferenced, date=September 2008 In the X Window System, every window is contained within another window, called its parent. This makes the windows form a hierarchy. The root window is the root of this hierarchy. It is as large as the screen/di ...
, presenting panes and other visual elements, handling some keystrokes (e.g., Alt-F4 may close a window), deciding which application to run at start-up, etc. Standardized protocols exist to allow normal clients to communicate with the window manager. The original one is
Inter-Client Communication Conventions Manual In computing, the Inter-Client Communication Conventions Manual (ICCCM or I39L short for "I", 39 letters and "L")Extended Window Manager Hints Extended Window Manager Hints, a.k.a. NetWM, is an X Window System standard for the communication between window managers and applications. It builds on the functionality of the Inter-Client Communication Conventions Manual (ICCCM). These standard ...
(EWMH). These protocols allow clients to request titles for windows and icons, check if a window is iconified which might be docked or minimized, and possibly customize windows decorations, what
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 virtual space of a computer's desktop environment is expanded beyond the physical limits of the ...
the window occupies. Additional information from the window manager is available through the core protocol including the visibility of windows such as if a window is hidden on a different
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 virtual space of a computer's desktop environment is expanded beyond the physical limits of the ...
, and figuring out the adjustments for the window manager frames.


Types of window managers


Stacking window managers

A stacking window manager renders the windows one-by-one onto the screen at specific co-ordinates. If one window's area overlaps another, then the window "on top" overwrites part of the other's visible appearance. This results in the appearance familiar to many users in which windows act a little bit like pieces of paper on a desktop, which can be moved around and allowed to overlap. In contrast to ''compositing'' window managers (see below), the lack of separate
off-screen buffer A framebuffer (frame buffer, or sometimes framestore) is a portion of random-access memory (RAM) containing a bitmap that drives a video display. It is a memory buffer containing data representing all the pixels in a complete video frame. Modern ...
s can mean increased efficiency, but effects such as translucency are not possible. Stacking window managers include
Amiwm In computing, the AMIga Window Manager (amiwm) is a stacking window manager for the X Window System written by Marcus Comstedt. The window manager emulates the Amiga Workbench and includes support for multiple virtual screens like the AmigaOS, bu ...
,
Blackbox In Unix computing, Blackbox is a free and open-source stacking window manager for the X Window System. Blackbox has specific design goals, and some functionality is provided only through other applications. One example is the bbkeys hotkey a ...
, Enlightenment,
Fluxbox Fluxbox is a stacking window manager for the X Window System, which started as a fork of Blackbox 0.61.1 in 2001, with the same aim to be lightweight. Its user interface has only a taskbar, a pop-up menu accessible by right-clicking on the des ...
,
FVWM The F Virtual Window Manager is a virtual window manager for the X Window System. Originally a twm derivative, FVWM has evolved into a powerful and highly configurable environment for Unix-like systems. History In 1993, during his work analyzi ...
,
IceWM IceWM is a stacking window manager for the X Window System, originally written by Marko Maček. It was written from scratch in C++ and is released under the terms of the GNU Lesser General Public License. It is customizable, relatively lightwe ...
, MWM, Openbox and
Window Maker Window Maker is a free and open-source window manager for the X Window System, allowing graphical applications to be run on Unix-like operating-systems. It is designed to emulate NeXTSTEP's GUI as an OpenStep-compatible environment. Window Maker ...
.


Tiling window managers

A tiling window manager is a window manager with an organization of the screen into mutually non-overlapping frames (hence the name
tiling Tiling may refer to: *The physical act of laying tiles * Tessellations Computing *The compiler optimization of loop tiling *Tiled rendering, the process of subdividing an image by regular grid *Tiling window manager People *Heinrich Sylvester T ...
), as opposed to the traditional approach of coordinate-based stacking of objects (windows) that tries to emulate the desk paradigm. Tiling window managers include
awesome Awesome may refer to: Music * Awesome (band), a Seattle-based American band * ''Awesome'' (The Temptations album) 2001 * ''Awesome'' (Marc Terenzi album), 2005 * "Awesome", a song by Veruca Salt from ''Eight Arms to Hold You'' * ''A'wesome ...
,
dwm dwm is a minimalist dynamic window manager for the X Window System developed by Suckless that has influenced the development of several other X window managers, including xmonad and awesome. It is externally similar to wmii, but internally ...
, ion,
larswm larswm is a window manager for the X window system that follows the tiling window manager paradigm. Using ideas from the older 9wm window manager, it features automatic tiling and virtual desktops. It also borrows other ideas, for example a lim ...
, ratpoison,
Stumpwm StumpWM is a tiling window manager that was created when developer Shawn Betts found ratpoison growing increasingly large and " lispy". Intended as a successor to ratpoison, StumpWM is released under the terms of the GPL-2.0-or-later license. ...
,
wmii In 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 common approach (used by stacking window managers) of coordinate-based stacking of overlap ...
, i3,
xmonad xmonad is a dynamic window manager (tiling) for the X Window System, noted for being written in the functional programming language Haskell. Window manager Begun in March 2007, version 0.1 was announced in April 2007 as 500 lines of Haskell ...
, and XWEM.


Compositing window managers

A compositing window manager may appear to the user similar to a stacking window manager. However, the individual windows are first rendered in individual buffers, and then their images are composited onto the screen buffer; this two-step process means that visual effects (such as shadows, translucency) can be applied. It also means that compositing window managers are inherently more resource-hungry than an equivalently-powerful stacking window manager. For this reason, some window managers for X do not support compositing by default, such as Openboxbr>Compositing in Lubuntu
Historically History (derived ) is the systematic study and the documentation of the human activity. The time period of event before the invention of writing systems is considered prehistory. "History" is an umbrella term comprising past events as well ...
, the Amiga in 1985, OSX in 2001, Java Looking Glass in 2003, and the Windows Longhorn demo in 2003 (delayed until Vista in 2007) preceded compositing efforts under X11. Compositing window managers for X include: *
GNOME A gnome is a mythological creature and diminutive spirit in Renaissance magic and alchemy, first introduced by Paracelsus in the 16th century and later adopted by more recent authors including those of modern fantasy literature. Its characte ...
's Mutter née Metacity (first dev-branch compositor in 2.7 or 2.
Wayback Machine
of 200
Linux Today - Release Digest: GNOME, August 30, 2004
��original stable-branch compositor since 2.14 in 200

or 200

��current compositor architecture since 2.2
Enable Metacity Compositing in GNOME 2.22 , Tombuntu
in 2008—Metacity+Clutter begat Mutter in 2011), * Xfce's Xfwm (since 4.2 of 2004 or 200
Xfce 4.2.0 released!
, *
Unity Unity may refer to: Buildings * Unity Building, Oregon, Illinois, US; a historic building * Unity Building (Chicago), Illinois, US; a skyscraper * Unity Buildings, Liverpool, UK; two buildings in England * Unity Chapel, Wyoming, Wisconsin, US; a ...
's Compiz (since 2005—was forked as
Beryl Beryl ( ) is a mineral composed of beryllium aluminium silicate with the chemical formula Be3Al2Si6O18. Well-known varieties of beryl include emerald and aquamarine. Naturally occurring, hexagonal crystals of beryl can be up to several ...
in 2006 but the projects re-merged in 2007), and * KDE's
KWin KWin is a window manager for the X Window System and a Wayland compositor. It is released as a part of KDE Plasma 5, for which it is the default window manager. KWin can also be used on its own or with other desktop environments. KWin can be c ...
(since 4.0 of 2008). Compositing support can be added to non-compositing window managers, through the use of compositors such as ''compton''.


Virtual window managers

A virtual window manager is a window manager that uses virtual screens, whose resolution can be higher than the resolution of one's monitor/ display adapter thus resembling a two dimensional
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 virtual space of a computer's desktop environment is expanded beyond the physical limits of the ...
with its
viewport A viewport is a polygon viewing region in computer graphics. In computer graphics theory, there are two region-like notions of relevance when rendering some objects to an image. In textbook terminology, the '' world coordinate window'' is the area ...
. This environment is very useful when one wishes to have a large number of windows open at the same time. A number of virtual window managers have been made, including
FVWM The F Virtual Window Manager is a virtual window manager for the X Window System. Originally a twm derivative, FVWM has evolved into a powerful and highly configurable environment for Unix-like systems. History In 1993, during his work analyzi ...
, Tvtwm,
HaZe Haze is traditionally an atmospheric phenomenon in which dust, smoke, and other dry particulates suspended in air obscure visibility and the clarity of the sky. The World Meteorological Organization manual of codes includes a classificati ...
and others.


Extensible window managers

Some window managers are extensible, or programmable, by user scripts. In these window managers, users can define new actions or override the default, or reactions to various events, like window size and position changes, window creation and deletion, key and mouse input, timer, etc. They often provide on-the-fly code execution, too. Some examples of such window managers and the used languages are: *
Awesome Awesome may refer to: Music * Awesome (band), a Seattle-based American band * ''Awesome'' (The Temptations album) 2001 * ''Awesome'' (Marc Terenzi album), 2005 * "Awesome", a song by Veruca Salt from ''Eight Arms to Hold You'' * ''A'wesome ...
-
Lua Lua or LUA may refer to: Science and technology * Lua (programming language) * Latvia University of Agriculture * Last universal ancestor, in evolution Ethnicity and language * Lua people, of Laos * Lawa people, of Thailand sometimes referred t ...
https://awesomewm.org/ *
KWin KWin is a window manager for the X Window System and a Wayland compositor. It is released as a part of KDE Plasma 5, for which it is the default window manager. KWin can also be used on its own or with other desktop environments. KWin can be c ...
-
ECMAScript ECMAScript (; ES) is a JavaScript standard intended to ensure the interoperability of web pages across different browsers. It is standardized by Ecma International in the documenECMA-262 ECMAScript is commonly used for client-side scripti ...
*
Qtile In 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 common approach (used by stacking window managers) of coordinate-based stacking of overlap ...
- Python *
Sawfish Sawfish, also known as carpenter sharks, are a family of rays characterized by a long, narrow, flattened rostrum, or nose extension, lined with sharp transverse teeth, arranged in a way that resembles a saw. They are among the largest fish ...
- "rep", a
Lisp A lisp is a speech impairment in which a person misarticulates sibilants (, , , , , , , ). These misarticulations often result in unclear speech. Types * A frontal lisp occurs when the tongue is placed anterior to the target. Interdental lispin ...
dialect *
Xmonad xmonad is a dynamic window manager (tiling) for the X Window System, noted for being written in the functional programming language Haskell. Window manager Begun in March 2007, version 0.1 was announced in April 2007 as 500 lines of Haskell ...
-
haskell Haskell () is a general-purpose, statically-typed, purely functional programming language with type inference and lazy evaluation. Designed for teaching, research and industrial applications, Haskell has pioneered a number of programming lan ...
*
StumpWM StumpWM is a tiling window manager that was created when developer Shawn Betts found ratpoison growing increasingly large and " lispy". Intended as a successor to ratpoison, StumpWM is released under the terms of the GPL-2.0-or-later license. ...
-
Common Lisp Common Lisp (CL) is a dialect of the Lisp programming language, published in ANSI standard document ''ANSI INCITS 226-1994 (S20018)'' (formerly ''X3.226-1994 (R1999)''). The Common Lisp HyperSpec, a hyperlinked HTML version, has been derived fr ...
* GWM - "WOOL", a Lisp dialect * Bspwm - C


See also

*
Comparison of X window managers This article compares variety of different X window managers. For an introduction to the topic, see X Window System. General information Features See also * Comparison of X Window System desktop environments * Window manager * ...
*
Re-parenting window manager A re-parenting window manager is an X Window System window manager that adopts all other windows. In the X Window System, every window has a parent window, which may be either the root window or another window. Windows that are children of the roo ...
for a popular implementation technique *
X Window System protocols and architecture In computing, the X Window System (commonly: X11, or X) is a network-transparent windowing system for bitmap displays. This article details the protocols and technical structure of X11. Client–server model and network transparency X uses ...
for context *
Windowing system In computing, a windowing system (or window system) is software that manages separately different parts of display screens. It is a type of graphical user interface (GUI) which implements the WIMP ( windows, icons, menus, pointer) paradigm f ...
*
Wmctrl wmctrl is a command used to control windows in EWMH- and NetWM-compatible X Window window managers. Some of its common operations are list, resize, and close window. It also has the ability to interact with virtual desktops and give information ...
- a command-line utility used to control windows in EWMH and NetWM compatible window managers * xdotool - another command-line utility used to control windows *
Wayland compositor Wayland is a communication protocol that specifies the communication between a display server and its clients, as well as a C library implementation of that protocol. A display server using the Wayland protocol is called a '' Wayland compositor ...


References


External links


''The Comprehensive List of Window Managers for Unix''

''ArchWiki List of Window Managers for Linux''
{{DEFAULTSORT:X Window Manager X Window System Graphical user interfaces