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.
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 desktop, 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 behavior and many internal X11 events (enter/leave, focus-in/focus-out, map/unmap, etc..)
DocumentationProgrammer's manual available in HTML format from https://sawfish.tuxfamily.org/sawfish.html/index.html
To read the Info manual, execute the command info sawfish, or enter the Info mode within Emacs (`C-h i') and type g (sawfish) RET.
- IRC general channel
released on 13 August 2016
|License||Verified by||Verified on||Notes|
|GPLv2orlater||Matt Kraai||27 October 2000|
Leaders and contributors
Resources and communication
|Bug Tracking,Developer,Support||Mailing List Subscribe||https://listengine.tuxfamily.org/lists.tuxfamily.org/sawfish/|
|Developer||VCS Repository Webview||https://github.com/SawfishWM/sawfish|
|Required to build||imlib|
|Required to build||librep 0.13 or later|
|Required to build||rep-gtk 0.14 or later|
|Required to build||GNU make|
This entry (in part or in whole) was last reviewed on 7 January 2017.