dwm is a dynamic tiling window manager written in C. It is lightweight, fast and has served as inspiration for many other window managers, including Awesome, Xmonad and scrotwm. Like all tiling window managers, emphasis is placed on mouse-less window control through the extensive use of keyboard shortcuts.
# aptitude install dwm suckless-tools
Note however that any configuration must be done at build-time. Installing dwm in this manner will give you a fully-functional, but statically configured window manager. To make any customization, the source code will be required (see below for detailed instructions).
dwm is configured by modifying its source code and recompiling the binary. Fortunately, the source code is so small that it compiles within a few seconds under even the slowest of modern processors.
To get started, grab the source code by running the following in a terminal:
$ apt-get source dwm
Browse to the extracted directory:
$ cd dwm-*
Copy the template configuration file to one which will be used for customizations:
$ cp config.def.h config.h
Now open config.h in the editor your choice and make the desired changes. Though it is written in C, most of the preferences are self-explanatory.
Once your changes are complete, run the following command (as root) in the source directory:
# make clean install
This will (re)compile dwm and install the binary to /usr/local/bin/ and man page documentation to /usr/local/share/man/.
Tip: If you do not have root privileges, or if multiple users want customized instances of dwm, you can run dwm from the build directory without installing it. Simply replace 'make clean install' with 'make clean' and then modify your startup script (e.g., .xinitrc) to point to the absolute path to the dwm binary; for example:
xset r rate 250 60 # keyboard repeat delay and rate xsetroot -solid darkgrey # set root window background exec ~/dwm-source-dir/dwm
dwm man page
http://dwm.suckless.org - project homepage
https://wiki.archlinux.org/index.php/Dwm - ArchWiki article with a wealth of tips and other resources
ToDo: Add Usage section with examples for users of display managers and xinitrc scripts