New release 1.3.1
Sawfish official homepage is moving:

http://sawfish.wikia.com/

when we are done moving the content, this webpage will be a just a redirection to the new site




[ screenshots downloading documentation bugs themes mailing list miscellaneous ]

logo

sawfish: an extensible window manager

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.

screenshots

screenshot 1 screenshot 2 screenshot 3 screenshot 4

Note that the last screenshot is not a composite -- it's very easy to give different themes to different windows.

downloading

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.

documentation

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.

bugs

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.

themes

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.

mailing list

There is a mailing list available for general discussion and announcements. See http://mail.gnome.org/mailman/listinfo/sawfish-list/ for the details.

miscellaneous

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

John Harper <jsh@unfactored.org>