TinyWM is written by Nick Welch <mack@incise.org>, 2005.
TinyWM is a ridiculously tiny window manager implemented in nearly as few lines of C as possible, without being obfuscated or entirely useless. It allows you to move, resize, focus (sloppy), and raise windows -- that's it! TinyWM's main purpose is to serve as a quick example of some window manager programming basics.
- Files
-
Makefile: highly advanced build system tinywm.c: the code annotated.c: same, but with tons of rambling comments about everything tinywm.py:a python version (requires CVS python-xlib due to a bug)
- Usage
-
Focus follows pointer. Alt+Button1, drag: interactive window move Alt+Button3, drag: interactive window resize Alt+F1: raise focused window
- Misc
A fella by the name of Trent Buck made a lisp version:
http://twb.ath.cx/~twb/src/misc/tinywm.lisp
I have started a wiki about window manager development, although I'm not sure the subject is popular enough for the wiki to keep from dying a horrible death. In any case, it is here:
Another very small window manager is failsafewm. Originally I started hacking on it, as there was quite a bit of stuff in it that I thought was unneeded, and I wound up rewriting it from scratch, with just the bare necessities -- that's TinyWM.
http://freshmeat.net/projects/failsafewm/
Yet another small -- but in comparison, big -- window manager is aewm. It's a good example for learning about window management, and the fact that so many WMs have spawned from it is proof.
http://www.red-bean.com/~decklin/aewm/
