Stacking Window Managers

Sawfish – extensible window manager

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.

Key Features

  • 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.

Website: sawfish.wikia.com
Support: Documentation
Developer: John Harper, Sawfish community
License: GNU General Public License v2.0

Sawfish

Sawfish is written in C. Learn C with our recommended free books and free tutorials.


Related Software

Stacking Window Managers
OpenboxStandards compliant, fast, light-weight, extensible window manager
KWinWindow manager for the KDE Plasma Desktop
MutterWayland display server and X11 window manager and compositor library
FVWMPowerful ICCCM-compliant multiple virtual desktop window manager
berryHealthy, bite-sized window manager
xfwmPart of the Xfce desktop environment
Window MakerNeXTSTEP-like window manager
JWMJoe’s Window Manager
GalaDesigned by elementary for use with Pantheon
FluxboxHighly configurable and low resource
evilwmMaximises screen real estate and provides good keyboard control
WormTiny, dynamic, tag-based window manager
BlackboxSimilar to the NeXT interface and Window Maker
EnlightenmentFocuses on pushing the limits of existing technologies
PekWMOriginally based on the aewm++ window manager
MarcoMATE default window manager
2bwmOffers 2 borders, and written over the XCB library
cwmOpenBSD fork of calmwn, a clean and lightweight window manager
IceWMWin95-OS/2-Motif-like window manager
SawfishExtensible window manager using an Emacs Lisp-like scripting language
MokshaModern iteration of the Enlightenment window manager
MagpieX11 window manager and compositor library
sowmItsy bitsy floating window manager
CompizOpenGL window and compositing manager

Read our verdict in the software roundup.


Best Free and Open Source Software Explore our comprehensive directory of recommended free and open source software. Our carefully curated collection spans every major software category.

This directory is part of our ongoing series of informative articles for Linux enthusiasts. It features hundreds of detailed reviews, along with open source alternatives to proprietary solutions from major corporations such as Google, Microsoft, Apple, Adobe, IBM, Cisco, Oracle, and Autodesk.

You’ll also find interesting projects to try, hardware coverage, free programming books and tutorials, and much more.

Discovered a useful open source Linux program that we haven’t covered yet? Let us know by completing this form.
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments