|Developer(s)||John Harper (retired), Janek Kozicki (2007), Christopher Bratusek, Sawfish community|
|Initial release||January 1, 2000|
1.13.0 / 24 December 2021
1.12.90 / 25 August 2017
|Written in||C, Lisp|
|Operating system||Linux, FreeBSD, NetBSD, OpenBSD, Unix, Mac OS X|
Sawfish is a window manager for the X Window System. It aims to manage windows in the most flexible and attractive manner possible. It is able to match a window by multiple criteria such as application, size or role, and based on this, can change the window's position, appearance, or behavior. This allows for highly customized window handling such as web browser windows opening full-screen without borders on a secondary monitor, a default terminal emulator window displaying full-screen at the desktop level, and all dialog box windows under a certain size opening on the lower right corner of the main monitor while larger ones are centered.
Sawfish uses a Lisp-like scripting language, rep, for all of its code and configuration, making it particularly easy to customize, or program many kinds of behavior, responding to window creation, deletion, or any other changes. There is a GUI configuration utility for users who do not wish to edit configuration files directly.
Sawfish was first called Sawmill. The name was changed because another software program had the same name. It was the standard window manager of the GNOME desktop environment until it was replaced by Metacity in Gnome 2.2.
The development had stopped, but the community restarted it in 2007.