World Library  
Flag as Inappropriate
Email this Article

X window manager

 

X window manager

The windowing system based on the X11 protocol keeps display server and window manager as separate components

An X window manager is a window manager which runs on top of the X Window System, a windowing system mainly used on Unix-like systems.

Unlike the Mac OS (Apple Macintosh) and Microsoft Windows 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, 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:
  • consumption of memory and other system resources
  • degree of integration with a desktop environment, which provides a more complete interface to the operating system, and provides a range of integrated utilities and applications.

Contents

  • How X window managers work 1
  • Types of window managers 2
    • Stacking window managers 2.1
    • Tiling window managers 2.2
    • Compositing window managers 2.3
    • Virtual window managers 2.4
    • Window managers that are extensible 2.5
  • X window managers 3
  • See also 4
  • References 5
  • External links 6

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, 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 icons. Indeed, icons do not exist at the X Window System core protocol 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, 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 (ICCCM) but this has been superseded by the Extended Window Manager Hints (EWMH).

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 buffers can mean increased efficiency, but effects such as translucency are not possible.

Stacking window managers include Amiwm, Blackbox, Enlightenment, evilwm, Fluxbox, FVWM, IceWM, MWM, Openbox and 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), 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, dwm, ion, larswm, ratpoison, Stumpwm, wmii, i3, xmonad, 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 LXDE.[1]

Historically, the Amiga in 1985, OSX in 2001 (which in many ways is a window manager for X), 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's Mutter née Metacity (first dev-branch compositor in 2.7 or 2.8 [2] of 2004 [3]—original stable-branch compositor since 2.14 in 2005 [4] or 2006 [5]—current compositor architecture since 2.22 [6] in 2008—Metacity+Clutter begat Mutter in 2011),
  • Xfce's Xfwm (since 4.2 of 2004 or 2005 [7]),
  • Unity's Compiz (since 2005—was forked as Beryl in 2006 but the projects re-merged in 2007), and
  • KDE's KWin (since 4.0 of 2008).

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 with its viewport. 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, Tvtwm, HaZe and others.

Window managers that are extensible

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:

X window managers

See also

References

  1. ^ http://standards.freedesktop.org/wm-spec/wm-spec-latest.html#id2504750

External links

  • Window Managers for X by Matt Chapman
  • Software List:Window Managers - list of window managers with summaries
  • The Comprehensive List of Window Managers for Unix
This article was sourced from Creative Commons Attribution-ShareAlike License; additional terms may apply. World Heritage Encyclopedia content is assembled from numerous content providers, Open Access Publishing, and in compliance with The Fair Access to Science and Technology Research Act (FASTR), Wikimedia Foundation, Inc., Public Library of Science, The Encyclopedia of Life, Open Book Publishers (OBP), PubMed, U.S. National Library of Medicine, National Center for Biotechnology Information, U.S. National Library of Medicine, National Institutes of Health (NIH), U.S. Department of Health & Human Services, and USA.gov, which sources content from all federal, state, local, tribal, and territorial government publication portals (.gov, .mil, .edu). Funding for USA.gov and content contributors is made possible from the U.S. Congress, E-Government Act of 2002.
 
Crowd sourced content that is contributed to World Heritage Encyclopedia is peer reviewed and edited by our editorial staff to ensure quality scholarly research articles.
 
By using this site, you agree to the Terms of Use and Privacy Policy. World Heritage Encyclopedia™ is a registered trademark of the World Public Library Association, a non-profit organization.
 


Copyright © World Library Foundation. All rights reserved. eBooks from Project Gutenberg are sponsored by the World Library Foundation,
a 501c(4) Member's Support Non-Profit Organization, and is NOT affiliated with any governmental agency or department.