Home

A window manager is a special system software which controls the placement and appearance of windows. This control occurs within a windowing system in a graphical user interface. The vast majority of window managers is designed to help establish a desktop environment. These window managers work in connection with the underlying graphical system that provides required functionality like support for graphics hardware, pointing devices, and a keyboard. Besides this sort of window managers is often written and created using a so-called widget toolkit.

Few window managers are characterized using a clear difference between the windowing system and the window manager. Every graphical operating system that uses a so-called windows metaphor is operating to some extent like a window management. In practice however the elements of this functionality vary greatly. The elements usually associated with window managers are those which give the user the possibility to open, close, minimize, maximize, move, resize, and keep track of running windows, including window decorators. Many window managers also come with docks, task bars, program launchers, desktop icons, and wallpaper.

Beryl is an example for an open source window manager that tried to provide a free desktop experience to the community that went along with the wishes of the users. This is simply a form of placing software at the disposal. Other than that mentioned there exist further more forms of placing something at the general public’s disposal. Examples therefore are poets who publish their poems, citations and sayings, in German Gedichte, Zitate and Sprüche, in communities and share them with others. Consequently there emerge big collections of lyrical and poetical works from which people choose poems for birthday cards or any other festive reason. In addition also film and movie quotes, in German Filmzitate, get collected in wide open source communities and online platforms.

On systems using the X window system, there is a clear distinction between the window manager and the windowing system. In the strict sense an X window manager does not directly operate with video hardware, mice, or keyboards, which are the responsibility of the X server. However these elements should actually be the responsibility of the kernel to provide.

Moreover users of the X Window System are able to use many different window managers like, among others, those included in GNOME, KDE. Due to the fact that many window managers are modular, people advert to programs such as Compiz. By way of example Compiz, a 3D compositing window manager, replaces only specific parts of the graphical environment. Numerous components of varying window managers can even be mixed and / or matched. An example therefore are the window decorations from KDE’s KWin that can be used with the desktop and dock components of Gnome.

Moreover X window managers are able to re-parent applications. This means that while initially all applications are adopted by the root window, an application started within the root window can be adopted by another. Window managers which operate under the X window system adopt applications from the root window and re-parent them to window decorations. Another intended use of re-parenting consists in allowing the contents of one window to be added to another. By way of example a flash player application can be re-parented to a browser window. Consequently the alreday mentioned flash player application can appear to the naked eye as supposedly being part of that program. All in all re-parenting window managers can therefore arrange one or more programs into the same window in order to combine easily tiling and stacking in various ways.

Window managers are often divided into three classes. These classes are aimed at describing how windows are drawn and updated.

  1. Compositing window managers: Compositing window managers give all windows the possibility to be first created and drawn separately and then put together and displayed in various different 2D and 3D environments. This provides a great deal of variety in interface look and feel, and advanced 2D and 3D visual effects. Mac OS X can be mentioned as a good example within the context of the first operating system to be packaged with a compositing window manager.
  2. Stacking window managers: All window managers which possess overlapping windows and are not characterized as compositing window managers are called stacking window managers. Stacking window managers allow every window to overlap with another one by drawing background windows first. This methodology is referred to as painter’s algorithm. In case of changes it is sometimes required that all windows are re-stacked or repainted which usually involves redrawing every window. However in order to place a background window in the front, it is usually only demanded that one window gets redrawn, because background windows may have bits of other windows painted and placed over them successfully erasing those areas that are covered.
  3. Tiling window manager: Tiling window managers paint all windows on-screen by positioning them above / below each other and side by side. In other words the screen has to be organized into mutually non-overlapping frames. Microsoft Windows 1.0 for instance used tiling. Of course there is a variety of tiling window managers for The X Window System available.
  4. Dynamic window manager: Dynamic window managers are able switch dynamically between tiling or floating window layout. Strictly speaking there exists great variety of dynamic window managers for The X Window System.