-*- text -*-
This is sawfish, a highly configurable window manager for X11. It is known to compile on at least Solaris/sparc and Linux/ix86; it is released under the terms of the GNU GPL, copyright John Harper <email@example.com>
For more details, see the url:
Sawfish is an extensible window manager using an Emacs Lisp-like scripting language--all window decorations are configurable, the basic idea is to have as much user-interface policy as possible controlled through the Lisp language. This is no layer on top of twm, but a wholly new architecture.
Despite this extensibility its policy is currently very minimal compared to most window managers. Its aim is simply to manage windows in the most flexible and attractive manner possible. As such it does not implement desktop backgrounds, applications docks, or other things that may be achieved through separate applications.
All high-level wm functions are implemented in Lisp for future extensibility or redefinition. Currently this includes menus (using GTK+), interactive window moving and resizing, virtual workspaces, iconification, focus/transient window policies, frame theme definitions and much more.
Also, most received events are exported to the Lisp environment through ``key-bindings'' and hooks, similar to in Emacs. These events include pointer behaviour and many internal X11 events (enter/leave, focus-in/focus-out, map/unmap, etc..)
To compile this distribution you'll need GNU make, Imlib, my librep Lisp interpreter, and the rep-gtk binding installed. Sources for some of these are:
http://librep.sourceforge.net/ http://rep-gtk.sourceforge.net/ ftp://ftp.enlightenment.org/e/enlightenment/libs/
After making sure that Imlib, librep, and rep-gtk are installed, do something similar to the following in the root of the unpacked sawfish distribution:
$ ./configure $ make all $ make install
If you've got GNOME installed, and you'd like to be able to configure sawfish via the control center, pass the --enable-capplet option to configure