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
git clone git://github.com/SawfishWM/sawfish.git
27 October 2000
Leaders and contributors
Resources and communication
|Developer||VCS Repository Webview||https://github.com/SawfishWM/sawfish|
|Ruby (Ref) (R)||https://rubygems.org/gems/sawmill|
|Bug Tracking,Developer,Support||Mailing List Subscribe||https://listengine.tuxfamily.org/lists.tuxfamily.org/sawfish/|
|Python (Ref) (R)||https://pypi.org/project/Sawmill|
|Required to build||GNU make|
|Required to build||imlib|
|Required to build||librep 0.13 or later|
|Required to build||rep-gtk 0.14 or later|
This entry (in part or in whole) was last reviewed on 29 March 2018.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the page “GNU Free Documentation License”.
The copyright and license notices on this page only apply to the text on this page. Any software or copyright-licenses or other similar notices described in this text has its own copyright notice and license, which can usually be found in the distribution or license text itself.