Next: , Previous: , Up: Top   [Contents][Index]

9 Customization

Sawfish provides two levels of configuration:

  1. customization: setting variables to change the behavior of existing features of the window manager, and,
  2. extensibility: the ability to add entirely new features to the window manager through the creation of new Lisp modules.

Obviously the first of these requires a lot less specialized knowledge than the second. But even then, the user has to edit startup files containing the Lisp forms setting the variables. To remove this need for hand-editing, Sawfish has a specialized system allowing all customizations to be made through a GUI, and then automatically reloaded each time that the window manager is started.

Function: customize #!optional group
Command: customize

Invoke the user-customization GUI. group defines the class of customization variables to configure, or all classes if group is undefined.

There also exists commands like customize:appearance, i.e. for each top-level customization group, the command to customize only it and its subgroups.

The sawfish-config program can be used to invoke the GUI manually.

In order to provide these customization options however, an extra requirement is placed on the Lisp programmer. Instead of just using the defvar special form to declare variables, the defcustom macro must be used. This augments the variable with extra information for the GUI, including such things as its required data type.

Next: , Previous: , Up: Top   [Contents][Index]