Sawfish v1.9.91
Sawfish is an extensible window manager using a Lisp-based scripting language. Its policy is very minimal compared to most window managers. Its aim is simply to manage windows in the most flexible and attractive manner possible. All high-level WM functions are implemented in Lisp for future extensibility or redefinition.
These are some of the features that set Sawfish apart from other window managers:
- Powerful key-binding: Virtually every functionality provided by Sawfish can be bound to keys (or mouse buttons).
- Event hooking: For many events (moving windows etc.) you can customize the way Sawfish will respond.
- Window matching: When windows are created you can match them to a set of rules and automatically perform actions on them.
- Flexible theming: Sawfish allows for very different themes to be created and a variety of third-party themes are readily available.
Sawfish was formerly known as Sawmill but then renamed to Sawfish due to pending patents on the name Sawmill. It’s original Author is John Harper who got employed by Apple which prohibited him to continue working on Sawfish (and librep/rep-gtk). In Mid 2007 Janek ‘The Re-Animator’ Kozicki overtook the development of Sawfish. In mid 2008 I overtook development of librep and rep-gtk, followed by Sawfish and SawfishPager in December 2008.
|
License: GNU GPL v2 |
|
ChangeLog:
1.9.91 “Steam Train”
======================
* Updated or New dependencies
- PangoX: no longer required
* Bug Fixes
- Always rebuild the list of marked winows 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 diffrent 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 dissapear 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
Bratusek]
- Fixed non-working '$height-content' and '$width-content' in
the mxflat theme [Robert Zenz]
* New Features
- Tiling. [Jose A. Ortega Ruiz] [Christopher Bratusek]
Currently this module is under testing. There are still minor
hickups, but both 'tall-tile' and 'col-tile' are working (see
also 'lisp/sawfish/wm/tile/readme.org'):
'tall-tile': one big window on the left, small windows on the
right 'col-tile': tile windows as columns (recommended for
multi-head configurations)
;; Tiling
(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)
- 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 external application during a sawfish session. See
'AUTOSTART' for additional notes on them.
++ 'trayer' module. Handles a 'trayer' (a system-tray)
instance during a sawfish session. [Christopher
Bratusek]
++ '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. [Christopher Bratusek]
++ 'xsettingsd' module. Handles a 'xsettingsd' (a daemon
implementing XSettings to provide GTK+ 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]
* 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
Bratusek]
- 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
Bratusek]
- Give the 'root-window' the property ''WINDOW_MANAGER' on
startup with value 'sawfish'. [Christopher Bratusek]
- Updated 'ru' and 'pt_BR' translations via transifex.
