dynamic window manager
Description
dwm is a dynamic window manager for X11.
Philosophy
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
the mouse.
-
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
unfocused clients.
-
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...
-
Anselm does not wants stupid feedback to dwm. If you ask for
support, feature requests, or if you report "bugs" (real bugs
are welcome though), they will be ignored with a high
chance. However you are free to download and distribute/relicense
it, with the conditions of the MIT/X Consortium license.
Documentation