Window manager

A window manager (WM) is system software that controls the placement and appearance of windows within a windowing system in a graphical user interface (GUI). It can be part of a desktop environment (DE) or be used standalone.

Note: Window managers are unique to Xorg. The equivalent of window managers on Wayland are called compositors because they also act as compositing window managers.

Overview

Window managers are X clients that control the appearance and behaviour of the frames ("windows") where the various graphical applications are drawn. They determine the border, title bar, size, and ability to resize windows, and often provide other functionality such as reserved areas for sticking dockapps like Window Maker, or the ability to tab windows like Fluxbox. Some window managers are even bundled with simple utilities like menus to start programs or to configure the window manager itself.

The Extended Window Manager Hints specification is used to allow window managers to interact in standard ways with the server and the other clients.

Some window managers are developed as part of a more comprehensive desktop environment, usually allowing the other provided applications to better interact with each other, giving a more consistent experience to the user, complete with features like desktop icons, fonts, toolbars, wallpapers, or desktop widgets.

Other window managers are instead designed to be used standalone, giving the user complete freedom over the choice of the other applications to be used. This allows the user to create a more lightweight and customized environment, tailored to their own specific needs. "Extras" like desktop icons, toolbars, wallpapers, or desktop widgets, if needed, will have to be added with additional dedicated applications.

Some standalone window managers can be also used to replace the default window manager of a desktop environment, just like some desktop environment–oriented window managers can be used standalone too.

Prior to installing a window manager, a functional X server installation is required. See Xorg for detailed information.

Types

  • Stacking (aka floating) window managers provide the traditional desktop metaphor used in commercial operating systems like Windows and macOS. Windows act like pieces of paper on a desk, and can be stacked on top of each other. For available Arch Wiki pages see Category:Stacking window managers.
  • Tiling window managers "tile" the windows so that none are overlapping. They usually make very extensive use of key-bindings and have less (or no) reliance on the mouse. Tiling window managers may be manual, offer predefined layouts, or both. For available Arch Wiki pages see Category:Tiling window managers.
  • Dynamic window managers can dynamically switch between tiling or floating window layout. For available Arch Wiki pages see Category:Dynamic window managers.

See Comparison of tiling window managers and Wikipedia:Comparison of X window managers for comparison of window managers.

List of window managers

Stacking window managers

  • 2bwm Fast floating window manager, with the particularity of having 2 borders, written over the XCB library and derived from mcwm written by Michael Cardell. In 2bwm everything is accessible from the keyboard but a pointing device can be used for move, resize and raise/lower.
https://github.com/venam/2bwm || 2bwmAUR
  • 9wm X11 window manager inspired by Plan 9's rio.
https://github.com/9wm/9wm || 9wmAUR
  • AfterStep Originally based on the look and feel of the NeXTStep interface, it provides end users with a consistent, clean, and elegant desktop. The goal of AfterStep development is to provide for flexibility of desktop configuration, improving aesthetics, and efficient use of system resources.
http://www.afterstep.org/ || afterstep-gitAUR
  • berry Bite-sized window manager written in C. It is controlled via a command-line client, allowing users to control windows via a hotkey daemon such as sxhkd or expand functionality via shell scripts. It provides extensible theming options with double borders, title bars, and window text. Berry places new windows in unoccupied spaces and supports virtual desktops.
https://berrywm.org/ || berry-gitAUR
  • Enlightenment Enlightenment is not just a window manager for Linux/X11 and others, but also a suite of libraries to help you create beautiful user interfaces with much less work than doing it the old fashioned way and fighting with traditional toolkits, not to mention a traditional window manager.
https://www.enlightenment.org/ || enlightenment
  • IceWM Window manager for X. The goal of IceWM is speed, simplicity, and not getting in the user's way.
https://ice-wm.org/ || icewm
  • Karmen Window manager for X, written by Johan Veenhuizen. It is designed to "just work." There is no configuration file and no library dependencies other than Xlib. The input focus model is click-to-focus. Karmen aims at ICCCM and EWMH compliance.
http://karmen.sourceforge.net/ || karmenAUR
  • Openbox Highly configurable window manager with extensive standards support. The *box visual style is well known for its minimalistic appearance. Openbox uses the *box visual style, while providing a greater number of options for theme developers than previous *box implementations. Has been "feature complete" since 2010 but continues to be maintained.
http://openbox.org/ || openbox
  • PekWM Window manager that once upon a time was based on the aewm++ window manager, but it has evolved enough that it no longer resembles aewm++ at all. It has a much expanded feature-set, including window grouping (similar to Ion, PWM, or Fluxbox), auto-properties, Xinerama, keygrabber that supports keychains, and much more.
https://www.pekwm.org/ || pekwm
  • WindowLab Small and simple window manager of novel design. It has a click-to-focus but not raise-on-focus policy, a window resizing mechanism that allows one or many edges of a window to be changed in one action, and an innovative menubar that shares the same part of the screen as the taskbar. Window titlebars are prevented from going off the edge of the screen by constraining the mouse pointer, and when appropriate the pointer is also constrained to the taskbar/menubar in order to make target menu items easier to hit.
https://github.com/nickgravgaard/windowlab || windowlabAUR
  • Xfwm The Xfce window manager manages the placement of application windows on the screen, provides beautiful window decorations, manages workspaces or virtual desktops and natively supports multi screen mode. It provides its own compositing manager (from the X.Org Composite extension) for true transparency and shadows. The Xfce window manager also includes a keyboard shortcuts editor for user specific commands and basic windows manipulations and provides a preferences dialog for advanced tweaks.
https://docs.xfce.org/xfce/xfwm4/start || xfwm4

Tiling window managers

  • LeftWM A tiling window manager written in Rust.
https://leftwm.org || leftwmAUR

Dynamic window managers

  • echinus Simple and lightweight tiling and floating window manager for X11. Started as a dwm fork with easier configuration, echinus became full-featured re-parenting window manager with EWMH support. It has an EWMH-compatible panel/taskbar, called ouricoAUR.
http://plhk.ru || echinusAUR

See also

This article is issued from Archlinux. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.