Sawfish
Sawfish (formerly known as Sawmill) is an extensible window
manager using an Emacs
Lisp-like scripting language called Librep. 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. Consequently, it
does not implement desktop backgrounds, applications docks, or other
functionality
that may be achieved through separate applications.
All high-level window manager functions are implemented in
Lisp for future
extensibility or redefinition. Currently this includes menus (using
GTK+), interactive window moving and resizing, virtual workspaces,
iconification, focus/transient window policies, frame theme definitions
and much more.
Most received events are exported to the Lisp environment
through
'key-bindings' and hooks, similar to in Emacs.
These events include
pointer behaviour and many internal X11 events (enter/leave,
focus-in/focus-out, map/unmap, etc..)
Sawfish was used with the GNOME
desktop environment until it was replaced by Metacity
in GNOME
2.2 because of issues including accessibility, maintainability of the
code, and multi-head support
Features include:
- Highly configurable
- Powerful key-binding: Functionality can be bound to
keys or mouse buttons
- Event hooking: Customize how Sawfish responds to events
such as moving windows
- Window matching: Match windows to a set of rules and
automatically perform actions on them
- Flexible
theming: Permits themes to be created and a
variety of third-party themes are readily available
- All high-level wm functions are implemented in Lisp for
future extensibility or redefinition
Return
to Window Managers Home Page
Last Updated Monday, February 20 2012 @ 01:33 PM EST |