dynamic window manager
dwm is a dynamic window manager for X11.
As founder and main developer of wmii I came to the conclusion that
wmii is too clunky for my needs. I don't need so many funky features
and all this hype about remote control through a 9P service, I only
want to manage my windows in a simple, but dynamic way. wmii never got
finished because I listened to users, who proposed arbitrary ideas I
considered useful. This resulted in an extreme CADT development model,
which was a mistake. Thus the philosophy of dwm is simply to fit my
needs (maybe yours as well). That's it.
Differences to ion, larswm, and wmii
In contrast to ion, larswm, and wmii, dwm is much smaller, faster and simpler.
dwm has no Lua integration, no 9P support, no menu, no editable
tagbars, no shell-based configuration, no remote control, and comes
without any additional tools like printing the selection or warping
dwm is only a single binary, it's source code is intended to never
exceed 2000 SLOC.
dwm is based on tagging and dynamic window management (however
simpler than ion, wmii or larswm). It manages windows in
tiling and floating modes. Either mode can be applied dynamically,
depending on the application in use and the task performed.
dwm don't distinguishes between layers, there is no floating or
tiled layer. Wether the clients of currently selected tag are in
tiled mode or not, you can re-arrange all clients on the fly.
Popup- and fixed-size windows are treated floating, however.
dwm is customized through editing its source code, that makes it
extremely fast and secure - it does not process any input data
which hasn't been known at compile time, except window title names
and status text read from standard input. You don't have to learn
Lua/sh/ruby or some weird configuration file format (like X
resource files), beside C to customize it for your needs,
you only have to learn C.
Because dwm is customized through editing its source code, it's
pointless to make binary packages of it. This keeps its userbase
small and elitist. No novices asking stupid questions.
dwm uses 1-pixel borders to provide the maximum of screen real
estate to clients. Small titlebars are only drawn in front of
dwm reads from standard input to print arbitrary status text (like
the date, load, battery charge). That's much simpler than
larsremote, wmiir and what not...
It can be downloaded and distributed under the conditions
of the MIT/X Consortium license.
dwm is actively developed in parallel to wmii. You can browse its source code repository or get a copy using Mercurial with following command:
hg clone http://10kloc.org/cgi-bin/hgwebdir.cgi/dwm
You can purchase this tricot
if you like dwm and the dwm logo, which has been designed by Anselm.