[ screenshots downloading documentation bugs themes mailing list miscellaneous ]
Sawfish is an extensible window manager using a Lisp-based scripting language --all window decorations are configurable and all user-interface policy is controlled through the extension language. This is no layer on top of twm, but a wholly new architecture. Despite this extensibility its policy is 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 many more standard window-manager functions. User-configuration is possible either by writing Lisp code in a personal .sawfishrc file, or through the integrated customization system (using GTK+, see the third and fourth screenshots below). If you're wondering why there are many references to something called ``sawmill'' on this page, that's because sawfish was originally known by that name, but had to change. |
Note that the last screenshot is not a composite -- it's very easy to give different themes to different windows. |
The most recent version of sawfish is available from: To compile this you'll need GNU make, Imlib, my librep Lisp interpreter (0.13+), and the rep-gtk binding (0.14+) installed. Sources for some of these are:
Alternatively you may use anonymous CVS to access the latest development sources (with no guarantees that they will work correctly, or even compile). cvs -d:pserver:anonymous@anoncvs.gnome.org:/cvs/gnome login cvs -d:pserver:anonymous@anoncvs.gnome.org:/cvs/gnome co sawfish When prompted for a password for anonymous, simply press the Enter key. Updates from within the module's directory do not need the -d parameter. You can also browse the source tree. |
For more information see the included README file. All changes are listed in the NEWS file. The FAQ answers some of the most frequent questions people have asked. Eric Mangold has updated the sawfish programming manual. His version is available here. The original version is also available. |
See these notes describing how to report sawfish bugs. The current list of bugs and todo items is stored in a bugzilla database. As noted in the BUGS file, please don't add bugs to the database unless you are absolutely sure that it really is a bug. If unsure, send mail to the mailing list first. If you suspect a packaging problem report the bug to the package maintainers. |
There's now sawmill.themes.org which should include most available themes; thanks to everyone there for setting it up. All themes that I've created are listed here. |
There is a mailing list available for general discussion and announcements. See http://mail.gnome.org/mailman/listinfo/sawfish-list/ for the details. |
Thanks to Joachim Nilsson for the pointer to the sawfish picture. The permanent location for this page is http://sawmill.sourceforge.net/. The sourceforge project page is http://sourceforge.net/project/?form_grp=32 |