Hi folks,

we finally did it, Sawfish 1.10 "Soundtropolis" is now available!

Special Thanks

  • fuchur
  • Jose A. Ortega Ruiz
  • everyone else who contributed to this release


  • bugfixes in tabs / SawfishConfig and more
  • tiling. Thanks to the awesome work done by Jose A. Ortega Ruiz Sawfish is now a stacking / tiling hybrid. The NEWS contains example configuration.
  • sawfish.wm.prg: integration of external applications into Sawfish / SawfishConfig (trayer, xmobar, xmodmap, xsettingsd, xgamma, fehlstart, pancake), see docs/AUTOSTART for more information about them.
  • compton integration. Thanks to fuchurs mind-reading capatibilities the compton compositing manager now neatly integrates with Sawfish / SawfishConfig, allowing you to change most options for compton directly from SawfishConfig.

For full NEWS see below and/or the NEWS file in the source tarball


Source Tarballs

You can find tarballs at

Debian Packages

You can find Debian Packages (Debian, not Ubuntu) at
(dead link!)

for both AMD64 and i386, built on Unstable.

The latest version is now 1.12.90 which can be found here


Have Fun testing the new features! Feel free to report any issues or just to trip out about the new awesomeness in Sawfish. :]


1.10 "Soundtropolis"

   * Updated or New dependencies
        - PangoX: no longer required

   * Bug Fixes
        - Always rebuild the list of marked windows in tabs when closing
          a marked window.  [fuchur]

        - In 'sawfish-config' fix the 'make-choice-item' to properly
          support settings for the 'Crux' theme.  [Vedat Hallac]

        - Only allow a window to be tabbed, if the parent window's
          framestyle has support for tabs.  (Note that in Sawfish
          different windows can have different framestyles) [fuchur]

        - 'window-ops-menu' was still calling
          'resize-window-to-dimension' that didn't exist anymore since
          Sawfish 1.7.  Use 'resize-window-prompt' instead.
          [Christopher Bratusek]

        - Make "Sawfish Rootmenu" label an insensitive menu-item, so
          that clicking it while the root-menu pops up doesn't make the
          menu disappear immediately.  [Christopher Bratusek]

        - In SawfishConfig you can select different cursor shapes for
          different buttons.  Some of the definitions have been wrong
          and could crash Sawfish when choosing them.  This is fixed
          now.  [fuchur]

        - When a windows 'max-width' or 'max-height' would exceed 32767
          (X11's maximum) it would result in odd window-behaviour (for
          example: no maximization button), this is fixed by capping the
          value at 32767.  Originally reported with Firefox and
          Thunderbird 17.0 [Michael Panteleit]

        - Fixed grabbing key-bindings in SawfishConfig.  [Christopher

        - Fixed non-working '$height-content' and '$width-content' in
          the mxflat theme [Robert Zenz]

        - Fixed remembering all window properties after switching
          workspaces [fuchur]

   * New Features
        - Tiling.  [Jose A. Ortega Ruiz] [Christopher Bratusek] here are
          still minor hickups, but both 'tall-tile' and 'col-tile' are
          working (see also 'lisp/sawfish/wm/tile/'):

          'tall-tile': one big (master) window on the left, small
          windows on the right

          'col-tile': tile windows as columns (recommended for
          multi-head configurations)

               ;; Example Tiling configuration in Sawfish's resource file
               (require 'sawfish.wm.tile.tile)
               (tall-tiling 0 #:width 1.75 #:top 0 #:bottom 0 #:gap 3 #:max 3 #:right nil #:resize t)
               (col-tiling 0 #:top 0 #:bottom 0 #:gap 3 #:cols 3 #:resize t)
               (bind-keys global-keymap
               	   "C-S-KP_Add" 'increase-max-windows
               	   "C-S-KP_Subtract" 'decrease-max-windows
               	   "C-M-KP_Add" 'increase-cols
               	   "C-M-KP_Subtract" 'decrease-cols
               	   "C-M-Right" 'tall-rotate-right
               	   "C-M-Left" 'tall-rotate-left
               	   "C-F11" 'next-tiling)

        - Added full compton integration (including autostarting compton
          with Sawfish).  Compton is a fork of xcompmgr with many bug
          fixes and many improvements compared to the original.

          Using 'sawfish-config' it is also possible to change most
          compton options directly from within Sawfish.  [fuchur]

        - Make 'focus-when-mapped' window-matcher chooseable from 'never
          'maybe and 'always.  'never is suggested for KDE users to be
          applied to Plasma in order to prevent notification popups to
          take focus from currently active window (and possibly loosing
          keyboard input) [fuchur]

        - Completeley revised 'resize-window-prompt'.  Now display
          window's name and old width (respectively old height) when
          prompt for new values.  Shows an information, if one of the
          given values is not actually a number.  [Christopher Bratusek]

        - External Application modules.  Those modules allow handling,
          setting-up and starting external applications during a sawfish
          session.  See 'doc/AUTOSTART' for additional notes on them.
             ++ 'trayer' module.  Handles a 'trayer' (a system-tray)
               instance during a sawfish session.  [Christopher

             ++ 'xmobar' module.  Handles a 'xmobar' (an on-screen, very
               flexible bar, monitoring whatever you like) instance
               during a sawfish session.  [Christopher Bratusek]

             ++ 'xmodmap' module.  Allows reading '~/.Xmodmap' on
               startup of Sawfish.  Useful only if using Sawfish
               standalone without a session-manager that already does
               this.  [Christopher Bratusek]

             ++ 'xsettingsd' module.  Handles a 'xsettingsd' (a daemon
               implementing XSettings to provide GTK+2 application with
               information like what theme to use))instance during a
               sawfish session.  [Christopher Bratusek]

             ++ 'xgamma' module.  Allows changing display's gamma
               settings on startup of Sawfish.  [Christopher Bratusek]

             ++ 'fehlstart' module.  Handles a 'fehlstart' (a simple,
               but yet flexible application launcher) instance during a
               sawfish session.  [Christopher Bratusek]

             ++ 'pancake' module.  Handles a 'pancake' (a simple desktop
               panel with pager, window-list, taskbar, tray) instance
               during a sawfish session [Christopher Bratusek]

        - Added 'force-tab' window-matcher, forcing a window to be
          tabbed.  [fuchur]

        - Added 'window-type' window-matcher.  This allows you to change
          the '_NET_WM_TYPE' of a window.  Specifications explicitly
          state that the client (Sawfish in this case) is not allowed to
          do so.  Still, we provide this ability in case of bogus
          applications and testing purposes, it is neither desired nor
          required for normal work.  [fuchur]

        - Added 'tab-group-windows-hook', triggered when changing or
          creating a tabgroup, returning all windows contained in the
          current tabgroup.  [fuchur]

   * Removed Features
        - Removed 'sawfish.wm.ext.expose' in favour of much more
          advanced tiling-functions.  [Christopher Bratusek]

   * Miscellaneous Changes
        - Updated 'Elberg-tabbed' and 'gradient-tabbed' for tab-system
          as of Sawfish 1.9.1 [fuchur]

        - Wallpaper setter now has an option for setting wallpaper on
          startup.  Image widget is now more robust.  [Christopher

        - Improved default keymap for 'titlebar' and 'tabbar'.  [fuchur]

        - Revived 'decorate-transients', 'menus-include-shortcuts' and
          'customize-show-symbols' defcustoms.  These options are now
          adjustable from 'sawfish-config' again.  [Christopher

        - Give the 'root-window' the property ''WINDOW_MANAGER' on
          startup with value 'sawfish'.  [Christopher Bratusek]

        - Updated 'ru' and 'pt_BR' translations via transifex.