A window manager is software that manages the windows that applications bring up. For example, when you start an application, there will be a window manager running in the background, responsible for the placement and appearance of windows.
It is important not to confuse a window manager with a desktop environment. A desktop environment typically consists of icons, windows, toolbars, folders, wallpapers, and desktop widgets. They provide a collection of libraries and applications made to operate cohesively together. A desktop environment contains its own window manager.
There are four main types of window manager: Compositing, stacking, tiling, and dynamic. This article focuses on selecting the best managers that fit these classes.
Compositing window managers allow windows to be created and drawn separately and then put together and displayed in various 2D and 3D environments.
Stacking window managers allow windows to overlap by drawing background windows first.
Tiling window managers ensure that no window ever covers another.
A dynamic window manager is a tiling window manager where windows are tiled based on preset layouts between which the user can switch. Layouts typically have a main area and a secondary area. The main area usually shows one window, but one can also change the number of windows in this area. Its purpose is to reserve more space for the more important window(s). The secondary area shows the other windows.
To provide an insight into the quality of software that is available, we have rated the best 23 high quality free Linux window managers. Hopefully, there will be something of interest for anyone who wishes to have more control over managing their desktop.
Now, let’s explore the 23 window managers at hand. For each title we have compiled its own portal page, providing a screenshot of the software in action, a full description with an in-depth analysis of its features, together with links to relevant resources.
|i3||Improved tiling window manager|
|Openbox||Standards compliant, fast, light-weight, extensible window manager|
|Xmonad||Minimalist, tiling window manager written in Haskell|
|KWin||Window manager for the KDE Plasma Desktop|
|dwm||Manages windows in tiled, monocle and floating layouts|
|bspwm||Based on binary space partitioning|
|awesome||Highly configurable, tiling window manager initially based on dwm code|
|Mutter||Wayland display server and X11 window manager and compositor library|
|StumpWM||Common Lisp window manager|
|Qtile||Full-featured, hackable tiling window manager|
|spectrwm||Small dynamic tiling and reparenting window manager|
|sowm||Itsy bitsy floating window manager|
|wmii||Lightweight tabbed and tiled|
|FVWM||Powerful ICCCM-compliant multiple virtual desktop window manager|
|sway||i3-compatible tiling Wayland compositor and a replacement for i3|
|herbstluftwm||Basic tiling concept is that the layout is represented by a binary tree|
|EXWM||Full-featured tiling X window manager for Emacs|
|Fluxbox||Highly configurable and low resource|
|xfwm||Part of the Xfce desktop environment|
|Compiz||OpenGL window and compositing manager|
|IceWM||Win95-OS/2-Motif-like window manager|
|Blackbox||Similar to the NeXT interface and Window Maker|
|JWM||Joe’s Window Manager|
Read our complete collection of recommended free and open source software. The collection covers all categories of software.
The software collection forms part of our series of informative articles for Linux enthusiasts. There's tons of in-depth reviews, alternatives to Google, fun things to try, hardware, free programming books and tutorials, and much more.