Information about Sawfish

Extensions

Sawfish is definitely the best window manager for the X11 windowing system. One reason is the small footprint in memory usage and another reason is the possibility to extend its functionality using lisp. This section contain a few extension I wrote to make sawfish as perfect as possible. ;-)

All files listed here should go into a subdirectory crunchy, which is located in one of the diretories listed in the variable load-path, e.g. ~/.sawfish/lisp/crunchy/. To activate an extension simply add a line to your ~/.sawfishrc: (require 'crunchy.<extension>) and replace <extension> with the name of the extension.

Some of these extension may not be that useful to you, but they are part of my configuration.

crunchy/
bindings.jl

This file contains a set of global key bindings. Some of these bindings define shortcuts for moving and resizing windows. They are based on the keys 'H', 'J', 'K', 'L'.

keymaps.jl

This file defines two keymaps for resizing and navigating windows over workspaces and for requesting help about sawfish functions and variables.

run.jl

Defines a structure of two functions for executing other applications. One if these functions run a new application or focus the window of an already running instance. The second function runs a new instance of an application or toogle the iconify state of an already running instance. An existing instance is identified by its window name.

corner.jl

The defined structure adds an attribute to the windows matcher dialog, which provides the possiblity to automatically dock new windows to one of the screen corners. Additionally an offset may be specified and a boolean flag can indicate if the position should be fixed or not.

remote-terminal.jl

This structure provides the possiblity to open remote shells. The user may configure a list of hosts, which will be used for completion.

Themes