One of the best ways to speed up your Linux desktop is to utilize an ultra-lightweight window manager. To all speed-conscious techies, minimalist lovers, and to those who are still hoping to revive their ageing computer hardware, let me introduce you to the 20 most nimble and simple X window managers for Linux.
Window Maker is a popular window manager for the X Window System designed to emulate NeXT’s GUI as an OpenStep-compatible environment, and has been described as “one of the most useful and universal window managers available. Window Maker has a reputation for being fast, efficient and highly stable and is very popular among open source solutions for use on both newer and older machines. As with most window managers, it supports plenty of available themes.
9wm is an X window manager which attempts to emulate the Plan 9 window manager 8-1/2 as far as possible within the constraints imposed by X. It provides a simple yet comfortable user interface, without garish decorations like title-bars and icons. And it’s click-to-type.
9wm is written by David Hogan (dhog) in 1994. Many later minimalist window managers for X were either inspired by, or directly derived from, 9wm.
awesome is a dynamic window manager for the X Window System. Its development began in September 2007 as a fork of dwm. It aims at being extremely small and fast and supports multiple layouts such as floating, tiling, and maximized.
* Multiple and per screen statusbars, including a variety of widgets (text and icon boxes, graphs, progress bars, and so on).
* Zero mouse dependency. Keyboard accelerated desktop environment.
* Multihead support (XRandR, Xinerama or Zaphod mode).
* EWMH support.
* Real transparency support (using Composite extension and xcompmgr).
* Customized entirely through editing a configuration file.
* Each function for manipulating the environment is bindable to keys/ mouse buttons and executable remotely via a socket (awesome-client).
AfterStep aims to provide flexibility of desktop configuration, improved aesthetics and efficient use of system resources. AfterStep originally was a variant of FVWM modified to resemble NeXTSTEP, but as the development cycle progressed, it diverged from its FVWM roots.
AfterStep includes several modules such as:
* Pager – a visual tool for managing and cycling between multiple desktops
* WinList – a simple Taskbar displaying active applications
* Wharf – docking tool that manages Applets/Dockapps and launches application.
Scwm or Scheme Constraints Window Manager is a window manager for the X Window System. Its main features are dynamic configurability and programmability via a language based on GNU Guile and the embedded arithmetic Cassowary constraint solver. Other features include flexible GUI-driven customization and per window decoration settings (per window ‘themes’). The primary developers were Greg Badros and Maciej Stachowiak.
Blackbox is a minimalist window manager for the X Window System and is popular among those seeking a fast, clean and light environment. Blackbox has specific design goals, and some functionality is provided only through other applications. One example is the bbkeys hotkey application. Blackbox is written in C++ and contains completely original code. It was created by Bradley T. Hughes and is available under the MIT License.
Fluxbox is an X window manager based on Blackbox 0.61.1. It aims to be lightweight and customizable, and has minimal support for graphical icons. Its user interface has only a taskbar and a menu that is accessible by right-clicking on the desktop. All basic configurations are controlled by text files.
Fluxbox can show some eye candy: colors, gradients, borders, and several other basic appearance attributes can be specified. Recent versions support rounded corners and graphical elements. Fluxbox also has several features Blackbox lacks, including tabbed windows and a configurable titlebar.
dwm is a minimalist dynamic tiling window manager for X11. It is externally similar to wmii, but internally much simpler. dwm is written purely in C and, for simplicity, lacks any configuration interface besides editing the source code. This is not as inconvenient as it sounds, however: one of the project’s guidelines is that the source code will never exceed 2000 lines, and options meant to be user-configurable are all represented by macros and contained in a single header file. According to the author, it is optimized for high resolution laptop and widescreen displays.
The F Virtual Window Manager (The F currently has no official meaning) is a virtual window manager for the X Window system. Originally a twm derivative, FVWM has evolved into a powerful and highly configurable environment for UNIX systems.
Here are some of its features:
* Supports any number of virtual desktops, each divided into multiple pages.
* Full EWMH, ICCCM-2 and GNOME Hints support.
* Full internationalisation support, including multi-byte characters and bidirectional text.
* Titlebars can be disabled, or rendered on any window edge.
* Animated Window Shading in all directions.
* Configurable desktop panels.
* Mouse Gestures allow to draw shapes with the mouse, and bind them to commands.
* Xinerama extension support to use more than one monitor.
* Dynamically extensible using modules.
JWM (Joe’s Window Manager) is a window manager for the X Window System written by Joe Wingbermuehle. JWM is written in C and uses only Xlib at a minimum. Support for the following can be added as compile-time options:
* PNG and/or XPM icons
* The Shape extension
JWM is the default window manager used in Damn Small Linux, System Rescue CD, most versions of Puppy Linux, and the ultra-lightweight distribution Slitaz.
wmii is a dynamic tiling window manager for X11. It supports classic and dynamic window management with extended keyboard, mouse, and filesystem based remote control. It replaces the workspace paradigm with a new tagging approach.
Its minimalist philosophy attempts to not exceed 10,000 lines of code (including all shipped utilities and libraries), to enforce simplicity and clarity. Like the similar dwm, wmii is initially configured to use dmenu for program launching, and supports quick access to custom scripts located in a subdirectory of the user’s home directory.
Openbox is a free window manager for the X Window System, licensed under the GNU General Public License. Openbox was originally derived from Blackbox 0.65.0, but has been totally rewritten in the C programming language and since version 3.0 is not based upon any code from Blackbox.
Openbox’s menu system has a method for using dynamic menus. This is done by accepting the output of a script and using that output as the source for a menu. Each time the user points his or her mouse at the sub-menu, the script is re-run and the menu is regenerated. This capability allows users and software developers more flexibility than the standard static menus found in most other window managers.
WindowLab is an X window manager for Unix computer systems. It is based on aewm and retains that window manager’s small and lightweight nature. In many aspects, WindowLab has looked to the Amiga’s user interface for inspiration without cloning it completely. Its top-level menu bar is accessed by a right click as on the Amiga and it follows Fitts law of usability in that once the mouse enters the menu area it is constrained there in both the horizontal and vertical directions. The menu bar is not controlled by applications; it is a launcher menu which is populated by a dot file in the user’s home directory containing a list of menu titles and commands
ratpoison is a free minimalist window manager for the X Window System primarily written by Shawn Betts. Its user interface and much of its functionality are inspired by the GNU Screen terminal multiplexer. Its name comes from the fact that it lets the user manage windows without using the mouse (rat).
Its intended successor is Stumpwm; ratpoison was growing increasingly large, and Betts decided to largely reimplement its functionality in Common Lisp.
Sawfish is a window manager for the X Window System. Formerly known as Sawmill, the name was changed because another software program had the same name (a commercial web log analysis program). Distinctively, Sawfish uses a Lisp-like scripting language, rep, for all of its code, making it particularly easy to extend. For example, it can incorporate keybindings for XMMS.
Sawfish does not come with a panel and was used with the GNOME desktop environment until it was replaced by Metacity in GNOME 2.2.
IceWM is a window manager for the X Window System graphical infrastructure, written by Marko Macek. It was coded from scratch in C++ and is released under the terms of the GNU Lesser General Public License. IceWM is meant to excel in look and feel while being lightweight and customizable.
IceWM can be configured from plain text files stored in a user’s home directory, making it easy to customize and copy settings. IceWM has an optional, built-in taskbar with menu, tasks display, network and CPU meters, mail check and configurable clock. Official support for GNOME and KDE menus was previously available as a separate package.
wm2 is a minimalistic window manager for the X Window System written by Chris Cannam. It provides support for moving, resizing, and deleting windows, but does not support icons. In place of icons, wm2 allows for temporary hiding of windows from the desktop; hidden windows can be recovered via a menu from the root window. It does not offer support for interactive configurability (some configuration can be done by editing a file), nor it provides a virtual desktop and other features of modern window managers such as configurable root menus, toolbars, etc.
StumpWM is a window manager for POSIX-compliant Unix-like operating systems running the X Window System, and is a successor to ratpoison. Stumpwm attempts to be customizable yet visually minimal. There are no window decorations, no icons, and no buttons. It does have various hooks to attach your personal customizations, and variables to tweak.
Waimea is a light-weight window manager for the X Window System, designed somewhat in the vein of Blackbox. It borrows some image code from Blackbox, however it is not a fork of Blackbox.
Waimea has a very advanced style engine with features like blackbox style support, pixmap style support and transparent textures. Text can be rendered double buffered using both X core fonts and Xft fonts. Waimea also includes a fast lightweight menu system with dynamic menus support.
xmonad is a tiling window manager for the X Window System, written in the functional programming language Haskell. Begun in March 2007, it is similar to dwm, larswm, StumpWM and other members of the tiling window manager family; in that it strives to make it possible for the user to productively manage windows without the use of the mouse. xmonad is distributed on a wide range of Unix-like operating systems, including Arch Linux, Debian, Ubuntu, Gentoo, FreeBSD, NetBSD and OpenBSD.