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.
Stacking / Floating
- 2bwm — a fast floating window manager.
- Openbox — a standard compliant, fast, lightweight, extensible window manager.
- jwm — a light-weight stacking window manager written in C using Xlib at a minimum.
- icewm — a light-weight stacking window manager resembling windows 95
- bspwm — tiling window manager based on binary space partitioning.
- i3 — Improved tiling manager.
- sway — i3 compatible window manager for Wayland.
- Herbstluftwm — Manual tiling window manager for X11 using Xlib and Glib.
- ratpoison — a window manager without mouse dependency.
- Awesomewm — a highly configurable next gen framework window manager for X.
- dwm — a dynamic window manager for X.
- snapwm — a minimal and lightweight dynamic tiling window manager.
- spectrwm — a small dynamic tiling window manager for X11.
- Xmonad — a automatic dynamic tiling X11 window manager written in Haskell.