Template:infobox software dwm is a dynamic tiling window manager for X11 exhibiting the principles of minimalism. 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. 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. The Debian Linux distribution provides a bare bones binary package showcasing dwm's functionality without allowing any customization.
Older versions of dwm optionally displayed their stdin in a status bar at the top of the screen. Recent versions use the root window name, which can be changed by an external process. 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.
Forks and PatchesEdit
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, a few notable examples:
- xmonad a dwm rewrite in Haskell with additional features.
- awesome extends dwm with FreeType support, reconfigurability, and more layout types.
- echinus extends dwm with FreeType support, EWMH, click-to-focus, reconfigurability, and more layout types.
- dwm-gtx is a branch of dwm, adding a 'deck' layout and better Xinerama support.
- scrotwm borrows some code from dwm, adds reconfigurability, dynamic Xinerama support and is restartable without losing state.
- bug.n and HashTWM are dwm-inspired applications bringing tiling window management to Microsoft Windows systems.