From Gentoo Wiki
Jump to:navigation Jump to:search

Sawfish is an extensible window manager using a Lisp-based scripting language. 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. All high-level WM functions are implemented in Lisp for future extensibility or redefinition. These are some of the features that set Sawfish apart from other window managers:

  • Event hooking: For many events (moving windows etc.) you can customize the way Sawfish will respond.
  • Window matching: When windows are created you can match them to a set of rules and automatically perform actions on them.
  • Flexible theming: Sawfish allows for very different themes to be created and a variety of third-party themes are readily available.


USE flags

USE flags for x11-wm/sawfish Extensible window manager using a Lisp-based scripting language

emacs Add support for GNU Emacs
kde Add support for software made by KDE, a free software community
nls Add Native Language Support (using gettextGNU locale utilities)
xinerama Add support for querying multi-monitor screen geometry through the Xinerama API


Install x11-wm/sawfish:

root #emerge --ask x11-wm/sawfish


There are two ways; using the configurator GUI, or preparing lisp code. The GUI can be run by middle-clicking background -> "Customize". Most customizations similar to other window managers can be done through GUI.

For customizations by lisp, first understand that in the startup, three files are read, in the order: sawfish-defaults, ~/.sawfish/custom, .sawfishrc.

External resources