dwm is a dynamic, minimalist tiling window manager for the X Window System
that has influenced the development of several other X window managers,
including xmonad and awesome. It is externally similar to wmii, but
internally much simpler. dwm is written purely in C and for performance and
security in addition to simplicity, and lacks any configuration interface
besides editing the source code. 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 contained in a single header file.
Features dwm supports multiple workspaces and,
unlike ratpoison, allows moving and resizing windows with the mouse. Older
versions of dwm displayed their stdin in a status bar, along the edge of the
screen. Recent versions instead display the root window's name, which can be set
by independent processes. This is often used to show information that would
appear in the notification area of other desktop environments—a clock, system
load info, laptop battery and network status, music player information and the
like. This status line is often complemented with dmenu, a textual
application launcher from the same developer as dwm. dwm uses a
focus-follows-mouse model and lacks any window decoration other than a border to
show focus. dmenu
dmenu is a keyboard-driven menu utility developed as part of the dwm project.
When invoked, usually by a user-configured key combination, dmenu
displays a horizontal menu of its stdin stream at the top edge of the screen.
This is usually used to pipe in a list of executable names from the user's
$PATH, but dmenu can be used for any purpose where a menu is required. The
user can start typing a program name, and dmenu will narrow the list to show
only substring matches for what the user typed. The user can also use the arrow
keys to navigate the menu. When a choice is made, dmenu sends the selected text
to stdout, which is usually piped into a shell to launch the program.
Command-line options can alter the font and colors of the menu, make the search
case-insensitive, as well as switch the menu to a vertical orientation or place
it at the bottom of the screen. By default, only X Font Server fonts are
supported although a patch exists to enable TrueType fonts using Xft.
dmenu is similar in function to application launchers such as Katapult
or GNOME Do for Linux or LaunchBar or Quicksilver for Mac OS X in that it
allows quick launching of programs from a graphical environment using the
keyboard. In addition to dwm, dmenu is often used
with other window managers like xmonad, or Openbox, and other software like the
uzbl web browser. Forks and patches
dwm has been an influential project; many other window managers are based on
dwm's source code or inspired by it. An extensive list of forks and patches can
be found at the official site. Below is a list of a few notable examples:
awesome extends dwm with FreeType support, reconfigurability, Lua
scripting support, theming, and more layout types.
echinus extends dwm with FreeType support, subset of EWMH, click-to-focus,
reconfigurability, and more layout types.
wmii is a tiling window manager from which dwm draws inspiration.
xmonad is a dwm rewrite in Haskell with additional features.
See also Comparison of X window managers
References Further reading
External links Official website
Going fast with DWM review in Linux Journal
dwm review Configuring dwm
Tiling WM review with several pages about twm
dwm for Windows dwm page in Free Software Directory
stali talk at CLT 2010 referenced dwm