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.12.0 "The Hidden Village" =========================== * 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] - Fixed that 'edge-flip-delay' did not work as expected. Before this fix the edge-action would always be actived when the cursor hit the edge, and 'edge-flip-delay' would only delay the actual action. Leaving the edge before 'edge-flip-delay' ended, would not stop the action. Now 'edge-flip-delay' properly works when the cursor leaves the edge before 'edge-flip-delay' ended, the action will not be executed as expected. [Christopher Bratusek] - Better detection of transient windows during tiling [Jose A. Ortega Ruiz] * 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] - Update 'config.sub', 'config.guess' and 'install-sh' to 2016-04 [Christopher Bratusek] - Add window matcher 'never-tile' to 'Conky' by default [Christopher Bratusek] - Guard 'PangoX' functions as it is going to go away (Debian patch) [Emilio Pozuelo Monfort] - Merge downstream Debian GNU/Linux packaging scripts upstream [Christopher Bratusek] - More meaningful error message when 'libXtst' was not found by 'configure' [Allan Duncan] - Add 'GenericName' and 'Categories' to desktop files [OpenSuSE patch] - Update 'sawfish.spec' [Allan Duncan] - 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] x Make build reproducible (Debian patch) [Jose M. Calhariz] x Honour 'SOURCE_DATE_EPOCH' for build.h when building Debian packages (Debian patch) [Alexis Bienvenüe] x Add 'Keyword' entry to 'sawfish.desktop' (Debian patch) [Jose M. Calhariz] x Do not remove 'wallpaper.jlc' compiled lisp file. It used to break Wallpaper Setter, thus it was removed. But with fixes since the first release of the Wallpaper Setter this is no longer the case, thus the compiled file does not need to be removed anymore. (Debian patch) [Jose M. Calhariz]