Sawfish is a lisp-extensible window manager for X11. Its aim is to allow all areas of window management (decoration, manipulation) to be customized as far as is possible, yet still remain as fast or faster than existing window managers.
Despite this extensibility its policy is very minimal compared to most window managers. It does not implement desktop backgrounds, applications docks, or other things that may be achieved through separate applications.
All high-level window management functions are implemented in Lisp for future extensibility or redefinition. Also, most received events are exported to the Lisp environment through key-bindings and hooks, similar to in Emacs. These events include pointer behavior and many internal X11 events.
Sawfish uses the librep Lisp environment (see Overview in The Librep Manual), this is a run-time library implementing a language similar to Emacs Lisp (see Overview in The Emacs-Lisp Manual), but with many extensions, and using lexical instead of dynamic scope. This manual assumes at least a basic knowledge of the language.
Homepage and mailing list are listed in See FAQ.