Window manager

From Void Linux Wiki
Jump to: navigation, search

A Window Manager (WM) is the system software that controls the appearence, placement and behavior of the windows in a Graphical User Interface (GUI). A WM is always bundled into a desktop environment (DE), like GNOME, KDE, Xfce and MATE. Window managers can however also be used on their own, as seen in many of the posts on reddit.com/r/unixporn.

Types of window manager

There are different types of window managers that handle windows differently. Amongst the most common types are the following:

  • Stacking window managers, also called floating window managers are the most common type of window managers. They allow the windows to stack/float on top of each other. It is the default behaviour of windows in many desktop environments like KDE, GNOME, and M$ Windows.
  • Tiling window managers arrange windows in a grid layout that usually takes up most of the screen. Upon spawning a new window they rearrange all windows to fit the new window into the grid. This means that all open windows are vissible at the same time and no space is wasted. Tiling WMs are often controlled by keyboard shortcuts for efficiency. Notable tiling WMs are i3, bspwm and Herbstluftwm.
  • Dynamic window managers are window managers that encorporate several layout types. They have the ability to switch between stacking/floating, tiling, or other forms of window behaviour. A lot of window managers these days have the ability to switch between the layout types or have quasi stacking/quasi floating capabilities. Notable dynamic WMs are Awesomewm and dwm.

Window managers provided by Void Linux

The following is a list of window managers that can be installed through xbps. The list is sorted so that the main functionality of the window manager is highlighted. For instance, bspwm and i3 are both capable of drawing floating windows but have their main focus on tiling and as such are listed under Tiling.

Note: The following list is incomplete. To see the full list use xbps-query -Rs 'window manager'

Stacking / Floating

  • 2bwm — a fast floating window manager.
https://github.com/venam/2bwm || 2bwm
https://github.com/mate-desktop/marco || marco
  • Mutter — a lightweight GTK+3 window manager. The default window manager of GNOME 3.
https://download.gnome.org/sources/mutter/ || mutter
https://github.com/linuxmint/muffin || muffin
  • xfwm — a next generation window manager for the Xfce desktop environment.
https://docs.xfce.org/xfce/xfwm4/start || xfwm4
  • Openbox — a standard compliant, fast, lightweight, extensible window manager.
http://openbox.org || openbox
  • mcwm — a traditional floating window manager with a lot of features but without the bloat".
http://hack.org/mc/hacks/mcwm/ mcwm || mcwm
  • jwm — a light-weight stacking window manager written in C using Xlib at a minimum.
http://joewing.net/projects/jwm/ || jwm
  • icewm — a light-weight stacking window manager resembling windows 95
http://joewing.net/projects/jwm/ || icewm

Tiling

  • bspwm — tiling window manager based on binary space partitioning.
https://github.com/baskerville/bspwm || bspwm
  • i3 — Improved tiling manager.
https://i3wm.org/ || i3
  • sway — i3 compatible window manager for Wayland.
https://i3wm.org/ || sway
  • Herbstluftwm — Manual tiling window manager for X11 using Xlib and Glib.
https://herbstluftwm.org/ || Herbstluftwm
  • ratpoison — a window manager without mouse dependency.
https://nongnu.org/ratpoison/ || ratpoison

Dynamic

  • Awesomewm — a highly configurable next gen framework window manager for X.
https://awesomewm.org/ || Awesomewm
  • dwm — a dynamic window manager for X.
https://dwm.suckless.org/ || dwm
  • snapwm — a minimal and lightweight dynamic tiling window manager.
https://github.com/moetunes/Nextwm || snapwm
  • spectrwm — a small dynamic tiling window manager for X11.
https://github.com/conformal/spectrwm || spectrwm
  • Xmonad — a automatic dynamic tiling X11 window manager written in Haskell.
https://xmonad.org || Xmonad