Sawfish Window Manager for X11
Sawfish is an extensible window manager using an Emacs Lisp-like scripting language–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. As such it does not implement desktop backgrounds, applications docks, or other things that may be achieved through separate applications.
All high-level wm functions are implemented in Lisp for future extensibility or redefinition. Currently this includes menus (using GTK+), interactive window moving and resizing, virtual desktop, iconification, focus/transient window policies, frame theme definitions and much more.
Also, 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..)
License: GNU GPL v2
1.11.90 (1.12 beta) "The Day Is My Enemy" ========================================= * Bug Fixes - Fixed that a focus change by pointer motion was ignored after x-cycle. [Teika Kazura] - Focus-mode 'enter-exit' now ignores 'pointer-out' event. Fixing flickering bugs with widgets like GtkComboBox, GtkCompletion or Firefox' URL-Bar. [Teika Kazura] * Build and Installation - When building Sawfish while an instance of it is running, a sawfish-managed 'conky' instance does no longer get killed. [Christopher Bratusek] - Fix 'libtool' version check in 'autogen.sh'. [Christopher Bratusek] - Remove 'gitclean' Makefile target, improve 'distclean' target. [Christopher Bratusek] * New Features - The Tiling functions now use 'calculate-workarea' to not overlap '_NET_WM_STRUT' windows like panels and others. [Christopher Bratusek] - Let 'window-icon-image' use 'NET_WM_ICON' to get 16x16 icon. Also add a size-parameter in case a different one is desired. [hans1024] - Allow passing of extra (custom) arguments to compton. [Joshua Moller-Mara] * Miscellaneous Changes - Add 'lumina-window-matchers' for better interaction of Lumina and Compton. Also filter Lumina out from 'cabinet'. [Christopher Bratusek] - Add double buffering of frame parts to reduce flickering while redraw of frames. [hans1024] - Properly filter out 'conky' from 'cabinet'. [Christopher Bratusek] - Added session integration for KDE5, '--with-kde5session' configure flag, updated 'sawfish.wm.integration.kde', sawfish-kde5-session package for Debian GNU/Linux [Christopher Bratusek] - Restructured session file installation. Removed '--with-xdmsession' configure flag, the bare Sawfish session is installed always. For the remaining there's now an configure option each: '--with-matesession' (MATE), '--with-luminasession' (Lumina) and '--with-xfcesession' (XFCE). [Christopher Bratusek] - Properly uninstall all session related files upon 'make uninstall' [Christopher Bratusek] - Debian code review x Fix FSF address across all files [Christopher Bratusek] x Fix code spellings [Christopher Bratusek] x Rename 'configure.in' to 'configure.ac' [Christopher Bratusek]