Sawfish

2017 06 24: Latest releases

Latest releases are found at Tuxfamily sites. (Sorry, wikia.com is rarely updates for years.)


2013 09 26: Sawfish 1.10

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

Highlights

  • 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

Download

Source Tarballs

You can find tarballs at

http://download.tuxfamily.org

Debian Packages

You can find Debian Packages (Debian, not Ubuntu) at

http://apt.nanolx.org/
(dead link!)

for both AMD64 and i386, built on Unstable.

The latest version is now 1.12.90 which can be found here

https://nanolx.org/sawfish/sawfish

Conclusion

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

NEWS

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
          Bratusek]

        - 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/readme.org'):

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


2012 09 01: Sawfish 1.9.1

Sawfish 1.9.1 (Codename "Voyager") is available for download now.

Downloads: http://downloads.tuxfamily.org/sawfish/

Have Fun,
Chris (Flashrider [Christopher Bratusek] (talk) 20:05, September 6, 2012 (UTC))

1.9.1 "Voyager"
===============

   * Bug Fixes
        - `dimension' window-matcher does now properly restore the
          window's size [Robert Zenz]

        - When destroying a window marked for tabbing, before tabbing
          was done, tabbing didn't work anymore until Sawfish
          restarted. This is fixed now. [fuchur]

        - In `Makedefs.in' source `$(repexecdir)/rules.mk' as first, so
          that `--prefix' and co. from `configure' won't get
          overwritten. [Allin Cottrell]

        - In `tabs' some minor issues have been fixed, like correct
          `raise' or `sticky' tabs, and some issue with `move-resize'
          tabs. [fuchur]

        - Only allow '_NET_WM_WINDOW_TYPE_NORMAL to be marked as a
          tabbed window. [fuchur]

   * New Features
        - In tabbed-windowing it is now possible to add a whole
          tab-group to another tab-group, or a single window. By
          default the keybinding is `C-Button2-Off'. [fuchur]

        - Tabs now support `viewport-sticky' and `workspace-sticky'.
          [fuchur]

        - Tabs now support coloring the window-title in a different
          color, for windows, which are marked for tabbing. Currently
          only `StyleTab' uses this feature. [fuchur]

   * Miscellaneous Changes
        - In razor-qt integration module add `About Razor-Qt' help
          entry [Christopher Bratusek]

        - Replace `gdk_pixbuf_unref' by `g_object_unref' [Togan
          Muftuoglu]

        - Fix the address of FSF in all relevant files [Togan Muftuoglu]

        - Change cursor shape when working with tabs [fuchur]

        - Removed `sawfish.wm.util.marks', now implemented in
          `sawfish.wm.tabs.tab'. [fuchur]

        - Fix debian packaging scripts for Debian/Unstable, update
          install-sh to 2011-01-19.21, also remove NEWS and config.h.in
          upon `make gitclean'.[Christopher Bratusek]


2012 06 26: Sawfish 1.9.0

The long-awaited new major release of Sawfish is now available!

Sawfish 1.9.0 'Next Dimensional World'

Download:

http://download.tuxfamily.org/sawfish/sawfish-1.9.0.tar.bz2
http://download.tuxfamily.org/sawfish/sawfish-1.9.0.tar.bz2.sha1
http://download.tuxfamily.org/sawfish/sawfish-1.9.0.tar.bz2.sha1.sign

http://download.tuxfamily.org/sawfish/sawfish-1.9.0.tar.xz
http://download.tuxfamily.org/sawfish/sawfish-1.9.0.tar.xz.sha1
http://download.tuxfamily.org/sawfish/sawfish-1.9.0.tar.xz.sha1.sign

ChangeLog

1.9.0 "Next Dimensional World"
=========================

   * Updated or New dependencies
        - librep 0.92.0 -> 0.92.1

        - rep-gtk 0.90.4 -> 0.90.7

        - ssd 0.30 [optional, for built-in poweroff-menu]

   * Bug Fixes
        - When cursor-warping was enabled and user switched to a shaded
          window, the cursor warped to the position of the unshaded
          window. This is fixed now.  [Christopher Bratusek]

        - When switching between tabbed themes from SawfishConfig, it
          could happens that there were `gaps' in the frame. This is
          fixed now. [Christopher Bratusek]

        - In SawfishConfig one could only grab key-bindings, but not
          mouse- or mixed mouse-key-bindings. This is fixed now. (Move
          mouse 20 pixels to grab a `Move' event).  [Christopher
          Bratusek]

        - SawfishConfig became useless when Sawfish restarted. This is
          now worked-around by simply restarting SawfishConfig when
          Sawfish does. A new `before-restart-hook' has been added for
          this purpose. [Christopher Bratusek]

        - In EdgeActions `HotSpot', `HotMove' and `EdgeFlip', it was
          possible to trigger the same event multiple times at a time.
          This is fixed now.  [Jeremy Hankins]

        - Fixed a bug in apps-menu, failing to generate the menu, if a
          desktop-file contains both Categories and the (errorneous)
          Category key, or only the later. [Matthew Love]

        - Fixed a bug in window-manager selection handling. Set all
          fields of the client message event. This prevents bugs, where
          Sawfish sometimes isn't able to replace another
          window-manager or aquiring the screen if no other WM is
          running. [Timo Korvola]

        - When making X request, we might receive and `select' will
          stuck. This is fixed now [Michal Maruska]

        - Avoid calling Xmap for gone windows. [Michal Maruska]

        - Fixed a possible segmentation fault in `leave_notify' [Michal
          Maruska]

        - In SawfishConfig the `choice' widget didn't work when the
          choices were numerical values. This is fixed now.
          [Christopher Bratusek]

   * Sawfish-MMC [Michal Maruska]

     Sawfish-MMC was a fork of Sawfish active, while the original
     Sawfish was inactive (2004-2007). Next follows a list of changes
     merged from Sawfish-MMC.
        - Only apply property changes if window as `refresh' property.

        - In the pixmap-cache append pixmaps to the age list, rather
          than prepending.

        - Extend `pixmap-cache-control' to reset and return more
          informations.

        - `pixmap-cache-images' returns all images in cache.

        - When initializing Sawfish, try to initialize XKB, too.

        - Misc: Drop unused `prog_name' from `display.c'. Call
          `XAddToSaveSet' from a better position in the code. Mar
          `mapped_not_override_p' static. Simplified `property_notify'.

   * EdgeAction changes [Christopher Bratusek]
        - New EdgeActions:
             x `HotMove'. Calls an EdgeAction when dragging a window
               over the edge.

             x `Expose'. Simple expose (one-shot tiling) EdgeAction
               (can also be used stand-alone).  Original code by Mark
               Triggs.

             x `Expand'. Drag a window over the edge and it expand to
               the half-screen size.

             x `Show-Desktop'. Toggles between `show-desktop' and
               `hide-desktop'.

             x `Maximize'. Just for competitive reasons choosable from
               configurator.

        - `before-edge-action-hook' and `after-edge-action-hook'. While
          `enter-flipper-hook' and `leave-flipper-hook' simply respond
          to the mouse entering or leaving the flipper-window, the new
          hooks respond only when an EdgeAction was invoked. The two
          hooks pass the invoked EdgeAction, activated edge and a
          boolean `while-moving' value to the child-function (in that
          order).

        - Simplified, more robust EdgeFlip (flip-viewport and
          flip-workspace are now split).

        - Improved logic of blocking an action while another is already
          running. On one hand, see `Bug Fixes' above, on the other
          hand it's now ensured that we dont' activate an edge twice
          when dragging a window over it or when the pointer hits the
          edge via mouse-trapping.

        - New `move-window-to-corner' and `move-window-to-edge' helpers.

        - Updated EdgeAction documentation

   * SawfishConfig changes [Christopher Bratusek]
        - Updated and Improved widgets in SawfishConfig:
             x `file'. The file(-chooser) widget now uses
               GtkFileChooserButton in favour of the ancient
               GtkFileSelectionDialog. The GtkEntry and GtkVBox used as
               helpers became useless and are removed.

             x `font'. The font(-chooser) widget now uses
               GtkFontChooserButton in favour of the ancient
               GtkFontSelectionDialog. The GtkEntry used as helper
               became useless and is removed.

             x `choice', `symbol', `keymap', `frame-style'. Those
               widgets now use GtkComboBoxText in favour of ancient
               GtkCombo/GtkComboEntry.

             x `scheme-boolean'. This widget is now properly
               implemented.

               Old: two checkboxes. First for activating setting,
               second for choosing yes or no.  New: only one checkbox,
               yes or no as usual, shows minus when unset.

             x `number'. The number-widget now has a `stepping'
               property, allowing to change the increment of a
               button-press on the spin-button.

        - New widgets in SawfishConfig:
             x `range'. The range widget represents an integer with a
               given range.  Basically it uses a GtkScale instead of a
               GtkSpinButton, which results in a better user-experience
               for those values.

             x `image'. The image widget contains a preview and
               image-selector.  The file-browser openend is setup to
               display previews, too. Original code by Lucas Pandolfo.

        - Removed widgets in SawfishConfig:
             x `program'. Just an alias to `file'.

             x All `gtk-only' widgets. Since Sawfish 1.5.0 those have
               been dummies, we don't use `libgnome', `libgnomeui' or
               `libgnomecanvas' anymore anyway.

        - New buttons. SawfishConfig now offers buttons to access Wiki,
          Help, ResourceFile and About. Additionally there's now a
          file-chooser for installing themes from `*.tar.*' files.

        - Widgets that depend on an disabled setting are now hidden
          instead of greyed-out.

        - Merged sawfish.cfg.widgets into sawfish.gtk.widgets. Old
          widgets aren't loaded anymore, even if present from an old
          installation.

        - All defcustoms do now have a property to change the position
          of the label.  To change it, append on of the following to
          the doc-string: \\left \\right \\top \\bottom.

          Example:

               (defcustom test-var 'eclipse
                 "This is just a test with label on top. \\top"
                 :type (choice eclipse crosshair none)
                 :group appearance)

          Of course that only works, if the label is a GtkLabel widget
          on it's own.

   * Theme/Theming changes [Christopher Bratusek]
          === spoiler === : StyleTab in Sawfish 1.9 add lots of new
          fancyness for the price of beeing slow.  So if you experience
          a long startup-time of Sawfish, it's a feature, not a bug. :
          == /spoiler ===

        - StyleTab changes [fuchur]:
             x The theme is now fully re-colorable. You can choose
               different colors for each button and the frame.
               Furthermore you can choose how much to dimm inactive
               frames (compared to active).

             x Majorly improved the grouping of options in StyleTab.

             x Added corners to frames (allowing resize with mouse at
               window-corners).

             x Available styles: Default (former Dark), WixDa (former
               Silver), Reduce, Smoothly and Glass (New).

             x Added hash-tables for images.

        - New themes:
             x Candido

             x Zami-like

        - Improved themes:
             x Gradient has been replaced by Gradient-tabbed.

        - Removed themes [still available from Wiki]:
             x get-S-tabbed

             x brushed-metal

             x simple

             x smaker

             x mono

             x gtk

        - New theme-related configuration-options [theme independent]:
             x Added an option to control the titlebar text position.
               If a theme draws something additional in the titlebar
               (eg. StyleTab draws an icon), refer to the functions
               `update-title-x-offsets', `update-title-y-offsets'.

             x Added an option to control the cursor-shape when
               hovering frame-buttons.

             x Added an option to change the font, depending on the
               window state.

        - Moved definitons for `previous-workspace-button' and
          `next-workspace-button' from StyleTab into Sawfish.

   * New Features
        - Added `cabinet' application-switcher. `cabinet' is an
          advanced application switcher for Sawfish. For more
          information please visit:
          http://sawfish.wikia.com/wiki/Cabinet [Wang HongQin]

        - Added `tab-group' window-matcher. It allows window to be
          auto-tabbed together, if they got the same `tab-group'
          property [fuchur]

        - Added `single-window-mode'. Basically this feature is known
          from OS-X, though it's implemented in a more strict way. The
          `single-window-mode' window should get all of the users
          attention.

          This is ensured by auto-iconifying any up-popping window,
          which is not in the same group. To additionally not annoy the
          user this is done without animation. Avoided or ignored
          windows are lowered. When `single-window-mode' is quit, the
          opposite happens.

          Also `single-window-mode' hooks into unmap-notify-hook to
          check whether the user wants to stop `single-window-mode' (by
          either closing or iconifying the window). Besides each
          workspace can hold it's own `single-window-mode'.

        - Added `mouse-trap' feature. It provides a method for moving
          the mouse to any place of the screen by zooming with just a
          few keystrokes. The mouse is warped to the center of the
          screen screen and a outline is drawn dividing the screen in 4
          squares (like trapping the mouse on it).  [Fernando Carmano
          Varo] [Christopher Bratusek]

        - Added `shade-stack' feature. It provides an alternative to
          `iconify-window'.  Instead of iconifying a window or minizing
          it to a tray, the windows get shaded and sorted in a stack
          starting from the top-left corner (the number of columns can
          be changed). Combined with auto-unshade this offers -
          possibly - a better way of interacting with windows which
          aren't required at the moment. Original code by Luke Gorrie.
          [Christopher Bratusek]

        - Integrated settings for selecting wallpaper using an external
          command (eg: hsetroot).  Applying settings to GNOME2 or XFCE4
          is also supported. Original code by Lucas Pandolfo.
          [Christopher Bratusek]

        - Added `toggle-desktop' function. Toggles between
          `show-desktop' and `hide-desktop' - always logically correct.
          [Christopher Bratusek]

   * Miscellaneous Changes
        - Improved desktop-integration modules [Christopher Bratusek]
             x KDE integration: added entries for user-switch,
               hibernate, suspend, lock-screen, menu-editor.

             x XFCE integration: added entries for hibernate, suspend,
               lock-screen, menu-editor.

             x GNOME integration: added entry for lock-screen,
               menu-editor.

             x MATE integration: full integration module for MATE
               Desktop has been added.

             x Razor-Qt integration: full integration module for
               Razor-Qt has been added.

             x LXDE integration: basic integration module for LXDE has
               been added.

        - The fallback poweroff-menu now uses SSD
          `Sawfish-Session-Dialog', a companion to Sawfish, by default.
          Support for logout and lockdown has been added. [Christopher
          Bratusek]

        - Added a `filemanager' launcher. If set the Sawfish root-menu
          will show an `Open Home' entry. The KDE, GNOME, MATE, XFCE
          and LXDE integration modules will set the program
          accordingly, unless it's already user-defined.

Flashrider [Christopher Bratusek] 19:33, July 6, 2012 (UTC)

News


2012 06 26: rep-gtk 0.90.8.1

a minor new relase of rep-gtk.

Download

http://download.tuxfamily.org/librep/rep-gtk/rep-gtk-0.90.8.1.tar.bz2
http://download.tuxfamily.org/librep/rep-gtk/rep-gtk-0.90.8.1.tar.bz2.sha1
http://download.tuxfamily.org/librep/rep-gtk/rep-gtk-0.90.8.1.tar.bz2.sha1.sign

http://download.tuxfamily.org/librep/rep-gtk/rep-gtk-0.90.8.1.tar.xz
http://download.tuxfamily.org/librep/rep-gtk/rep-gtk-0.90.8.1.tar.xz.sha1
http://download.tuxfamily.org/librep/rep-gtk/rep-gtk-0.90.8.1.tar.xz.sha1.sign

ChangeLog

0.90.8.1:

* fixed bug that prevented uninstallation of rep-gtk

Flashrider [Christopher Bratusek] 19:28, July 6, 2012 (UTC) News


2012 06 26: librep 0.92.2.1

A new minor release of librep is available now.

Download

http://download.tuxfamily.org/librep/librep-0.92.2.1.tar.bz2
http://download.tuxfamily.org/librep/librep-0.92.2.1.tar.bz2.sha1
http://download.tuxfamily.org/librep/librep-0.92.2.1.tar.bz2.sha1.sign

http://download.tuxfamily.org/librep/librep-0.92.2.1.tar.xz
http://download.tuxfamily.org/librep/librep-0.92.2.1.tar.xz.sha1
http://download.tuxfamily.org/librep/librep-0.92.2.1.tar.xz.sha1.sign

ChangeLog

0.92.2.1
========

   * Assume stack-direction `downwards' on ARM [Kim B. Heino]

News


2012 03 26: sawfish 1.8.92 released

Finally it's here! Sawfish 1.8.92 (RC1) 'Coldwater Canyon'

Download:

http://download.tuxfamily.org/sawfish/sawfish-1.8.92.tar.bz2

http://download.tuxfamily.org/sawfish/sawfish-1.8.92.tar.bz2.sha1

http://download.tuxfamily.org/sawfish/sawfish-1.8.92.tar.bz2.sha1.sign

http://download.tuxfamily.org/sawfish/sawfish-1.8.92.tar.xz

http://download.tuxfamily.org/sawfish/sawfish-1.8.92.tar.xz.sha1

http://download.tuxfamily.org/sawfish/sawfish-1.8.92.tar.xz.sha1.sign


Have lots of fun! Chris

PS: Combined NEWS since 1.8.0 PPS: key for checking .sign files: 057549E2

1.8.92 "Coldwater Canyon"
=========================

   * Updated or New dependencies
        - librep 0.92.0 -> 0.92.1

        - rep-gtk 0.90.4 -> 0.90.7

        - ssd 0.20 [optional, for built-in poweroff-menu]

   * Bug Fixes
        - When cursor-warping was enabled and user switched to a shaded
          window, the cursor warped to the position of the unshaded
          window. This is fixed now.  [Christopher Bratusek]

        - When switching between tabbed themes from SawfishConfig, it
          could happens that there were `gaps' in the frame. This is
          fixed now. [Christopher Bratusek]

        - In SawfishConfig one could only grab key-bindings, but not
          mouse- or mixed mouse-key-bindings. This is fixed now. (Move
          mouse 20 pixels to grab a `Move' event).  [Christopher
          Bratusek]

        - SawfishConfig became useless when Sawfish restarted. This is
          now worked-around by simply restarting SawfishConfig when
          Sawfish does. A new `before-restart-hook' has been added for
          this purpose. [Christopher Bratusek]

        - In EdgeActions `HotSpot', `HotMove' and `EdgeFlip', it was
          possible to trigger the same event multiple times at a time.
          This is fixed now.  [Jeremy Hankins]

        - Fixed a bug in apps-menu, failing to generate the menu, if a
          desktop-file contains both Categories and the (errorneous)
          Category key, or only the later. [Matthew Love]

        - Fixed a bug in window-manager selection handling. Set all
          fields of the client message event. This prevents bugs, where
          Sawfish sometimes isn't able to replace another
          window-manager or aquiring the screen if no other WM is
          running. [Timo Korvola]

        - When making X request, we might receive and `select' will
          stuck. This is fixed now [Michal Maruska]

        - Avoid calling Xmap for gone windows. [Michal Maruska]

        - Fixed a possible segmentation fault in `leave_notify' [Michal
          Maruska]

        - In SawfishConfig the `choice' widget didn't work when the
          choices were numerical values. This is fixed now.
          [Christopher Bratusek]

   * Sawfish-MMC [Michal Maruska]

     Sawfish-MMC was a fork of Sawfish active, while the original
     Sawfish was inactive (2004-2007). Next follows a list of changes
     merged from Sawfish-MMC.
        - Only apply property changes if window as `refresh' property.

        - In the pixmap-cache append pixmaps to the age list, rather
          than prepending.

        - Extend `pixmap-cache-control' to reset and return more
          informations.

        - `pixmap-cache-images' returns all images in cache.

        - When initializing Sawfish, try to initialize XKB, too.

        - Misc: Drop unused `prog_name' from `display.c'. Call
          `XAddToSaveSet' from a better position in the code. Mar
          `mapped_not_override_p' static. Simplified `property_notify'.

   * EdgeAction changes [Christopher Bratusek]
        - New EdgeActions:
             x `HotMove'. Calls an EdgeAction when dragging a window
               over the edge.

             x `Expose'. Simple expose (one-shot tiling) EdgeAction
               (can also be used stand-alone).  Original code by Mark
               Triggs.

             x `Expand'. Drag a window over the edge and it expand to
               the half-screen size.

             x `Show-Desktop'. Toggles between `show-desktop' and
               `hide-desktop'.

             x `Maximize'. Just for competitive reasons choosable from
               configurator.

        - `before-edge-action-hook' and `after-edge-action-hook'. While
          `enter-flipper-hook' and `leave-flipper-hook' simply respond
          to the mouse entering or leaving the flipper-window, the new
          hooks respond only when an EdgeAction was invoked. The two
          hooks pass the invoked EdgeAction, activated edge and a
          boolean `while-moving' value to the child-function (in that
          order).

        - Simplified, more robust EdgeFlip (flip-viewport and
          flip-workspace are now split).

        - Improved logic of blocking an action while another is already
          running. On one hand, see `Bug Fixes' above, on the other
          hand it's now ensured that we dont' activate an edge twice
          when dragging a window over it or when the pointer hits the
          edge via mouse-trapping.

        - New `move-window-to-corner' and `move-window-to-edge' helpers.

        - Updated EdgeAction documentation

   * SawfishConfig changes [Christopher Bratusek]
        - Updated and Improved widgets in SawfishConfig:
             x `file'. The file(-chooser) widget now uses
               GtkFileChooserButton in favour of the ancient
               GtkFileSelectionDialog. The GtkEntry and GtkVBox used as
               helpers became useless and are removed.

             x `font'. The font(-chooser) widget now uses
               GtkFontChooserButton in favour of the ancient
               GtkFontSelectionDialog. The GtkEntry used as helper
               became useless and is removed.

             x `choice', `symbol', `keymap', `frame-style'. Those
               widgets now use GtkComboBoxText in favour of ancient
               GtkCombo/GtkComboEntry.

             x `scheme-boolean'. This widget is now properly
               implemented.

               Old: two checkboxes. First for activating setting,
               second for choosing yes or no.  New: only one checkbox,
               yes or no as usual, shows minus when unset.

             x `number'. The number-widget now has a `stepping'
               property, allowing to change the increment of a
               button-press on the spin-button.

        - New widgets in SawfishConfig:
             x `range'. The range widget represents an integer with a
               given range.  Basically it uses a GtkScale instead of a
               GtkSpinButton, which results in a better user-experience
               for those values.

             x `image'. The image widget contains a preview and
               image-selector.  The file-browser openend is setup to
               display previews, too. Original code by Lucas Pandolfo.

        - Removed widgets in SawfishConfig:
             x `program'. Just an alias to `file'.

             x All `gtk-only' widgets. Since Sawfish 1.5.0 those have
               been dummies, we don't use `libgnome', `libgnomeui' or
               `libgnomecanvas' anymore anyway.

        - New buttons. SawfishConfig now offers buttons to access Wiki,
          Help, ResourceFile and About. Additionally there's now a
          file-chooser for installing themes from `*.tar.*' files.

        - Widgets that depend on an disabled setting are now hidden
          instead of greyed-out.

        - Merged sawfish.cfg.widgets into sawfish.gtk.widgets. Old
          widgets aren't loaded anymore, even if present from an old
          installation.

        - All defcustoms do now have a property to change the position
          of the label.  To change it, append on of the following to
          the doc-string: \\left \\right \\top \\bottom.

          Example:

               (defcustom test-var 'eclipse
                 "This is just a test with label on top. \\top"
                 :type (choice eclipse crosshair none)
                 :group appearance)

          Of course that only works, if the label is a GtkLabel widget
          on it's own.

   * Theme/Theming changes [Christopher Bratusek]
          === spoiler === : StyleTab in Sawfish 1.9 add lots of new
          fancyness for the price of beeing slow.  So if you experience
          a long startup-time of Sawfish, it's a feature, not a bug. :
          == /spoiler ===

        - StyleTab changes:
             x The theme is now fully re-colorable. You can choose
               different colors for each button and the frame.
               Furthermore you can choose how much to dimm inactive
               frames (compared to active).

             x Majorly improved the grouping of options in StyleTab.

             x Added corners to frames (allowing resize with mouse at
               window-corners).

             x Available styles: Default (former Dark), WixDa (former
               Silver), Reduce, Smoothly and Glass (New).

             x Added hash-tables for images.

        - New themes:
             x Candido

             x Zami-like

        - Improved themes:
             x Gradient has been replaced by Gradient-tabbed.

        - Removed themes [still available from Wiki]:
             x get-S-tabbed

             x brushed-metal

             x simple

             x smaker

             x mono

             x gtk

        - New theme-related configuration-options [theme independent]:
             x Added an option to control the titlebar text position.
               If a theme draws something additional in the titlebar
               (eg. StyleTab draws an icon), refer to the functions
               `update-title-x-offsets', `update-title-y-offsets'.

             x Added an option to control the cursor-shape when
               hovering frame-buttons.

             x Added an option to change the font, depending on the
               window state.

        - Moved definitons for `previous-workspace-button' and
          `next-workspace-button' from StyleTab into Sawfish.

   * New Features
        - Added `single-window-mode'. Basically this feature is known
          from OS-X, though it's implemented in a more strict way. The
          `single-window-mode' window should get all of the users
          attention.

          This is ensured by auto-iconifying any up-popping window,
          which is not in the same group. To additionally not annoy the
          user this is done without animation. Avoided or ignored
          windows are lowered. When `single-window-mode' is quit, the
          opposite happens.

          Also `single-window-mode' hooks into unmap-notify-hook to
          check whether the user wants to stop `single-window-mode' (by
          either closing or iconifying the window). Besides each
          workspace can hold it's own `single-window-mode'.

        - Added `mouse-trap' feature. It provides a method for moving
          the mouse to any place of the screen by zooming with just a
          few keystrokes. The mouse is warped to the center of the
          screen screen and a outline is drawn dividing the screen in 4
          squares (like trapping the mouse on it).  [Fernando Carmano
          Varo] [Christopher Bratusek]

        - Added `shade-stack' feature. It provides an alternative to
          `iconify-window'.  Instead of iconifying a window or minizing
          it to a tray, the windows get shaded and sorted in a stack
          starting from the top-left corner (the number of columns can
          be changed). Combined with auto-unshade this offers -
          possibly - a better way of interacting with windows which
          aren't required at the moment. Original code by Luke Gorrie.
          [Christopher Bratusek]

        - Integrated settings for selecting wallpaper using an external
          command (eg: hsetroot).  Applying settings to GNOME2 or XFCE4
          is also supported. Original code by Lucas Pandolfo.
          [Christopher Bratusek]

        - Added `toggle-desktop' function. Toggles between
          `show-desktop' and `hide-desktop' - always logically correct.
          [Christopher Bratusek]

   * Miscellaneous Changes
        - Improved desktop-integration modules [Christopher Bratusek]
             x KDE integration: added entries for user-switch,
               hibernate, suspend, lock-screen, menu-editor.

             x XFCE integration: added entries for hibernate, suspend,
               lock-screen, menu-editor.

             x GNOME integration: added entry for lock-screen,
               menu-editor.

             x MATE integration: full integration module for MATE
               Desktop has been added.

             x Razor-Qt integration: integration module for Razor-Qt
               has been added.

             x The fallback poweroff-menu now uses SSD
               `Sawfish-Session-Dialog', a companion to Sawfish, by
               default. Support for logout and lockdown has been added.
               [Christopher Bratusek]


2012 03 26: sawfish-pager 0.90.3 released

A new release of sawfish-pager aswell.

Download

http://download.tuxfamily.org/sawfishpager/sawfish-pager-0.90.3.tar.bz2

http://download.tuxfamily.org/sawfishpager/sawfish-pager-0.90.3.tar.bz2.sha1

http://download.tuxfamily.org/sawfishpager/sawfish-pager-0.90.3.tar.bz2.sha1.sign

http://download.tuxfamily.org/sawfishpager/sawfish-pager-0.90.3.tar.xz

http://download.tuxfamily.org/sawfishpager/sawfish-pager-0.90.3.tar.xz.sha1

http://download.tuxfamily.org/sawfishpager/sawfish-pager-0.90.3.tar.xz.sha1.sign


Have Fun!

Version 0.90.3 (2012-03-26, Million Miles Away)
     * synced spec-file with Fedora [Kim B. Heino]
     * fixed a bug that made pager crash, if division
       returned float instead of int [Womble]


2012 03 26: rep-gtk 0.90.8 released

A minor new relase of rep-gtk.

Download

http://download.tuxfamily.org/librep/rep-gtk/rep-gtk-0.90.8.tar.bz2

http://download.tuxfamily.org/librep/rep-gtk/rep-gtk-0.90.8.tar.bz2.sha1

http://download.tuxfamily.org/librep/rep-gtk/rep-gtk-0.90.8.tar.bz2.sha1.sign

http://download.tuxfamily.org/librep/rep-gtk/rep-gtk-0.90.8.tar.xz

http://download.tuxfamily.org/librep/rep-gtk/rep-gtk-0.90.8.tar.xz.sha1

http://download.tuxfamily.org/librep/rep-gtk/rep-gtk-0.90.8.tar.xz.sha1.sign


Have Fun

0.90.8:

* fixed building on ARM
* synced spec file [Kim B. Heino]


2012 03 26: librep 0.92.2 released

A new release of librep is available.

Download

http://download.tuxfamily.org/librep/librep-0.92.2.tar.bz2

http://download.tuxfamily.org/librep/librep-0.92.2.tar.bz2.sha1

http://download.tuxfamily.org/librep/librep-0.92.2.tar.bz2.sha1.sign

http://download.tuxfamily.org/librep/librep-0.92.2.tar.xz

http://download.tuxfamily.org/librep/librep-0.92.2.tar.xz.sha1

http://download.tuxfamily.org/librep/librep-0.92.2.tar.xz.sha1.sign


Have Fun!

ChangeLog

0.92.2
======

   * Sync librep.spec with Fedora [Kim B. Heino]

   * Assume stack-direction `downwards' for x86_64.  Self-detection
     doesn't work with gcc >= 4.7.0 [Kim B. Heino]

   * read_line no longer aborts at 400 characters [Imo Korvola]


2011 10 09: Sawfish 1.8.91 released

I'm pleased to announce the immediate availability of the second beta of Sawfish 1.9.0:

Sawfish 1.8.91 "3 The Hard Way"

Beginning from this release all uploaded files are signed by me
(download the public key 057549E2 from the keyserver).

About Sawfish-MMC more stuff will me merged before the release-candidate
(beginning of december), don't worry. (Still some helping hand is appreciated)

Have lots of fun! Flashrider [Christopher Bratusek] 15:26, October 9, 2011 (UTC)

PS: Combined NEWS for 1.8.90 + 1.8.91

Download

http://download.tuxfamily.org/sawfish/sawfish-1.8.91.tar.bz2
**http://download.tuxfamily.org/sawfish/sawfish-1.8.91.tar.bz2.sign
http://download.tuxfamily.org/sawfish/sawfish-1.8.91.tar.bz2.sha1
**http://download.tuxfamily.org/sawfish/sawfish-1.8.91.tar.bz2.sha1.sign

http://download.tuxfamily.org/sawfish/sawfish-1.8.91.tar.xz
**http://download.tuxfamily.org/sawfish/sawfish-1.8.91.tar.xz.sign
http://download.tuxfamily.org/sawfish/sawfish-1.8.91.tar.xz.sha1
**http://download.tuxfamily.org/sawfish/sawfish-1.8.91.tar.xz.sha1.sign


1.8.91 "3 The Hard Way"
=======================

   * Updated or New dependencies
        - librep 0.92.0 -> 0.92.1

        - rep-gtk 0.90.4 -> 0.90.7

   * Bug Fixes
        - When cursor-warping was enabled and user switched to a shaded
          window, the cursor warped to the position of the unshaded
          window. This is fixed now.  [Christopher Bratusek]

        - When switching between tabbed themes from SawfishConfig, it
          could happens that there were `gaps' in the frame. This is
          fixed now. [Christopher Bratusek]

        - In SawfishConfig one could only grab key-bindings, but not
          mouse- or mixed mouse-key-bindings. This is fixed now. (Move
          mouse 20 pixels to grab a `Move' event).  [Christopher
          Bratusek]

        - SawfishConfig became useless when Sawfish restarted. This is
          now worked-around by simply restarting SawfishConfig when
          Sawfish does. A new `before-restart-hook' has been added for
          this purpose. [Christopher Bratusek]

        - In EdgeActions `HotSpot', `HotMove' and `EdgeFlip', it was
          possible to trigger the same event multiple times at a time.
          This is fixed now.  [Jeremy Hankins]

        - Fixed a bug in apps-menu, failing to generate the menu, if a
          desktop-file contains both Categories and the (errorneous)
          Category key, or only the later. [Matthew Love]

        - Fixed a bug in window-manager selection handling. Set all
          fields of the client message event. This prevents bugs, where
          Sawfish sometimes isn't able to replace another
          window-manager or aquiring the screen if no other WM is
          running. [Timo Korvola]

        - When making X request, we might receive and `select' will
          stuck. This is fixed now [Michal Maruska]

        - Avoid calling Xmap for gone windows. [Michal Maruska]

        - Fixed a possible segmentation fault in `leave_notify' [Michal
          Maruska]

        - In SawfishConfig the `choice' widget didn't work when the
          choices were numerical values. This is fixed now.
          [Christopher Bratusek]

   * Sawfish-MMC [Michal Maruska]

     Sawfish-MMC was a fork of Sawfish active, while the original
     Sawfish was inactive (2004-2007). Next follows a list of changes
     merged from Sawfish-MMC.
        - Only apply property changes if window as `refresh' property.

        - In the pixmap-cache append pixmaps to the age list, rather
          than prepending.

        - Extend `pixmap-cache-control' to reset and return more
          informations.

        - `pixmap-cache-images' returns all images in cache.

        - When initializing Sawfish, try to initialize XKB, too.

        - Misc: Drop unused `prog_name' from `display.c'. Call
          `XAddToSaveSet' from a better position in the code. Mar
          `mapped_not_override_p' static. Simplified `property_notify'.

   * EdgeAction changes [Christopher Bratusek]
        - New EdgeActions:
             x `HotMove'. Calls an EdgeAction when dragging a window
               over the edge.

             x `Expose'. Simple expose (one-shot tiling) EdgeAction
               (can also be used stand-alone).  Original code by Mark
               Triggs.

             x `Expand'. Drag a window over the edge and it expand to
               the half-screen size.

             x `Show-Desktop'. Toggles between `show-desktop' and
               `hide-desktop'.

             x `Maximize'. Just for competitive reasons choosable from
               configurator.

        - `before-edge-action-hook' and `after-edge-action-hook'. While
          `enter-flipper-hook' and `leave-flipper-hook' simply respond
          to the mouse entering or leaving the flipper-window, the new
          hooks respond only when an EdgeAction was invoked. The two
          hooks pass the invoked EdgeAction, activated edge and a
          boolean `while-moving' value to the child-function (in that
          order).

        - Simplified, more robust EdgeFlip (flip-viewport and
          flip-workspace are now split).

        - Improved logic of blocking an action while another is already
          running. On one hand, see `Bug Fixes' above, on the other
          hand it's now ensured that we dont' activate an edge twice
          when dragging a window over it or when the pointer hits the
          edge via mouse-trapping.

        - New `move-window-to-corner' and `move-window-to-edge' helpers.

        - Updated EdgeAction documentation

   * SawfishConfig changes [Christopher Bratusek]
        - Updated and Improved widgets in SawfishConfig:
             x `file'. The file(-chooser) widget now uses
               GtkFileChooserButton in favour of the ancient
               GtkFileSelectionDialog. The GtkEntry and GtkVBox used as
               helpers became useless and are removed.

             x `font'. The font(-chooser) widget now uses
               GtkFontChooserButton in favour of the ancient
               GtkFontSelectionDialog. The GtkEntry used as helper
               became useless and is removed.

             x `choice', `symbol', `keymap', `frame-style'. Those
               widgets now use GtkComboBoxText in favour of ancient
               GtkCombo/GtkComboEntry.

             x `scheme-boolean'. This widget is now properly
               implemented.

               Old: two checkboxes. First for activating setting,
               second for choosing yes or no.  New: only one checkbox,
               yes or no as usual, shows minus when unset.

             x `number'. The number-widget now has a `stepping'
               property, allowing to change the increment of a
               button-press on the spin-button.

        - New widgets in SawfishConfig:
             x `range'. The range widget represents an integer with a
               given range.  Basically it uses a GtkScale instead of a
               GtkSpinButton, which results in a better user-experience
               for those values.

             x `image'. The image widget contains a preview and
               image-selector.  The file-browser openend is setup to
               display previews, too. Original code by Lucas Pandolfo.

        - Removed widgets in SawfishConfig:
             x `program'. Just an alias to `file'.

             x All `gtk-only' widgets. Since Sawfish 1.5.0 those have
               been dummies, we don't use `libgnome', `libgnomeui' or
               `libgnomecanvas' anymore anyway.

        - New buttons. SawfishConfig now offers buttons to access Wiki,
          Help, ResourceFile and About. Additionally there's now a
          file-chooser for installing themes from `*.tar.*' files.

        - Widgets that depend on an disabled setting are now hidden
          instead of greyed-out.

        - Merged sawfish.cfg.widgets into sawfish.gtk.widgets. Old
          widgets aren't loaded anymore, even if present from an old
          installation.

        - All defcustoms do now have a property to change the position
          of the label.  To change it, append on of the following to
          the doc-string: \\left \\right \\top \\bottom.

          Example:

               (defcustom test-var 'eclipse
                 "This is just a test with label on top. \\top"
                 :type (choice eclipse crosshair none)
                 :group appearance)

          Of course that only works, if the label is a GtkLabel widget
          on it's own.

   * Theme/Theming changes [Christopher Bratusek]
          === spoiler === : StyleTab in Sawfish 1.9 add lots of new
          fancyness for the price of beeing slow.  So if you experience
          a long startup-time of Sawfish, it's a feature, not a bug. :
          == /spoiler ===

        - StyleTab changes:
             x The theme is now fully re-colorable. You can choose
               different colors for each button and the frame.
               Furthermore you can choose how much to dimm inactive
               frames (compared to active).

             x Majorly improved the grouping of options in StyleTab.

             x Added corners to frames (allowing resize with mouse at
               window-corners).

             x Available styles: Default (former Dark), WixDa (former
               Silver), Reduce, Smoothly and Glass (New).

             x Added hash-tables for images.

        - New themes:
             x Candido

             x Zami-like

        - Improved themes:
             x Gradient has been replaced by Gradient-tabbed.

        - Removed themes [still available from Wiki]:
             x get-S-tabbed

             x brushed-metal

             x simple

             x smaker

             x mono

             x gtk

        - New theme-related configuration-options [theme independent]:
             x Added an option to control the titlebar text position.
               If a theme draws something additional in the titlebar
               (eg. StyleTab draws an icon), refer to the functions
               `update-title-x-offsets', `update-title-y-offsets'.

             x Added an option to control the cursor-shape when
               hovering frame-buttons.

             x Added an option to change the font, depending on the
               window state.

        - Moved definitons for `previous-workspace-button' and
          `next-workspace-button' from StyleTab into Sawfish.

   * New Features
        - Added `single-window-mode'. Basically this feature is known
          from OS-X, though it's implemented in a more strict way. The
          `single-window-mode' window should get all of the users
          attention.

          This is ensured by auto-iconifying any up-popping window,
          which is not in the same group. To additionally not annoy the
          user this is done without animation. Avoided or ignored
          windows are lowered. When `single-window-mode' is quit, the
          opposite happens.

          Also `single-window-mode' hooks into unmap-notify-hook to
          check whether the user wants to stop `single-window-mode' (by
          either closing or iconifying the window). Besides each
          workspace can hold it's own `single-window-mode'.

        - Added `mouse-trap' feature. It provides a method for moving
          the mouse to any place of the screen by zooming with just a
          few keystrokes. The mouse is warped to the center of the
          screen screen and a outline is drawn dividing the screen in 4
          squares (like trapping the mouse on it).  [Fernando Carmano
          Varo] [Christopher Bratusek]

        - Added `shade-stack' feature. It provides an alternative to
          `iconify-window'.  Instead of iconifying a window or minizing
          it to a tray, the windows get shaded and sorted in a stack
          starting from the top-left corner (the number of columns can
          be changed). Combined with auto-unshade this offers -
          possibly - a better way of interacting with windows which
          aren't required at the moment. Original code by Luke Gorrie.
          [Christopher Bratusek]

        - Integrated settings for selecting wallpaper using an external
          command (eg: hsetroot).  Applying settings to GNOME2 or XFCE4
          is also supported. Original code by Lucas Pandolfo.
          [Christopher Bratusek]

        - Added `toggle-desktop' function. Toggles between
          `show-desktop' and `hide-desktop' - always logically correct.
          [Christopher Bratusek]

   * Miscellaneous Changes
        - Improved desktop-integration modules [Christopher Bratusek]
             x KDE integration: added entries for user-switch,
               hibernate, suspend, lock-screen, menu-editor.

             x XFCE integration: added entries for hibernate, suspend,
               lock-screen, menu-editor.

             x GNOME integration: added entry for lock-screen,
               menu-editor.

             x The fallback poweroff-menu now uses SSD
               `Sawfish-Session-Dialog', a companion to Sawfish, by
               default. Support for logout and lockdown has been added.
               [Christopher Bratusek]


2011 08 20: rep-gtk 0.90.7

a new release of rep-gtk is waiting to be tried out.

Download:

http://download.tuxfamily.org/librep/rep-gtk/rep-gtk-0.90.7.tar.bz2

http://download.tuxfamily.org/librep/rep-gtk/rep-gtk-0.90.7.tar.bz2.sha1

http://download.tuxfamily.org/librep/rep-gtk/rep-gtk-0.90.7.tar.xz

http://download.tuxfamily.org/librep/rep-gtk/rep-gtk-0.90.7.tar.xz.sha1

News:

0.90.7:

* re-arranged tree (all new widget-definitons in widgets/<widget>)
* minimum GTK+ bumped to 2.24
* minimum GDK bumped to 2.23
* New API wrapped:

GtkAccelGroup
  - gtk_accel_group_get_is_locked
  - gtk_accel_group_get_modifier_mask
  - GtkAccelKey
  - GtkAccelGroupEntry

GtkAccelMap:
  - gtk_accel_map_add_entry
  - gtk_accel_map_lookup_entry
  - gtk_accel_map_change_entry
  - gtk_accel_map_load
  - gtk_accel_map_save
  - gtk_accel_map_foreach
  - gtk_accel_map_load_fd
  - gtk_accel_map_save_fd
  - gtk_accel_map_lock_path
  - gtk_accel_map_unlock_path
  - gtk_accel_map_add_filter
  - gtk_accel_map_foreach_unfiltered

GtkExpander:
  - gtk_expander_set_label_fill 
  - gtk_expander_get_label_fill

GtkComboBox:
  - gtk_combo_box_new_with_entry
  - gtk_combo_box_new_with_model_and_entry
  - gtk_combo_box_popup
  - gtk_combo_box_popdown
  - gtk_combo_box_set_button_sensitivity
  - gtk_combo_box_get_button_sensitivity
  - gtk_combo_box_get_has_entry
  - gtk_combo_box_get_entry_text_column
  - gtk_combo_box_set_entry_text_column
  - gtk_combo_box_set_row_separator_func
  - gtk_combo_box_get_row_separator_func

GtkComboBoxText:
  - added completely

GtkScale:
  - gtk_scale_add_mark
  - gtk_scale_clear_marks

GtkRC:
  - gtk_rc_parse_string

GdkPixbuf:
  - gdk_pixbuf_new_from_file_at_size
  - gdk_pixbuf_new_from_file_at_scale

GtkImage:
  - gtk_image_clear

* Fixed wrapped API:

GtkFileChooser:
  - gtk_file_chooser_set_filename
  - gtk_file_chooser_select_filename

* Deprecated API no longer wrapped:

GtkComboBox
  - gtk_combo_box_get_active_text
  - gtk_combo_box_remove_text
  - gtk_combo_box_append_text
  - gtk_combo_box_insert_text
  - gtk_combo_box_prepend_text

GtkComboBoxEntry:
  - removed completely

GtkButton
  - gtk_button_pressed
  - gtk_button_released
  - gtk_button_enter
  - gtk_button_leave
  - gtk_file_chooser_button_new_with_backend

Have Fun Flashrider [Christopher Bratusek] 13:08, September 18, 2011 (UTC)


2011 08 28: librep 0.92.1b

a brand-new release of librep fresh from the oven.

Download:

http://download.tuxfamily.org/librep/librep-0.92.1b.tar.bz2

http://download.tuxfamily.org/librep/librep-0.92.1b.tar.bz2.sha1

http://download.tuxfamily.org/librep/librep-0.92.1b.tar.xz

http://download.tuxfamily.org/librep/librep-0.92.1b.tar.xz.sha1

News:

0.92.1b
=======

    * Fixed a bug in librep.pc
0.92.1
======

   * Fixed building REP on OS-X 10.6 by not exporting librepm.sym via
     libtool [John Harper]

   * Fixed building REP on OS-X 10.7 by defining a proper ALIGN if
     ffi.h doesn't provide one [John Harper]

   * Fixed detection of FFI, if ffi.h isn't found [John Harper]

   * Added various missing symbols in librep.sym [John Harper]

   * Fixed a warning from configure regarding librep.pc [Christopher
     Bratusek]

   * Removed VPATH from Makefiles, to allow building REP using `makepp'
     [Daniel Pfeiffer]

   * Added `positon' meta-function [Jeremy Hankins] [Eli Barzilay]

   * Imported utility-functions from Sawfish: `beautify-symbol',
     `remove-newlines', `option-index' and `string->symbol'.

Have Fun Flashrider [Christopher Bratusek] 13:07, September 18, 2011 (UTC)


2011 09 11: Sawfish 1.8.2

The second (and probably last) maintainance release of Sawfish 1.8 is available now.

1.8.2 "Tunebeat"

Download

http://download.tuxfamily.org/sawfish/sawfish-1.8.2.tar.bz2

http://download.tuxfamily.org/sawfish/sawfish-1.8.2.tar.bz2.sha1

http://download.tuxfamily.org/sawfish/sawfish-1.8.2.tar.xz

http://download.tuxfamily.org/sawfish/sawfish-1.8.2.tar.xz.sha1

What's new

1.8.2 "Tunebeat"
================

   * Bug Fixes
        - More robustness for `get-window-by-*' functions. Fixes
          problems with functions like `jump-or-exec' failing, when a
          window without WM_CLASS existed.  [Christopher Bratusek]

        - When cursor-warping was enabled and user switched to a shaded
          window, the cursor warped to the position of the unshaded
          window. This is fixed now. [Christopher Bratusek]

        - Fix a bug in manager selection handling.  Set all required
          fields of the client message event.  Call XSync before
          changing the error handler. [Timo Korvola]

        - Fix failing to generate apps-menu, if a desktop-entry had the
          Category property (instead of Categories or both). [Matthew
          Love]

        - In EdgeActions `HotSpot', `HotMove' and `EdgeFlip', it was
          possible to trigger the same event multiple times at a time.
          This is fixed now.[Jeremy Hankins]

   * Build and Installation
        - Make building Sawfish with `makepp' work [Daniel Pfeiffer]

        - Fix debian packaging scripts [Christopher Bratusek]

Have Fun Flashrider [Christopher Bratusek] 13:03, September 18, 2011 (UTC)


2011 07 30: Sawfish 1.8.90 released

it's time to present you the first beta of 1.9.0:

Sawfish 1.8.90 "Beats Of Life"

Download

http://download.tuxfamily.org/sawfish/sawfish-1.8.90.tar.bz2

http://download.tuxfamily.org/sawfish/sawfish-1.8.90.tar.bz2.sha1

http://download.tuxfamily.org/sawfish/sawfish-1.8.90.tar.xz

http://download.tuxfamily.org/sawfish/sawfish-1.8.90.tar.xz.sha1

What's new

1.8.90 "Beats Of Life"
======================

   * Updated or New dependencies
        - librep 0.92.0 -> 0.92.1

        - rep-gtk 0.90.4 -> 0.90.7

   * Bug Fixes
        - When cursor-warping was enabled and user switched to a shaded
          window, the cursor warped to the position of the unshaded
          window. This is fixed now.  [Christopher Bratusek]

        - When switching between tabbed themes from SawfishConfig, it
          could happens that there were `gaps' in the frame. This is
          fixed now. [Christopher Bratusek]

        - In SawfishConfig one could only grab key-bindings, but not
          mouse- or mixed mouse-key-bindings. This is fixed now. (Move
          mouse 20 pixels to grab a `Move' event).  [Christopher
          Bratusek]

        - SawfishConfig became useless when Sawfish restarted. This is
          now worked-around by simply restarting SawfishConfig when
          Sawfish does. A new `before-restart-hook' has been added for
          this purpose. [Christopher Bratusek]

        - In EdgeActions `HotSpot', `HotMove' and `EdgeFlip', it was
          possible to trigger the same event multiple times at a time.
          This is fixed now.  [Jeremy Hankins]

   * EdgeAction changes [Christopher Bratusek]
        - New EdgeActions:
             x `HotMove'. Calls an EdgeAction when dragging a window
               over the edge.

             x `Tile'. Simple tiling EdgeAction (can also be used
               stand-alone).  Original code by Mark Triggs.

        - `before-edge-action-hook' and `after-edge-action-hook'. While
          `enter-flipper-hook' and `leave-flipper-hook' simply respond
          to the mouse entering or leaving the flipper-window, the new
          hooks respond only when an EdgeAction was invoked. The two
          hooks pass the invoked EdgeAction, activated edge and a
          boolean `while-moving' value to the child-function (in that
          order).

        - Simplified, more robust EdgeFlip (flip-viewport and
          flip-workspace are now split).

        - Improved logic of blocking an action while another is already
          running. On one hand, see `Bug Fixes' above, on the other
          hand it's now ensured that we dont' activate an edge twice
          when dragging a window over it or when the pointer hits the
          edge via mouse-trapping.

        - Updated EdgeAction documentation

   * SawfishConfig changes [Christopher Bratusek]
        - Updated and Improved widgets in SawfishConfig:
             x `file'. The file(-chooser) widget now uses
               GtkFileChooserButton in favour of the ancient
               GtkFileSelectionDialog. The GtkEntry and GtkVBox used as
               helpers became useless and are removed.

             x `font'. The font(-chooser) widget now uses
               GtkFontChooserButton in favour of the ancient
               GtkFontSelectionDialog. The GtkEntry used as helper
               became useless and is removed.

             x `choice', `symbol', `keymap', `frame-style'. Those
               widgets now use GtkComboBoxText in favour of ancient
               GtkCombo/GtkComboEntry.

             x `scheme-boolean'. This widget is now properly
               implemented.

               Old: two checkboxes. First for activating setting,
               second for choosing yes or no.  New: only one checkbox,
               yes or no as usual, shows minus when unset.

        - New widgets in SawfishConfig:
             x `range'. The range widget represents an integer with a
               given range.  Basically it uses a GtkScale instead of a
               GtkSpinButton, which results in a better user-experience
               for those values.

             x `image'. The image widget contains a preview and
               image-selector.  The file-browser openend is setup to
               display previews, too. Original code by Lucas Pandolfo.

        - Removed widgets in SawfishConfig:
             x `program'. Just an alias to `file'.

             x All `gtk-only' widgets. Since Sawfish 1.5.0 those have
               been dummies, we don't use `libgnome', `libgnomeui' or
               `libgnomecanvas' anymore anyway.

        - New buttons. SawfishConfig now offers buttons to access Wiki,
          Help, ResourceFile and About. Additionally there's now a
          file-chooser for installing themes from `*.tar.*' files.

        - Widgets that depend on an disabled setting are now hidden
          instead of greyed-out.

        - Merged sawfish.cfg.widgets into sawfish.gtk.widgets. Old
          widgets aren't loaded anymore, even if present from an old
          installation.

        - All defcustoms do now have a property to change the position
          of the label.  To change it, append on of the following to
          the doc-string: \\left \\right \\top \\bottom.

          Example:

               (defcustom test-var 'eclipse
                 "This is just a test with label on top. \\top"
                 :type (choice eclipse crosshair none)
                 :group appearance)

          Of course that only works, if the label is a GtkLabel widget
          on it's own.

   * Theme/Theming changes [Christopher Bratusek]
        - New themes:
             x Candido

             x Zami-like

        - Improved themes:
             x Gradient has been replaced by Gradient-tabbed.

        - Removed themes [still available from Wiki]:
             x get-S-tabbed

             x brushed-metal

             x simple

             x smaker

             x mono

             x gtk

        - New theme-related configuration-options [theme independent]:
             x Added an option to control the titlebar text position.
               If a theme draws something additional in the titlebar
               (eg. StyleTab draws an icon), refer to the functions
               `update-title-x-offsets', `update-title-y-offsets'.

             x Added an option to control the cursor-shape when
               hovering frame-buttons.

             x Added an option to change the font, depending on the
               window state.

        - Majorly improved the grouping of options in StyleTab.

        - Moved definitons for `previous-workspace-button' and
          `next-workspace-button' from StyleTab into Sawfish.

   * New Features
        - Added `single-window-mode'. Basically this feature is known
          from OS-X, though it's implemented in a more strict way. The
          `single-window-mode' window should get all of the users
          attention.

          This is ensured by auto-iconifying any up-popping window,
          which is not in the same group. To additionally not annoy the
          user this is done without animation. Avoided or ignored
          windows are lowered. When `single-window-mode' is quit, the
          opposite happens.

          Also `single-window-mode' hooks into unmap-notify-hook to
          check whether the user wants to stop `single-window-mode' (by
          either closing or iconifying the window). Besides each
          workspace can hold it's own `single-window-mode'.

        - Added `mouse-trap' feature. It provides a method for moving
          the mouse to any place of the screen by zooming with just a
          few keystrokes. The mouse is warped to the center of the
          screen screen and a outline is drawn dividing the screen in 4
          squares (like trapping the mouse on it).  [Fernando Carmano
          Varo] [Christopher Bratusek]

        - Integrated settings for selecting wallpaper using an external
          command (eg: hsetroot).  Applying settings to GNOME2 or XFCE4
          is also supported. Original code by Lucas Pandolfo.
          [Christopher Bratusek]

   * Miscellaneous Changes
        - Improved desktop-integration modules [Christopher Bratusek]
             x KDE integration: added entries for user-switch,
               hibernate, suspend, lock-screen, menu-editor.

             x XFCE integration: added entries for hibernate, suspend,
               lock-screen, menu-editor.

             x GNOME integration: added entry for lock-screen,
               menu-editor.

             x The fallback poweroff-menu now uses SSD
               `Sawfish-Session-Dialog', a companion to Sawfish, by
               default. Support for logout and lockdown has been added.
               [Christopher Bratusek

Have Fun, Flashrider [Christopher Bratusek] 16:32, August 6, 2011 (UTC)


2011 06 19: Sawfish left GNOME

As some of you (following the ML) already know, Sawfish is moving away from GNOME.

Now the move to Tuxfamily is complete, so here is the new list of resources for both users and developers.

Project-Page: A small overview page with quick access to all interesting links can be found at http://sawfish.tuxfamily.org/

Community-Page: The Wiki isn't affected, so you're right here.

Mailing-List: Instructions for use of the new ML can be found at 2011 06 13: New Maling-List in use!

Bug-Tracker: The new BT can be found at http://sawfish.tuxfamily.org/flyspray/ - you'll find all open issues from the old BT.

Releases: Release tarballs are hosted at Tuxfamily since v1.6, so nothing changed here. Find all links at Download.

GIT Repos: GIT repo for SawfishPager was always at Tuxfamily, librep, rep-gtk and Sawfish followed. Find all links at Download#GIT.

Documentation: You can now read the docs for Sawfish and Rep online. Sawfish: http://sawfish.tuxfamily.org/sawfish.html // Rep: http://sawfish.tuxfamily.org/librep.html

Translations: Since we left GNOME.org the gnome-i18n team won't translate anymore. Thus, we are looking for brave users/contributors doing the job for the community. If you feel like "I'd like to, but dunno how", don't be shy and head-over to the Mailing-List and we'll help you.

Themes: Themes from the Wiki are currently still mostly hosted on SourceForge. We need to write a WikiBot to update the links to point to Tuxfamily.



Reasons: Well... the most important reason was to have full control over project-administration. GNOME doesn't allow it as much as Tuxfamily does. SourceForge would have done, too but we (developers) didn't want to use it and also some users said they don't like it that much. Tuxfamily was choosen as I already hosted my own projects there and knew that it would fullfill our needs. No one rejected the proposal.

Other reasons include that I thought an all-in-one workflow would be much better than having Sawfish cluttered around on SourceForge, GNOME and Tuxfamily. Also it would ease users to find what they look for. Of course the different ideologies played a role, though just a very minor.

After it's revival Sawfish evolved indepedently from GNOME and there's no connection between those two projects in any way anymore.



Future: The next release is 1.9.0 scheduled for december 2011. Featuring improved SawfishConfig, merged Sawfish-MMC (a fork of Sawfish that has been active in the years of Sawfish's dead), changed selection of shipped themes and more.

Sawfish 3.0.0 is scheduled for december 2012. It will use GTK+3 and several internal changes are planned, like switching to a better Lisp or Scheme, or improved handling of keyboard and mouse (eg: support for more than 5 mouse-buttons).



Contributing: Sawfish is a community Project. Anyone with or without development skills is welcome to contribute documentation, wiki-writing, scripts, patches, translations or artwork. Just post it the Mailing-List or the Wiki (where appropriate) and that's all.

Have a nice day! Flashrider [Christopher Bratusek] 13:13, June 19, 2011 (UTC)


2011 06 13: New Maling-List in use!

Good morning folks,

As of today we use the new Maling-List @Tuxfamily, instead of the one @GNOME. Of course the old-one is still alive and it's archive will stay accessible. The old ML will be closed for posting in about 1 or 2 weeks. It's the second-last step of moving the whole Sawfish workflow into one place (BugZilla is the last, in case you wondered).

Here are the instructions for use:

Auto-Subscription: everyone who was on the GNOME-ML in April, is already subscribed to the new ML (and should have received a message).

Subscribing: New users subscribe via sending a mail with subject "subscribe" to sawfish-request-[AT]-lists-[DOT]-tuxfamily-[DOT]-org

Posting: After you subscribed send your Mails to sawfish-[AT]-lists-[DOT]-tuxfamily-[DOT]-org // Note that all messages on the new ML get `[Sawfish]' prefixed. Say you send a mail with subject `test mail to new ml', we will receive `[Sawfish] test mail to new ml'. So if you've setup your mail-application to prefix the mails, you can now deactivate that.

Unsubscribing: To unsubscribe send a mail with subject "unsubscribe" to sawfish-request-[AT]-lists-[DOT]-tuxfamily-[DOT]-org

Archive: Visit the archive here. At the moment there's no way downloading the Archive as Tarball. The TF-Staff may provide them on demand, but I already ask for that feature to be added.

Additional infos about using TF can be found here.

On Tuxfamily.org I have privilege 5 (everything), Janek has 4 (everything, except destroying the project). In case there's something wrong, while I'm off, you may contact him instead.


2011 06 10: Sawfish 1.8.90 Snapshot 01 released

Hi all,

time to present something new: snapshot releases.

Nothing special, just a recent tarball with all branches merged, to ease beta-testing.

Download

http://download.tuxfamily.org/sawfish/Snapshots/sawfish-1.8.90s01.tar.bz2

http://download.tuxfamily.org/sawfish/Snapshots/sawfish-1.8.90s01.tar.bz2.sha1

http://download.tuxfamily.org/sawfish/Snapshots/sawfish-1.8.90s01.tar.xz

http://download.tuxfamily.org/sawfish/Snapshots/sawfish-1.8.90s01.tar.xz.sha1

ChangeLog

ChangeLog for 1.8.90S01:

2011-06-11 Christopher Roy Bratusek <nano@tuxfamily.org>
* lisp/sawfish/cfg/widgets/workspace-geometry.jl: removed, unused

* lisp/sawfish/wm/misc.jl: add call-with-pointer-grabbed

* lisp/sawfish/wm/util/keymap.jl: read-event does now grab the pointer
instead of keyboard, fixes setting mouse or mixed mouse-keyboard
bindings from SawfishConfig (keyboard-only bindings still work)

* lisp/sawfish/cfg/layouts/keymap.jl: removed beautify-keymap-name,
use beautify-symbol-name instead

* po/sawfish-xgettext: use beautify-symbol-name from rep.util.misc,
removed own beautify-symbol-name/beautify-keymap-name

* lisp/sawfish/cfg/widgets/frame-style.jl: shut-up a compiler-warning

* lisp/sawfish/cfg/widgets/frame-style.jl
* lisp/sawfish/gtk/widget.jl: properly loop through the list of
options when filling GtkComboBoxText widgets

* lisp/sawfish/cfg/widgets/match-window.jl: don't make scheme-boolean
an optional widget

* lisp/sawfish/gtk/widgets/scheme-boolean.jl: use GtkCheckButton
instead of GtkToggleButton. Set intial and clear states to
`inconsistent' and only return #t or #f it not `inconsistent'.
Properly implements scheme-boolean in Window-Rules

* lisp/sawfish/cfg/shell.jl: added apply-gtk-style-properties.
Currently only `appear-as-list' to GtkComboBoxText is passed

2011-06-10 Christopher Roy Bratusek <nano@tuxfamily.org>
* lisp/sawfish/cfg/utils.jl: removed (funcs now in rep.util.misc)

* lisp/sawfish/cfg/layout.jl
* lisp/sawfish/cfg/widgets/command.jl
* lisp/sawfish/cfg/widgets/keymaps.jl
* lisp/sawfish/cfg/widgets/match-windows.jl: updated for above change

* lisp/sawfish/cfg/Makefile.in
* lisp/sawfish/cfg/widgets/icon.jl: removed unused, dummy 'icon widget

* lisp/sawfish/cfg/widgets/gtk/*: removed unused
sawfish.cfg.widgets.gtk*

* lisp/sawfish/gtk/widgets/program.jl: removed 'program widget (just
an alias to 'file)

* lisp/sawfish/gtk/Makefile.in
* lisp/sawfish/wm/ext/play-audio.jl: updated

* lisp/sawfish/gtk/widgets/simple-dialog.jl: better wmclass

* lisp/sawfish/cfg/widgets/command.jl
* lisp/sawfish/gtk/widget.jl: removed option-index (now in
rep.util.misc) and command-index (exactly the same as option-index)

* lisp/sawfish/cfg/widgets/command.jl
* lisp/sawfish/cfg/widgets/frame-style.jl
* lisp/sawfish/gtk/widget.jl: use option-index instead of position and
protect against wrong values

2011-06-04 Christopher Roy Bratusek <nano@tuxfamily.org>
* configure.in: bump minimum librep to 0.92.1, new funcs required by
SawfishConfig

2011-06-02 Christopher Roy Bratusek <nano@tuxfamily.org>
* lisp/sawfish/wm/ext/mousetrap.jl: added defvars to be able to
adjust the mousetrap keybindings. Set a timer of one second to
properly block edge-actions after mousetrapping

* lisp/sawfish/wm/edge/actions.jl: added before-edge-action-hook and
after-edge-action-hook. Fixed logic of blocking actions while
mousetrapping

* lisp/sawfish/wm/autoload.jl: drop edge-flip-invoke and
viewport-drag-invoke from list

* lisp/sawfish/wm/edge/tile.jl: added command definition

* lisp/sawfish/gtk/widgets/image.jl: due two fixes in rep-gtk it's possible
now to set the filename in GtkFileChooserButton, so the GtkEntry is
removed

* configure.in: bump minimum GTK+ to 2.24, GDK to 2.23

* lisp/sawfish/gtk/widget.jl: port 'choice, 'symbol and 'frame-style widgets
to GtkComboBoxText

2011-05-31 Christopher Roy Bratusek <nano@tuxfamily.org>
* lisp/sawfish/wm/edge/actions.jl: don't exec any edge-action, while
mousetrapping is active (new feature in misc-1.9 branch)

* lisp/sawfish/wm/ext/mousetrap.jl: added mousetrapping feature,
original module by Fernando Carmona Varo, modified by me

2011-05-29 Christopher Roy Bratusek <nano@tuxfamily.org>
* lisp/sawfish/wm/ext/wallpaper.jl: added option to pass extra
arguements to wallpaper-setter. Place widget-text to the left

* lisp/sawfish/gtk/widgets/image.jl
* lisp/sawfish/gtk/widgets/file.jl: better widget-layout

* lisp/sawfish/gtk/widgets/font.jl.in: ported 'font widget to
gtk-font-button (rather than ancient gtk-font-selection-dialog) and
removed the entry and hbox widgets.

2011-05-28 Jeremy Hankins <nowan@nowan.org>
* lisp/sawfish/wm/edge/flip.jl
* lisp/sawfish/wm/edge/hot-spots.jl: EF/HS/HM timers are no
longer started if a timer is already running; fixes bug where
flip-viewport would jump multiple viewports.

2011-05-28 Christopher Roy Bratusek <nano@tuxfamily.org>
* lisp/sawfish/gtk/widgets/file.jl: ported 'file widget to
gtk-file-chooser-button

* lisp/sawfish/gtk/widgets/image.jl: improved 'image widget

* lisp/Makefile.in: don't install wallpaper.jlc (breaks 'image and
'file widgets (...))

* lisp/sawfish/wm/ext/wallpaper.jl: added integration of wallpaper
settings (also gnome2 and xfce4 if desired), original module by Lucas
Pandolfo and heavily modified by me

2011-05-25 Christopher Roy Bratusek <nano@tuxfamily.org>
* lisp/sawfish/gtk/widgets/image.jl: added image-widget for
sawfish-config (contains preview and selector), original widget by
Lucas Pandolfo and heavily modified by me

* lisp/sawfish/gtk/Makefile.in: updated

* configure.in: bump minimum rep-gtk to 0.90.7 (new funcs required by
image widget)

2011-05-22 Christopher Roy Bratusek <nano@tuxfamily.org>
* lisp/sawfish/wm/frames.jl: fixed setting frame-font colors for
states inactive-highlighted and inactive-clicked

* themes/get-S-tabbed/theme.jl
* themes/Crux/theme.jl
* themes/mxflat/theme.jl
* src/frames.c
* src/sawfish_subrs.h
* lisp/sawfish/wm/frames.jl: remove frame-font, fallback to
default-font again. Instead offer options for changing frame-font
according to the window state.

* lisp/sawfish/wm/frames.jl: added option to adjust border-width and
border-color options.

* lisp/sawfish/wm/user.jl: load frame-font and border-width/color
options on startup

2011-05-21 Christopher Roy Bratusek <nano@tuxfamily.org>
* debian/changelog
* debian/rules
* debian/postinst
* debian/sawfish-data.postinst
* Makefile.in: make packaging scripts work

2011-05-14 Christopher Roy Bratusek <nano@tuxfamily.org>
* src/frames.c
* src/sawfish_subrs.h
* lisp/sawfish/wm/gaol.jl
* lisp/sawfish/wm/frames.jl: use frame-font for titlebars, rather than
default-font (now changing titlebar-font leaves message-font intact)

* themes/mxflat/theme.jl
* themes/get-S-tabbed/theme.jl
* themes/Crux/theme.jl
* themes/StyleTab/theme.jl: updated to use frame-font instead of
default-font. Remove custom-font-setting option from StyleTab

* lisp/sawfish/wm/frames.jl: added options for chaning highlight and
clicked font-colors for inactive tabs and titlebars

2011-05-13 Christopher Roy Bratusek <nano@tuxfamily.org>
* lisp/sawfish/wm/frames.jl: add possibility to also change the
font-color for highlighted and clicked frames regardless of theme

* lisp/sawfish/wm/frames.jl: fixed changing font-color for horizontal
tabbars (vertical don't show text (yet))

* themes/StyleTab/theme.jl: remove custom color-changing option

* lisp/sawfish/wm/edge/flip.jl: only call after-flip for
flip-workspace. set scroll-viewport-steps to 1 for flip-viewport
while-moving (no hang when viewport-boundary-mode 'dynamic)

* lisp/sawfish/wm/edge/actions.jl: add while-moving key-value

* lisp/sawfish/wm/edge/tile.jl: call fake-release-window when tiling
while moving a winodw (so that it properly works)

2011-05-07 Christopher Roy Bratusek <nano@tuxfamily.org>
* lisp/sawfish/wm/viewport.jl: add window-on-current-head-viewport

* lisp/sawfish/wm/edge/tile.jl: one-shot-try to make tile
xinerama-aware

2011-05-05 Christopher Roy Bratusek <nano@tuxfamily.org>
* lisp/sawfish/wm/commands/jump-or-exec.jl: reverted 2 commits

* lisp/sawfish/wm/windows.jl: more robustness for get-window-by
-name, -class, -role

* **/Makefile.in: remove VPATH to appease makepp [Daniel Pfeiffer]

* configure.in: check for XTest

* lisp/sawfish/wm/windows.jl: remove release-window function

* src/windows.c: add fake-release-window subroutine

* lisp/sawfish/wm/edge/hot-spot.jl: improve HotMove for easier user-setup

* lisp/sawfish/wm/edge/action.jl: block HotSpot for 1 second after
HotMove was called

2011-04-26 Christopher Roy Bratusek <nano@tuxfamily.org>
* lisp/sawfish/wm/autoload.jl: removed maybe-raise-tab from
autoload, aswell as viewport-linear stuff. Add edge-flip-invoke,
viewport-drag-invoke and tile-windows to autoload

* lisp/sawfish/wm/tile.jl: make tiling actually work

2011-04-25 Christopher Roy Bratusek <nano@tuxfamily.org>
* lisp/sawfish/wm/edge/tile.jl: only include windows on
current-workspace AND current-viewport

* lisp/sawfish/wm/workspace.jl: fixed window-on-current-workspace-p
added window-on-current-workspace-viewport-p

2011-04-24 Christopher Roy Bratusek <nano@tuxfamily.org>
* lisp/sawfish/wm/edge/tile.jl: tiling for EdgeActions
original code by Mark Triggs, updated by me [not yet working!]

* lisp/sawfish/wm/edge/hot-spot.jl: added HotMove for EdgeActions

* lisp/sawfish/wm/windows.jl
* lisp/sawfish/wm/workspace.jl
* lisp/sawfish/wm/commands/move-resize.jl: various support functions
for HotMove and Tiling

* lisp/sawfish/wm/edge/conf.jl
* lisp/sawfish/wm/edge/actions.jl: updated 


2011 05 01: sawfish-pager 0.90.2 released

a new minor release of sawfish-pager "The One Russian" is available.

Download

Tar/BZ2 (228K) http://download.tuxfamily.org/sawfishpager/sawfish-pager-0.90.2.tar.bz2

SHA1 http://download.tuxfamily.org/sawfishpager/sawfish-pager-0.90.2.tar.bz2.sha1

Tar/XZ (172K) http://download.tuxfamily.org/sawfishpager/sawfish-pager-0.90.2.tar.xz

SHA1 http://download.tuxfamily.org/sawfishpager/sawfish-pager-0.90.2.tar.xz.sha1

What's new

Version 0.90.2 (2011-05-01, The One Russian)
     * bumped minimum Sawfish to 1.8.1
     * updated for install-path changes in Sawfish 1.8.1
                -- Christopher Bratusek

     * allow rpm-build (and others) to modify CFLAGS for build
                -- Kim B. Heino

Have Fun, Flashrider [Christopher Bratusek] 16:27, May 3, 2011 (UTC)


2011 05 01: sawfish 1.8.1 released

Sawfish 1.8.1 "Sharp As A Knife" is now available for download.

Download

Tar/BZ2 (5,3M) http://download.tuxfamily.org/sawfish/sawfish-1.8.1.tar.bz2

SHA1 http://download.tuxfamily.org/sawfish/sawfish-1.8.1.tar.bz2.sha1

Tar/XZ (3,7M) http://download.tuxfamily.org/sawfish/sawfish-1.8.1.tar.xz

SHA1 http://download.tuxfamily.org/sawfish/sawfish-1.8.1.tar.xz.sha1

What's new

1.8.1 "Sharp As A Knife"
========================

   * Updated or New dependencies
        - librep 0.91.0 -> 0.92.0

   * Bug Fixes
        - Fixed jump-or-exec failing when a window without WM_CLASS
          exists [Christopher Bratusek]

        - Fixed failing to uninstall Sawfish [Christopher Bratusek]

   * Miscellaneous Changes
        - EdgeActions changes [Christopher Bratusek]:
             + Load from `user.jl', rather than `wm.jl'

             + Add `edge-actions-enabled' variable in order to be able
               to completely disable EdgeActions (also via .sawfishrc)

             + Move all options into new `sawfish.wm.edge.conf' module
               (so they appear in the correct order now)

             + Updated documentation for EdgeActions

        - Fixed documentation for function `insert-workspace'
          [Christopher Bratusek]

        - Removed unused or unneeded 'default, 'viewort and 'advanced
          classes from command definitions [Christopher Bratusek]

        - Fixed two strings in mxflat theme [Christopher Bratusek]

        - Improved Requires in sawfish.pc [Christopher Bratusek]

        - Improved debian packaging-scripts [incomplete] [Ian
          Zimmermann, Christopher Bratusek]

        - Improved .desktop-files [Kim B. Heino]

        - Updated translations:
             + Spanish [gnome-es team]

             + German [gnome-de team]

             + Czech [gnome-cz team]

             + Malay [gnome-ms team]

             + Slovenian [gnome-sl team]

        - Updated OPTIONS file [Christopher Bratusek]

Have Fun, Flashrider [Christopher Bratusek] 16:25, May 3, 2011 (UTC)


2011 05 01: rep-gtk 0.90.6 released

a new minor release of rep-gtk is available now.

Download
Tar/BZ2 (276K) http://download.tuxfamily.org/librep/rep-gtk/rep-gtk-0.90.6.tar.bz2
SHA1 http://download.tuxfamily.org/librep/rep-gtk/rep-gtk-0.90.6.tar.bz2.sha1

Tar/XZ (244K) http://download.tuxfamily.org/librep/rep-gtk/rep-gtk-0.90.6.tar.xz
SHA1 http://download.tuxfamily.org/librep/rep-gtk/rep-gtk-0.90.6.tar.xz.sha1

What's new

0.90.6:

* bump minimum librep to 0.92.0
* updated for changes in installation-paths in librep 0.92.0
* merged Debian scripts from Ian Zimmermann
* improved Makefile clean rules
* combined gtk and gtk-types modules [Kim B. Heino]

Have Fun, Flashrider [Christopher Bratusek] 16:23, May 3, 2011 (UTC)


2011 05 01: librep 0.92.0 released

a new version of librep is available now.

This release changes installation-paths, so you'll need to update all modules (rep-gtk, sawfish and sawfish-pager).

Download

Tar/BZ2 (640K) http://download.tuxfamily.org/librep/librep-0.92.0.tar.bz2 SHA1 http://download.tuxfamily.org/librep/librep-0.92.0.tar.bz2.sha1

Tar/XZ (592K) http://download.tuxfamily.org/librep/librep-0.92.0.tar.xz SHA1 http://download.tuxfamily.org/librep/librep-0.92.0.tar.xz.sha1

What's New

0.92.0
======

   * Bumped soname to 16.0.0 [Ian Zimmermann]

   * Make librep loading shared-objects, rather than libtool-archives
     [Kim B. Heino]

   * Removed architecture and version from installation paths
     [Christopher Bratusek]

   * Improved debian packaging-scripts [Ian Zimmermann, Christopher Bratusek]

Have Fun, Flashrider [Christopher Bratusek] 16:20, May 3, 2011 (UTC)


2011 03 13: sawfish 1.8.0 released

A new version of Sawfish is available now.

    Sawfish 1.8.0 "思いやり (Omoiyari)"

We are moving!

Yes, Sawfish is moving away from GNOME. Our new host will be Tuxfamily.org
and the preparations are going well. For more infos visit the ML. Once the
move is done, all required informations for users will be available on our Wiki.

Where to download?

Tar/BZ2: http://download.tuxfamily.org/sawfish/sawfish-1.8.0.tar.bz2 5,2 MB
SHA1SUM: http://download.tuxfamily.org/sawfish/sawfish-1.8.0.tar.bz2.sha1

Tar/XZ : http://download.tuxfamily.org/sawfish/sawfish-1.8.0.tar.xz 3,7 MB
SHA1SUM: http://download.tuxfamily.org/sawfish/sawfish-1.8.0.tar.xz.sha1

What's new since 1.7.0?

   * Incompatible changes
        - Infinite-desktop and edge-flip needs updates.

          Open the configurator -> "Edge Actions". Changes will be
          easy. (Set 4 pull-downs, and you're done mostly.
          "Infinite-desktop" is renamed to "viewport-drag".) For more
          options, see "Edge Actions" below.

          If your `~/.sawfish/rc' opens related modules, delete those
          references.  These modules are renamed, and you don't have to
          manually load them any more.

        - Renamed functions [Teika kazura]
             * Popup of operations-menu on a window, renamed from
               `popup-window-menu' to `popup-window-ops-menu' (both the
               function and command). Old names are still available.

             * Renamed window rename, from `rename-window-func' to
               `rename-window'. (Old name is still avialable.) The
               function `rename-window-interactive' is deleted. Use
               `(call-command 'rename-window)' instead.

          Even if the old names still remain, it is highly recommended
          to update.

        - Syntax-change in `jump-or-exec' [Christopher Bratusek]

          The previous `class' and `onfocused' parameters are now keys,
          and pass them as "#:match-class t/nil" or "#:onfocused
          value". Note that `match-class' is _boolean_; To pass a
          class, set `#:match-class t' and pass the class name to the
          argument `regex'. (*note Application Invocation::)

        - Apps-menu options `apps-menu-show-all' is deleted. See below
          for more.

        - User option `focus-ignore-pointer-events' is deleted. [Teika
          kazura]
          In fact, it's for internal use, and should not have been a
          user option. Use your favorite focus mode instead.

        - Animation related modules are renamed [Teika kazura]

          All are collected under `sawfish/wm/animation'.
          `window-anim.jl' -> `setup.jl', `outline.jl' -> `main.jl',
          `util/window-outline.jl' -> `modes.jl'.


   * Build and Installation
        - Fixed installation for non-root users [Stefano Sabatini]

          Previously when installing to a private directory as an
          ordinary user, the installation failed, because some files
          were forced to be installed in /usr. This is fixed now.

        - Session files installation [Christopher Bratusek]

          Now you can choose which session files (default: all) to
          install with these configure-options:

             * `--with/out-kde4session': enable or disable the
               installation of session files for KDE4.

             * `--with/out-gnome2session': enable or disable the
               installation of session files for GNOME2.

             * `--with/out-xdmsession': enable or disable the
               installation of session files for XDM (or other
               display-managers).

        - Spec-File compatibility for RHEL 6 beta [Kim B. Heino]

        - Debian-Scripts (mostly) updated to the new specification
          [Christopher Bratusek]

   * Bug fixes
        - Poweroff-menu fix [Teika Kazura, Christopher Bratusek]

          In Sawfish-1.7.0, poweroff related items in the popup menu
          couldn't be invoked, if run without any desktop environment.
          Fixed it.

        - Correctly build SawfishPager [Christopher Bratusek]

          It is ensured that SawfishPager builds correctly, by
          improving `sawfish.pc' file.

        - At focus in/out, correctly reports the mode [Timo Korvola]

          When `focus-in-hook' / `focus-out-hook' are called, Sawfish
          wrongly reported a focus change during a grab as "ungrabbed".
          Now it's reported as `while-grabbed'.

        - Window cycle among groups [Teika Kazura]

          Some windows were skipped in window cycles among groups. This
          is fixed.

        - No more crash at loading wrong theme code [Teika Kazura]

          From Sawfish-1.7.0, Sawfish used to crash when a theme with
          wrong code is loaded, but it's fixed. It's not complete, and
          for example some mxflat options make Sawfish crash.

        - Cancellation of `call-command' [Teika kazura]

          It used to print an error message when you cancel an
          interactive call of `call-command' with the escape key, but
          it doesn't any more.

        - KDE *.desktop files location [Teika Kazura]

          Previously, user's change of the variable
          `kde-desktop-directories' was ignored, but this is fixed.

   * New Features
        - Edge Actions [Christopher Bratusek]

          "Edge Actions" is a centralized way to invoke an action when
          the mouse pointer hits a screen-edge. It includes former
          "edge-flip" and "infinite-desktop" (now renamed to
          "viewport-drag"), and a new feature "hot-spot".

          Edge-flip and viewport-drag can be configured from the
          configurator "Edge Actions" group. Options are easy to
          understand.

          "Hot-spot" lets you assign an action to each screen-edge and
          -corner. An action has to be a lisp function, and can be set
          in `~/.sawfish/rc', like this:

               (defvar-setq top-left-corner-function
                 (lambda () (display-message "hello world")))

          Hot-spot variable names consist of position (e.g. top-left or
          bottom) + "edge"/"corner" + "function".

          Other related changes are:
             * Viewport-drag and edge-flip (of course hot-spot, too)
               can be chosen per direction, top-bottom and left-right.
               It's also possible to enable / disable dragging of a
               window for each of them.

             * It means a window can be dragged during viewport-drag,
               which was not possible.

             * There're two delay timers now, for edge-flip and
               hot-spot.

          Internal changes:
             * Codes are found in `sawfish.wm.edge.*'. You don't have
               to import them for ordinary use.

             * Low-level functions now have API in
               `sawfish.wm.edge.util' written in Lisp.

        - Replace running window manager with Sawfish [Timo Korvola]
          New command line option `--replace' is added. With it, Sawfish
          will replace the currently running window manager. It's done
          by "manager selection" defined in ICCCM secs 2.8 and 4.3.

        - Toggle-Or-Exec wrapper added to Jump-Or-Exec [Christopher
          Bratusek]

          `toggle-or-exec' is similar to jump-or-exec, but turns windows
          into quake-like drop-down/pop-up-windows. That means, when
          you have the toggle-window focused and press its keybinding
          again, it will be hidden.

          See the file `jump-or-exec.jl' for more detailed examples.

        - `iconify-on-leave' window-matcher [Christopher Bratusek]

          This new window-matcher is a companion to `toggle-or-exec'.
          When a window matched loses the focus, it gets hidden. Use
          this together with `toggle-or-exec' for greater toggle-window
          experience.

        - Error printing during initialization [Teika Kazura]

          When an error occurs during initialization, and if you don't
          customize the option `error-handler', then the error is
          reported to both the screen and standard-error. After Sawfish
          starts, it's printed to the standard-error only.

        - New function `report-commands' [Teika kazura]
          It returns the list of all commands. (*note Operations on
          Commands::).

   * Misc Changes
        - Tabs and themes [fuchur]

          A new, tab-capable, highly configurable theme "StyleTab" is
          added. It allows the tab-bar to appear in top, left, right,
          and bottom. Use a new window rule `title-position' for it.
          "StyleTab" is now the default theme.

          Many improvements in tab system are done. For example,
          stickiness change on a window applies to all other windows in
          the same tab group, though maybe not yet complete. (Please
          tell us things you noticed.)

          When you used a tab capable theme (Elberg-Tabbed or
          Get-S-Tabbed), you had to manually adjust positions by pixel,
          but it's not necessary any more.

          When a lot of windows are open, they should now be more
          responsive.

        - Application menu is fully customizable [Matthew Love]

          With the new option `apps-menu-filter', you can fully
          customize the application menu. For the full description, see
          *Note Applications Menu::.

          It replaces former options like `apps-menu-show-all' or
          `apps-menu-ignore-no-display'.

        - Per-window animation mode [Teika kazura]

          From the configurator "Window Rules" you can set the animation
          mode when iconified. (*note Animating Windows::)

        - Behavior modification at focus-in [Harald van Dijk]

          In order to support "gnome2-globalmenu", the reaction policy
          to `XFocusInEvent' is slightly modified. Sawfish doesn't emit
          `_NET_ACTIVE_WINDOW' if it's done by (un)grabbing the pointer.

        - Revised `get-window-by-*' functions [Christopher Bratusek]

          For the details, see *Note Window Attributes::, and *Note
          Getting Windows::.
             * Added functions `window-role' and `get-window-by-role'
               (return NET_WM_ROLE)

             * Deleted `get-window-by-name-re' and
               `get-window-by-class-re'. Use instead
               `get-window-by-name' or `get-window-by-class' with the
               new boolean option `#:regex'. (The old name is still
               supported.)

             * added `#:icon' switch to `get-window-by-name' to get a
               window via NET_WM_ICON_NAME (can be used with #:regex
               switch, too)

             * Commands to resize a window [Christopher Bratusek, Teika
               kazura]

               Four new commands to resize a window where you can
               specify the size by pixels are there. You're either
               prompted to type in the new size, or you can preset it
               in the configurator.

               For the new command `resize-window-to-preset-size',
               first you specify a size in the configurator. The
               focused window will be resized to that preset size on
               invocation. There're also commands to change only one of
               the height and width.

               `resize-window-prompt' prompts you to enter the new size.

        - Window-operation menu improvements [Christopher Bratusek]

             + The window-operation menu now honours window rules
               better.  For example, if you have a window with
               `fixed-size' flag, the window-operations menu-entry
               `Resize' becomes unclickable.

             + The entries for moving and copying windows to another
               workspace are now bundled in the new `Workspace'
               sub-menu.

        - Translation related changes [Teika Kazura]
             + Added translator instructions in `po/README' file.

             + Before you run `po/make-pot' to generate `sawfish.pot',
               you now have to do `make all' at the top directory.
               Previously it was possible to produce wrong
               `sawfish.pot'.

             + Translation updates: Spanish [gnome-es team], German
               [gnome-de team], Simplified-Chinese [gnome-zh_CN team,
               Wang Lei], Norwegian/bokmål [gnome-no team] French
               [gnome-fr team], Czech [gnome-cs team] and Slovenian
               [gnome-sl team].

             + Updated `sawfish.pot' and subsequently all `*.po'.
               Banished some bogus items in `sawfish.pot'.
               (Developer's personal extensions had sneaked in.)

        - Emacs sawfish-mode now indents `let-fluids' and let-loop
          correctly, provided by `sawfish.el' [Teika Kazura]

        - Turn `focus-ignore-pointer-events' into an internal variable
          (has wrongly been a user-option before) [Teika Kazura]

        - Documentations [Teika kazura]
             * Section on popup menus is rewritten. (*note Popup
               Menus::)

             * Functions which return window geometry are now clarified
               in the point of frames.

             * Correction: The function `commandp' can only take
               symbols as its argument. (*note Operations on Commands::)

        - SawfishConfig "Window rules" section changes [Teika Kazura]

          Category `Placement' is renamed to `Geometry'.  The item
          `shade-hover' is moved to `appearance' category, and
          `fixed-size' to `geometry'.

        - Deletion of outdated features in command definition [Teika
          Kazura]

          Function `define-command-args' is deleted. In `define-command'
          function, the keyword argument `doc-key' is dropped.

Have Fun! Flashrider [Christopher Bratusek] 09:18, March 13, 2011 (UTC)


2011 02 27: librep 0.91.1 released

a new release of the fast, lightweight, embeddable lisp-environment of your

choice is now available for download.

Where to get it?

http://download.tuxfamily.org/librep/librep-0.91.1.tar.bz2 (688 K)
http://download.tuxfamily.org/librep/librep-0.91.1.tar.bz2.sha1

http://download.tuxfamily.org/librep/librep-0.91.1.tar.xz (588 K)
http://download.tuxfamily.org/librep/librep-0.91.1.tar.xz.sha1

What's new?

   * `rep.ffi.util' module [Sergey Bolshakov]

     A new module containing utils for rep's ffi binding is added.

   * Fixed librep.pc to prevent a possible build issue in rep-gtk or
     sawfish (occured on fedora 14) [Christopher Bratusek]

   * New functions [Teika Kazura]

     `function-name' returns the name of the function object. (*note
     Functions::)

     `remove-hook-by-name' removes functions from a hook by their name.
     (*note Normal Hooks::)

   * Documentation [Teika kazura]

     Function `in-hook-p' now has the documentation. (*note Normal
     Hooks::)

     New sections "Module Aliases" (*note Module Aliases::), "Module
     Limits" (*note Module Limits::).

   * Minor bugfix: `remove-hook' used to emit an error if the hook was
     unbound, but it's fixed. [Teika kazura]

   * fixed the spec-file [Kim B. Heino]

   * updated debian packaging-scripts (mostly) to the new format
     [Christopher Bratusek] 

Have Fun, Flashrider [Christopher Bratusek]


2011 02 27: rep-gtk 0.90.5 released

just a very minor update to rep-gtk.

Where to get?

http://download.tuxfamily.org/librep/rep-gtk/rep-gtk-0.90.5.tar.bz2 (320 K)
http://download.tuxfamily.org/librep/rep-gtk/rep-gtk-0.90.5.tar.bz2.sha1

http://download.tuxfamily.org/librep/rep-gtk/rep-gtk-0.90.5.tar.xz (236 K)
http://download.tuxfamily.org/librep/rep-gtk/rep-gtk-0.90.5.tar.xz.sha1

What's new?

  • fixed a bug in configure, which could create an incomplete rep-gtk.pc
  • updated the debian packaging scripts (mostly) to the new spec


2010 12 22: sawfish 1.8.0 release-candidate available

Hi folks,

in the name of the Sawfish-Team I'm proud to announce the immediate availability of

Sawfish 1.8.0 Release-Candidate "Unity Without Words"


Where to download?

Tar/BZ2: http://download.tuxfamily.org/sawfish/sawfish/sawfish-1.8.0~RC.tar.bz2 4,0 MB SHA1SUM: http://download.tuxfamily.org/sawfish/sawfish/sawfish-1.8.0~RC.tar.bz2.sha1

Tar/XZ : http://download.tuxfamily.org/sawfish/sawfish/sawfish-1.8.0~RC.tar.xz 2,60 MB SHA1SUM: http://download.tuxfamily.org/sawfish/sawfish/sawfish-1.8.0~RC.tar.xz.sha1



When will the final version be released?
=========================

No date is set yet, expect it around Jan/Feb 2011

What's new since 1.7.0?
===============

1.8.0 "Unity Without Words"
=================

* Notes
- Renamed function `popup-window-menu' to
`popup-window-ops-menu' [Teika kazura]

Both the function and the command are renamed. The old name
is still supported, but it's recommended to update your
configuration.

- User option `focus-ignore-pointer-events' is deleted. [Teika
kazura]
In fact, it's for internal use, and should not have been a
user option. Use your favorite focus mode instead.

* Build and Installation
- Fixed installation for non-root users [Stefano Sabatini]

Previously when installing to a private directory as an
ordinary user, the installation failed, because some files
were forced to be installed in /usr. This is fixed now.

- Chooseable session files [Christopher Bratusek]

Now you can choose what session files to install. This is
done by a tripplet of configure-options:

* -with/out-kde4session: enable or disable the
installation of session files for KDE4. Default: enabled

* -with/out-gnome2session: enable or disable the
installation of session files for GNOME2.
Default: enabled

* -with/out-xdmsession: enable or disable the installation
of session files for XDM (or other display-managers like
KDM/GDM). Default: enabled

- Spec-File compatibility for RHEL 6 beta [Kim B. Heino]

- Debian-Scripts compatibility for Debian/Experimental
[Christopher Bratusek]

* Bug fixes
- Poweroff-menu fix [Teika Kazura, Christopher Bratusek]

In Sawfish-1.7.0, poweroff related items in the popup menu
couldn't be invoked, if run without any desktop environment.
Fixed it.

- Correctly build SawfishPager [Christopher Bratusek]

It is ensured that SawfishPager builds correctly, by
improving `sawfish.pc' file.

- KDE *.desktop files location [Teika Kazura]

Previously, user's change of the variable
`kde-desktop-directories' was ignored, but this is fixed.

- Window cycle among groups [Teika Kazura]

Some windows were skipped in window cycles among groups. This
is fixed.

- Cancellation of `call-command' [Teika kazura]

It used to print an error message when you cancel an
interactive call of `call-command' with the escape key, but
it doesn't any more.

* New Features
- EdgeActions [Christopher Bratusek, Teika Kazura]

EdgeActions is a centralized way for performing actions with
your screen-edges. Lots of internal and user-visiable changes
have been made.

Internal changes:
* Some functions have been moved from Lisp to C-Part. Also
EdgeFlip has been highly revised, so that other technics
(namely ViewportDrag and HotSpots) do no longer depend
on active EdgeFlip (no more conflicts)

* The module `sawfish.wm.edge.actions' contains the
EdgeAction infrastructure and most options

* The module `sawfish.wm.edge.util' contains helper
functions for EdgeActions

* The module `sawfish.wm.edge.subrs' contains the C-Part
subroutines for EdgeActions

* InfiniteDesktop is renamed to ViewportDrag (more
self-descriptive)

* General code-revision. Less but more powerful code is
now in use

User-visible changes:

* Centralized customization ("Edge Actions" group in
SawfishConfig)

* EdgeFlip changes. Additionally to the above stated
internal changes, EdgeFlip has been split into
EdgeFlip/Viewport and EdgeFlip/Workspace, giving you
more customizability.

* HotSpots have been added. HotSpots let you call
functions when hitting either the corners or the edges.
By default the corners extend by 50 px in both
directions along the edge, this value is changable.

HotSpot functions need to be set via `~/.sawfishrc',
like this:

( defvar-setq top-left-corner-function   ( lambda () (
display-message "hello world" ) ) )

the lambda is very important - it won't work else.
Function names are pretty self-descriptive: position
(eg: top-left or bottom) + variant (edge or corner) +
"function".

* ViewportDrag now also works while moving a window.

* Delay-timer changes. ViewportDrag doesn't have a delay
anymore (doesn't quite make sense).  HotSpots
and EdgeFlip have both their own, customizable timer.

* Actions are now split as follows:

top-bottom (normal) top-bottom (while moving)

left-right (normal) left-right (while moving)

That means that you have better control what to do and
when, as actions for when hitting the edge/corner with
the pointer ("normal") and for when hitting the
edge/corner while moving a window are split now.

You can choose from the following actions:
→ flip-viewport (traditional EdgeFlip for Viewports)

→ flip-workspace (traditional EdgeFlip for Workspaces)

→ viewport-drag (drag Viewport to pseudo-increase
it's size making it "infinite")

→ none/hot-spots (either perform nothing or -if
user-set- a HotSpot function)

By default nothing is done.

- New function `report-commands' [Teika kazura]
It returns the list of all commands. (*note Operations on
Commands::).

* Misc Changes
- Tabs-NG [fuchur]

Tabs-NG is a revised version of Sawfish's
Tabbed-Windowing-System. Most changes are internal, but a few
user-visible ones have been done, too. When a lot of windows
are open, it should now be more responsive.

You now no longer need to change the tab-adjustments via
SawfishConfig, when changing or customizing tab-enabled themes
(this is now done internally).

Also there are now vertical and horizontal tabbar-prototypes
available (see `DarkTab' theme), with a keymap both.  The
window-matcher `title-position' ensures that the position of
the title will be restored, when using the `DarkTab' theme.

Several smaller fixes have been done. (check `ChangeLog' for
more detailed infos)

- The themes `Elberg-Tabbed' and `Get-S-Tabbed' have been
updated to work with Tabs-NG. The theme `DarkTab' made by
fuchur" is now the default theme.

- revised `get-window-by-*' functions [Christopher Bratusek]
* added `window-role' function (return NET_WM_ROLE)

* added `get-window-by-role' function (takes #:regex
switch)

* merged `get-window-by-name-re' as #:regex switch into
`get-window-by-name' (the old name is still supported)

* merged `get-window-by-class-re' as #:regex switch into
`get-window-by-class' (the old name is still supported)

* added #:icon switch to `get-window-by-name' to get a
window via NET_WM_ICON_NAME (can be used with #:regex
switch, too)

- Window-operation menu improvements [Christopher Bratusek]

+ The window-operation menu now honours window rules
better.  For example, if you have a window with
`fixed-size' flag, the window-operations menu-entry
`Resize' becomes unclickable.

+ The entries for moving and copying windows to another
workspace are now bundled in the new `Workspace'
sub-menu.

- `rename-window' function behavior-change [Christopher
Bratusek] The function `rename-window' does now also change
the _NET_WM_VISIBLE_NAME property of a window.

- Translation related changes [Teika Kazura]

+ Added translator instructions in `po/README' file.

+ Before you run `po/make-pot' to generate `sawfish.pot',
you now have to do `make all' at the top directory.
Previously it was possible to produce wrong
`sawfish.pot'.

+ The Spanish translation has been updated [gnome-es
translation-team]

+ The German translation has been updated [gnome-de
translation-team]

+ The Simplified-Chinese translation has been updated
[gnome-zh_tw team]

+ The Norwegian/bokmål translation has been
updated [gnome-no team]

+ Updated `sawfish.pot' and subsequently all `*.po'.
Banished some bogus items in `sawfish.pot'.
(Developer's personal extensions had sneaked in.)

- Emacs sawfish-mode now indents `let-fluids' and let-loop
correctly [Teika Kazura]

- Turn `focus-ignore-pointer-events' into an internal variable
(has wrongly been a user-option before) [Teika Kazura]

- Documentations [Teika kazura]
* Section on popup menus is rewritten. (*note Popup
Menus::)

* Correction: The function `commandp' can only take
symbols as its argument. (*note Operations on Commands::)

- SawfishConfig "Window rules" section changes [Teika Kazura]

Category `Placement' is renamed to `Geometry'.  The item
`shade-hover' is moved to `appearance' category, and
`fixed-size' to `geometry'.

- Deletion of outdated features in command definition [Teika
Kazura]

Function `define-command-args' is deleted. In `define-command'
function, the keyword argument `doc-key' is dropped.

Have Fun Flashrider [Christopher Bratusek] 19:29, December 21, 2010 (UTC)


2010 12 10: sawfish 1.7.1 released

Hi fine folks,

a new maintainance release of the 1.7x series, with yet another fancy code-name, is available now.

Sawfish 1.7.1 "Chewing Drum"

Where to get:

Tar/BZ2:http://download.tuxfamily.org/sawfish/sawfish/sawfish-1.7.1.tar.bz2 3,52 MB SHA1SUM:http://download.tuxfamily.org/sawfish/sawfish/sawfish-1.7.1.tar.bz2.sha1

Tar/XZ:http://download.tuxfamily.org/sawfish/sawfish/sawfish-1.7.1.tar.xz 2,36 MB SHA1SUM:http://download.tuxfamily.org/sawfish/sawfish/sawfish-1.7.1.tar.xz.sha1

What's new:


1.7.1 "Chewing Drum"
====================

* Build and Installation
- Fixed installation for non-root users [Stefano Sabatini]
Previously when installing to a private directory as an
ordinary user, the installation failed, because some files
were forced to be installed in /usr. This is fixed now.

- Chooseable session files [Christopher Bratusek] Now you can
choose what session files to install. This is done by a
tripplet of configure-options:

* -with/out-kde4session: enable or disable the
installation of session files for KDE4. Default: enabled

* -with/out-gnome2session: enable or disable the
installation of session files for GNOME2.
Default: enabled

* -with/out-xdmsession: enable or disable the installation
of session files for XDM (or other display-managers like
KDM/GDM). Default: enabled

* Bug Fixes
- Interactive `call-command' [Teika Kazura] Interactive
`call-command' used to print an error-message when cancelled
via pressing escape. It doesn't anymore.

* Misc Changes
- Turn `focus-ignore-pointer-events' into an internal variable
(has wrongly been a user-option before) [Teika Kazura]

Flashrider [Christopher Bratusek] 19:19, December 13, 2010 (UTC)


2010 12 02: sawfish news on twitter

Hi all,

so from now on I'll be posting Sawfish news via my twitter account. (when it's late I rather write a short tweet rather than a long mail to the ML/news on Wiki, so twitter may be some hours ahead them)

You can follow via @nanolx or http://www.twitter.com/nanolx.

Cheers Flashrider [Christopher Bratusek] 19:13, December 13, 2010 (UTC)


2010 10 26: sawfish-pager 0.90.0 released

A new release of the sawfish-pager is available.

Download

Tar/BZ2: http://download.tuxfamily.org/sawfishpager/sawfish-pager-0.90.0.tar.bz2 204 K

SHA1SUM: http://download.tuxfamily.org/sawfishpager/sawfish-pager-0.90.0.tar.bz2.sha1

Tar/XZ: http://download.tuxfamily.org/sawfishpager/sawfish-pager-0.90.0.tar.xz 164 K

SHA1SUM: http://download.tuxfamily.org/sawfishpager/sawfish-pager-0.90.0.tar.bz2.sha1

What's new?

Version 0.90.0 (2010-10-24, Volle Fahrt Voraus)

* added autohiding ability
* renamed the binary to sawfishpager, to get a better WM_CLASS
-- Christopher Bratusek

Have Fun Flashrider [Christopher Bratusek] 17:26, October 28, 2010 (UTC)


2010 10 26: sawfish 1.7.0.1 released

Sawfish-1.7.0.1 is a bug-fix release of Sawfish-1.7.0. It contains:

  • In Sawfish-1.7.0, poweroff related items in the popup menu couldn't be invoked, if run without any desktop environment. Fixed it
  • It is ensured that Sawfish Pager builds correctly, by improving sawfish.pc file.

Download[]

Tar/BZ2
http://download.tuxfamily.org/sawfish/sawfish/sawfish-1.7.0.1.tar.bz2 3,6 MB
SHA1SUM
http://download.tuxfamily.org/sawfish/sawfish/sawfish-1.7.0.1.tar.bz2.sha1
Tar/XZ
http://download.tuxfamily.org/sawfish/sawfish/sawfish-1.7.0.1.tar.xz 2,3 MB
SHA1SUM
http://download.tuxfamily.org/sawfish/sawfish/sawfish-1.7.0.1.tar.xz.sha1


2010 10 02: sawfish 1.7.0 released

Available is Sawfish-1.7.0.1 which fixes 2 minor bugs in 1.7.0. - Teika kazura 05:26, October 26, 2010 (UTC)

In the name of the Sawfish-Team I'm proud to announce the immediate availability of

Sawfish 1.7.0
"Frozen Flame"

"Poweroff" bug and workaround[]

Sawfish-1.7.0 contained a bug where poweroff related items in the popup menu couldn't be invoked, if run without any desktop environment.

You can make it work by adding the following line to your ~/.sawfish/rc:

(require 'sawfish.wm.commands.poweroff)

The fix will be released, too. Sorry for inconvenienc.

Downloads

Tar/BZ2: http://download.tuxfamily.org/sawfish/sawfish/sawfish-1.7.0.tar.bz2 3,56 MB

SHA1SUM: http://download.tuxfamily.org/sawfish/sawfish/sawfish-1.7.0.tar.bz2.sha1

Tar/XZ : http://download.tuxfamily.org/sawfish/sawfish/sawfish-1.7.0.tar.xz 2,38 MB

SHA1SUM: http://download.tuxfamily.org/sawfish/sawfish/sawfish-1.7.0.tar.xz.sha1


What's new?

1.7.0 "Frozen Flame"
====================

   * Update dependencies
        - librep 0.90.5 -> 0.91.0

        - rep-gtk 0.90.2 -> 0.90.4

   * Notes
        - When you report a crash, please add the backtrace, by
          invoking Sawfish with the command line option "--interp".

          Read the file `CONTRIBUTING' for more infos.

        - Prompt API change [Jeremy Hankins]

          If you have code which utilizes prompt, it is affected. When
          you call the function `prompt', directly pass helper functions
          as function arguments. They used to be set as global
          variables.

          This change is straightforward, so it's not difficult to
          update your code. See `sawfish.wm.util.prompt' for details.

        - Mouse-button support state

          Sawfish claimed to support mouse-buttons 1 - 9, but it is
          known that drag of buttons 6 - 8 may not work. The button 9
          doesn't work at all, so we withdraw it.

        - Functions `maybe-raise-window' and `maybe-lower-window' are
          now obsolete. [Teika Kazura]

          Replace them with `raise-window*' and `lower-window*' defined
          in `sawfish.wm.util.stacking'. Only difference is that the
          obsolete version supports a feature of Nautilus (GNOME file
          manager) which was dropped long ago.

   * Build and Installation
        - Configure-option `--with-nine-mousebuttons' is dropped.
          See the item "Keyboard layout switching support" below.

   * Bug Fixes
        - Maximized windows wrongly covering other windows on startup
          [Jeremy Hankins]

          Sometimes maximized windows would overlap "avoided" windows
          (e.g., the gnome-panel, or a trayer) on startup. Sawfish now
          defers maximization until the initialization is complete,
          preventing this problem.

        - Viewport initialization bugfix [Jeremy Hankins]

          Under certain circumstances viewport slots were wrongly
          shifted when Sawfish was restarted, ending up with some
          windows outside of the virtual desktop. This has been fixed.

        - Keyboard-layout switching support [Teika Kazura]

          Previously, when you switched the keyboard-layout, or more
          correctly the keyboard-"group" (which is mainly for
          multilinguals) keyboard- and mouse-bindings got messed-up.

          Now, this can be prevented by invoking Sawfish with the new
          commandline-option `--5-buttons'. It is assumed that modifiers
          are common among keyboard groups.

          More precisely, what's supported is switching by
          `ISO_Next_Group' or similar, bound to a key (for example ctrl
          + alt). It appears as "option" in X keyboard configuration,
          like "grp:ctrl_alt_toggle".  If you use some utility to
          switch the layout and it confuses Sawfish keybindings, please
          restart Sawfish.

          With that commandline-option, you won't be able to bind
          Sawfish commands to mouse buttons 6 - 8. This may be fixed in
          future.

        - Atom handling fix on 32-bit architecture (Java fix). [Teika
          Kazura]

          Function `x-atom-name' now accepts all 32 bits. Previously
          only 30 bits were treated if the architecture was 32-bit.
          64-bit systems hadn't had this bug.

          It used to cause "Bad argument" error, most notably on Java
          applications. (In theory, an atom is set by X server, not a
          client.  But Java applications seem to be affected often by
          this bug.)

        - Applications menu bugfix [Matthew Love]

          Correct alphabetic ordering of menu-entries is done.
          Previously they were sorted [A-Z][a-z] (first all upper- then
          all loser-case entries).

          Also the function for detecting the language has been
          improved. It now better follows the freedesktop.org
          specification.

        - Edge-flip and infinite-desktop now work after
          screen-resolution change. [Christopher Bratusek]

        - Sawfish now starts up correctly when receiving a session-id or
          session-prefix from GNOME-Session [Clinton Ebadi, Christopher
          Bratusek]

        - Draft animator bugfix. [Christopher Bratusek]

          The "draft" animator had two issues: on one hand the drawn
          numbers were always black (therefore possibly invisible), on
          the other hand those numbers weren't erased from the screen.
          Both have been fixed. Internally, it's done by the new
          `x-draw-text' function described below.

        - Resurrection of two variables [Teika Kazura]

          User options `workspace-boundary-mode' and
          `workspace-send-boundary-mode' couldn't be set from the
          configurator, but this is fixed.

        - Command `xterm' fix [Teika kazura]
          It couldn't be invoked as a key binging if the optional
          "command" argument was unset by the configurator, i.e. an
          empty string.

   * New Features
        - Desktop-environment integration [Christopher Bratusek]

          Support for XFCE integration was added. It's just like
          GNOME/KDE4 integration: it sets `xterm-program' and
          `browser-program' (unless already set by user), and adds XFCE
          logout/help/customization menu-entries to the Sawfish
          root-menu.

          Improvements: All menu-entries for GNOME/KDE4 do now have
          accelerators. Entries for invoking `gnome-control-center' or
          KDE `systemsettings' have been added. The KDE4 detection has
          been improved. See also the item "Applications menu
          improvements" below.

          A new variable `desktop-environment' tells which desktop
          environment is running (*note External Applications::).

        - Applications menu improvements [Matthew Love]

          Applications menu now looks more like that of GNOME / KDE /
          XFCE if one is running. (further improvements are planned)

          The user option `apps-menu-ignore-no-display' is now gone and
          replaced by `apps-menu-show-all'.

          If `apps-menu-show-all' is `nil' (default), the menu looks
          much like that of GNOME / KDE / Xfce, by hiding some
          applications. If it's `t', then all installed applications are
          shown. An intermediate option, the symbol `maybe' is
          possible, as described below.

          Technically, fields `NotShowIn' and `OnlyShowIn' in files
          `/usr/share/applications/*.desktop' tell under which desktop
          environment that application wants to be shown. If
          `apps-menu-show-all' is `nil' or `maybe', they are respected.

          Items with field `Hidden' or `NoDisplay' are usually not to
          be shown. They are respected if `apps-menu-show-all' is `nil'.

          The KDE specific directory is now searched, too while menu
          generation.

        - New window rules [Christopher Bratusek]

             * `fixed-size': this disables resizing, or more precisely,
               functions `resize-window-interactively',
               `halve-window-size' and `double-window-size'.
               (Maximization is still possible.  Use `never-maximize'
               to prevent maximization.)

             * `never-close': this disables closing. Only interactive
               closing is prevented, and you can delete windows with
               `never-close' property from a lisp program.

        - Update of emacs major mode `sawfish.el' [Teika kazura]

          It is now distributed with Sawfish window manager.
          Improvements are:

             * Evaluation used to choke when it encountered `#f' or
               `#t'. This is fixed.

             * Highlighting of the keywords like `define' works again.

             * `describe-function' have been broken, but it works again.

             * In `describe-variable', the value of the variable is
               pretty-printed.

             * `sawfish-load-symbols' can be called interactively to
               update the cached symbols.

             * Better introductory part.

        - New frame-parts `border-width' and `border-color' [Alexey I.
          Froloff]

          A "border" of a window surrounds the window and all other
          frame parts. (*note Frame Part Definition::)

        - New commandline-option `--5-buttons'
          See the item "Keyboard-layout switching support" above.

        - `x-draw-text' function [Christopher Bratusek]

          It is similar to `x-draw-string'. Generally, if you use a
          `display-message' like message, call `x-draw-string'.  If you
          want to draw on the screen directly use `x-draw-text' (*note
          X Drawing::.)

   * Translation updates

     Updated translations since 1.6.0 are Danish (da), British English
     (en_GB), German (de), Spanish (es), Slovenian (sl), and Swedish
     (sv).

     All translation files are now in UTF-8. Changed languages are
     Galician (gl), Italian (it), Romanian (ro), and Turkish (tr). The
     rest were already UTF-8. [Teika Kazura]

   * Miscellaneous Changes
        - More error and backtrace printing [Teika Kazura]

          Due to librep >= 0.91.0, the backtrace is printed by default
          when an error was signaled. It is printed for sawfish-client,
          too, but it's sent to Sawfish's standard error, not to
          sawfish-client's, sorry.

          Phrase "Sawfish error:" is prepended to error messages which
          are printed to standard error.

          Sawfish-pager's errors are printed to Sawfish's output. More
          precisely, when you connected to Sawfish as a server
          asynchronously, then the error was not printed. But now it is
          printed, to Sawfish's output. (In contrast, a client which
          connects synchronously receives the error message itself.)

        - Pointer warping in window cycling [Teika Kazura]

          In window cycling, some unnecessary pointer warping is
          avoided.  Previously, the necessity of a warp was judged by
          the geometry before the raise was done. Now the updated one
          is used.

        - Configurator changes (user visible parts) [Christopher
          Bratusek]

          Icon is now provided. (If it doesn't show up, first run
          `gtk-update-icon-cache'.)

          If you run the configurator but the Sawfish window manager is
          not running, then an alert window is displayed before
          abortion. [Teika Kazura, Christopher Bratusek]

          Two obsolete features are deleted. One is the command line
          option `--socket-id', which was for "capplets", part of very
          early GNOME 2.x. The other is the command line option
          `--single-level' which has been broken.

        - Doc improvements

          FAQ items, on how to hide the mouse-pointer, and on
          application execution.
          Manuals (1) describe all options. KEYBINDINGS file was revised

          Newly described functions are: `grab-keymap' and
          `ungrab-keymap' (*note Keymaps::), `x-raise-window' and
          `x-lower-window' (*note Raising and Lowering Windows::),
          `frame-state-mutex' (*note Frame Functions::).

        - Root-Menu improvements [Christopher Bratusek]

          All menu-entries do now have accelerators. Labels for help
          entries have been improved.

        - Configurator internals [Christopher Bratusek]

          The module `widget-test' is deleted. It provided testing
          function of widgets in modules `sawfish.gtk.*'. But allegedly
          it is broken and crashed Sawfish.

          `widget-dialog.jl' was merged into `simple-dialog.jl'

          Previously the functions `remove-newlines' and
          `beautify-symbol-name' were defined in several modules, with
          the same contents. Now they are defined (only once) in a new
          module `sawfish.cfg.utils'.

          The `stock-button' function was defined in Sawfish, but now
          it's replaced by directly using `gtk-button-new-from-stock'.
          Same for the `about-dialog' function, replaced (in version
          1.6.0) by `gtk-about-dialog'.

          `/usr/bin/sawfish-config' is now minimal, moving most of it's
          content to `sawfish.cfg.shell' [Teika Kazura]

        - Module `3d-hack' is deleted. [Christopher Bratusek]

          The `3d-hack' module was an animation demo, not a feature. It
          provided two functions similar to `glxgears', rendered in 2d.
          If you want it, it can be downloaded from the Sawfish Wiki,
          from the page "3d-hack".

Have Fun, Flashrider [Christopher Bratusek] 14:03, October 2, 2010 (UTC)


2010 10 02: sawfish-pager 0.7.5 released

SawfishPager 0.7.5 "Tori-oi" is available for download now!

Download

Tar/BZ2: http://download.tuxfamily.org/sawfishpager/sawfish-pager-0.7.5.tar.bz2 204 K

SHA1SUM: http://download.tuxfamily.org/sawfishpager/sawfish-pager-0.7.5.tar.bz2.sha1

Tar/XZ: http://download.tuxfamily.org/sawfishpager/sawfish-pager-0.7.5.tar.xz 164 K

SHA1SUM: http://download.tuxfamily.org/sawfishpager/sawfish-pager-0.7.5.tar.bz2.sha1

What's new?

Version 0.7.5 (2010-10-02, 鳥追い Tori-oi)

     * New or updated requirements:
        + sawfish 1.6.1 -> 1.7.0
     * Modernize SawfishPager:
       - replace gtk_signal_connect by g_signal_connect
       - replace GTK_SIGNAL_FUNC by G_CALLBACK
       - replace GtkSignalFunc by GCallback
       - replace gdk_draw_pixmap by gdk_draw_drawable
       - replace gdk_pixmap_unref by g_object_unref
       - replace gdk_color_alloc by gdk_colormap_alloc_color
       - replace gdk_display by gdk_display_get_default
     * added the abbility to change the current workspace or
       viewport (user-choosable, workspace is default) by
       scrolling the mouse-wheel over the pager
                -- Christopher Bratusek

     * Indifferent pager fix
       Pager did not respond to clicks / print tooltip if you require
       the pager module somewhere else from ~/.sawfish/rc. This is fixed.
     * New option 'pager-output-stream'.
     * README and INSTALL are not useless any more.
                -- Teika kazura

Have Fun, Flashrider [Christopher Bratusek] 13:59, October 2, 2010 (UTC)


2010 09 25: librep 0.91.0 released

a new stable release of librep is available for download now.

Where to get it?

Tar/BZ2: http://download.tuxfamily.org/sawfish/librep/librep-0.91.0.tar.bz2 625 K

SHA1SUM: http://download.tuxfamily.org/sawfish/librep/librep-0.91.0.tar.bz2.sha1

Tar/XZ : http://download.tuxfamily.org/sawfish/librep/librep-0.91.0.tar.xz 580 K

SHA1SUM: http://download.tuxfamily.org/sawfish/librep/librep-0.91.0.tar.xz.sha1

What's new?

0.91.0
======

   * Update note [important]:

     You need to rebuild rep-gtk and sawfish against this version of
     librep, because of an ABI-change.

     Your lisp files have to be byte-compiled again, too.

   * Halfway improved `debug-on-error' and `backtrace-on-error' [Teika
     Kazura]

     Previously, setting these values to `t' triggered the debugger /
     backtracer even if the error was signalled inside of
     `condition-case'.  This behavior can still be obtained by setting
     them to the symbol `always'.

     Now, if they're `t', the debugger / backtracer is invoked only if
     the control is not inside of any `condition-case'. Notice that the
     condition is NOT if the error is actually handled by an error
     handler. It is not the best, but we can't improve it.

     The default value of `backtrace-on-error' is now `t'.

   * When you evaluate a closure interactively, the module it belongs
     to is printed, too. [Teika kazura]

   * Improved functions' docstring support [Teika Kazura]

     Handling of functions' docstring is improved. The revised
     `documenation' function is ensured to return the docstring of
     functions, macros, and special forms (*note Docstrings::).

     Previously, fuctions' docstrings of byte-compiled user-files (eg:
     pager.jlc) were lost, but not now.

   * New function `subr-structure' [Teika Kazura]
     It returns the module a subr belongs to.

   * Major documentation revision [Teika kazura]

     Reorganized documentation files. Many capital letter name files
     were updated or merged into the info.

     New entries: *Note Crash course for Elisp users::, *Note
     Closures::, on leading tilde in a filename and tarball access
     (*note File Handlers::), fully revised the module section (*note
     Modules::), improved description on invocation (*note
     Invocation::), improved "fluid" and `let' descriptions (*note
     Fluid Variables::, and *note Local Variables::), improved the read
     syntax of character (*note Characters::). Module names are
     supplied for all functions.

     Supplied documentation to some functions: Input stream functions
     `peek-char', `read-char' (*note Input Functions::), list functions
     `remove-if', `remove-if-not' (*note Mapping Functions::),
     `table-size' (*note Hash Tables::), `setcar', `setcdr' and `cdddr'
     family (*note Cons Cells::), `assoc-regexp' (*note Association
     Lists::).

   * `define-special-variable' is replaced by `defvar-setq' [Teika
     kazura]

     The former is still valid, but it's a very confusing name,
     therefore the latter is introduced.

   * Makefile's uninstall rule has been fixed [Christopher Bratusek]

spec-file hotfix

diff --git a/librep.spec.in b/librep.spec.in
index a968b2c..854ee11 100644
--- a/librep.spec.in
+++ b/librep.spec.in
@@ -4,10 +4,11 @@ Release: 1%{?dist}
 Summary: An embeddable LISP environment
 License: GPLv2+
 Group: Development/Languages
-Source: http://download.sourceforge.net/librep/librep-%{version}.tar.bz2
-URL: http://librep.sourceforge.net/
-Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root
+Source0: http://download.tuxfamily.org/sawfish/%{name}/%{name}-%{version}.tar.bz2
+URL: http://sawfish.wikia.com/
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires: gmp-devel, gdbm-devel, readline-devel, libffi-devel, texinfo
+BuildRequires: chrpath
 
 %if %{?_emacs_sitelispdir:1}%{!?_emacs_sitelispdir:0}
 %define emacs_lispdir %{_emacs_sitelispdir}
@@ -46,14 +47,13 @@ nicely interacts and integrates into emacs.
 
 %build
 %configure --with-readline --enable-shared --disable-static
-sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
-sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
 make %{?_smp_mflags}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 make install DESTDIR=$RPM_BUILD_ROOT
 rm -f $RPM_BUILD_ROOT%{_infodir}/dir
+chrpath --delete $RPM_BUILD_ROOT%{_bindir}/rep
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -71,8 +71,9 @@ fi
 
 %files
 %defattr(-,root,root,-)
-%doc NEWS README THANKS TODO BUGS TREE HACKING
+%doc NEWS README TODO
 %dir %{_libdir}/rep/
+%dir %{_libdir}/rep/%{version}/
 %{_bindir}/rep
 %{_bindir}/rep-remote
 %{_datadir}/rep/
@@ -99,6 +100,10 @@ fi
 %{emacs_lispdir}/*.el
 
 %changelog
+* Sat Sep 25 2010 Kim B. Heino <b@bbbs.net> - 0.91.0-1
+- fix rpath again
+- fix doc-files, url, misc fixes
+
 * Sun Jan 10 2010 Kim B. Heino <b@bbbs.net> - 0.90.6-1
 - fix devel package, fix rpmlint warnings

Have fun, Flashrider [Christopher Bratusek] 08:55, September 25, 2010 (UTC)


2010 09 25: rep-gtk 0.90.4 released

a new stable release of rep-gtk is available

Where to get it?

Tar/BZ2: http://download.tuxfamily.org/sawfish/rep-gtk/rep-gtk-0.90.4.tar.bz2 263 K

SHA1SUM: http://download.tuxfamily.org/sawfish/rep-gtk/rep-gtk-0.90.4.tar.bz2.sha1

Tar/XZ : http://download.tuxfamily.org/sawfish/rep-gtk/rep-gtk-0.90.3.tar.xz 230 K

SHA1SUM: http://download.tuxfamily.org/sawfish/rep-gtk/rep-gtk-0.90.3.tar.xz.sha1

What's new?


* BUGS
* HACKING
* MAINTAINERS
* README
* README-GTK-2
* README.gtk-defs: Doc update. Deleted obsolete references to
gnome and guile. Files 'BUGS', 'HACKING' and 'MAINTAINERS' are
merged to 'README'. File 'README-GTK-2' is deleted.

	*************** gtkwidget.h *******************
	gtk_widget_set_no_show_all
	gtk_widget_get_no_show_all
	gtk_widget_queue_resize_no_redraw
	gtk_widget_set_accel_path
	gtk_widget_list_accel_closures
	gtk_widget_can_activate_accel
	gtk_widget_mnemonic_activate
	gtk_widget_send_expose
	gtk_widget_intersect
	gtk_widget_region_intersect

	*************** gdkregion.h ********************
	GdkFillType [enum]
	GdkOverlaType [enum]
	GdkRegion [boxed]

	*************** gtkwindow.h *******************
	gtk_window_set_startup_id
	gtk_window_get_position
	gtk_window_set_focus
	gtk_window_get_focus
	gtk_window_set_opacity
	gtk_window_get_opacity
	gtk_window_set_type_hint
	gtk_window_get_type_hint
	gtk_window_set_skip_taskbar_hint
	gtk_window_get_skip_taskbar_hint
	gtk_window_set_skip_pager_hint
	gtk_window_get_skip_pager_hint
	gtk_window_set_urgency_hint
	gtk_window_get_urgency_hint
	gtk_window_set_accept_focus
	gtk_window_get_accept_focus
	gtk_window_set_focus_on_map
	gtk_window_get_focus_on_map
	gtk_window_set_gravity
	gtk_window_get_gravity
	gtk_window_set_screen
	gtk_window_get_screen
	gtk_window_is_active
	gtk_window_has_toplevel_focus
	gtk_window_get_frame_dimensions
	gtk_window_set_deletable
	gtk_window_get_deletable
	gtk_window_set_icon
	gtk_window_set_icon_name
	gtk_window_set_icon_from_file
	gtk_window_get_icon
	gtk_window_get_icon_name
	gtk_window_set_default_icon
	gtk_window_set_default_icon_name
	gtk_window_set_default_icon_from_file
	gtk_window_set_auto_startup_notification
	gtk_window_present_with_time
	gtk_window_fullscreen
	gtk_window_unfullscreen
	gtk_window_set_keep_above
	gtk_window_set_keep_below
	gtk_window_begin_resize_drag
	gtk_window_begin_move_drag
	gtk_window_get_default_size
	gtk_window_get_size
	GtkWindowGroup [object]
	gtk_window_get_group
	gtk_window_group_new
	gtk_window_group_add_window
	gtk_window_group_remove_window
	== GtkWindow 2.12 API complete ==

	************** gdkwindow.h ********************
	GdkWindowTypeHint [enum]
	GtkGravity [enum]
	GdkScreen [object]
	GdkWindowEdge [enum]

spec-file hotfix

diff --git a/rep-gtk.spec.in b/rep-gtk.spec.in
index b21cf52..674946a 100644
--- a/rep-gtk.spec.in
+++ b/rep-gtk.spec.in
@@ -5,9 +5,9 @@ Summary: GTK+ binding for librep Lisp environment
 Requires: librep >= @REP_MIN_VER@, gtk2 >= @GTK_MIN_VER@
 License: GPLv2+
 Group: Development/Languages
-Source: http://download.sourceforge.net/rep-gtk/rep-gtk-%{version}.tar.bz2
-URL: http://rep-gtk.sourceforge.net/
-Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root
+Source0: http://download.tuxfamily.org/sawfish/%{name}/%{name}-%{version}.tar.bz2
+URL: http://sawfish.wikia.com/
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires: librep-devel, glib2-devel, cairo-devel, gtk2-devel
 
 %description
@@ -43,7 +43,7 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr (-,root,root,-)
-%doc README* examples/  TODO NEWS HACKING AUTHORS BUGS ChangeLog gtk.defs gdk.defs
+%doc examples/* NEWS README* TODO gtk.defs gdk.defs
 %{_libdir}/rep/%{_host}/gui
 
 %files devel
@@ -52,6 +52,9 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/pkgconfig/rep-gtk.pc
 
 %changelog
+* Sat Sep 25 2010 Kim B. Heino <b@bbbs.net> - 0.90.4-1
+- fix doc-files, url, misc fixes
+
 * Sun Jan 10 2010 Kim B. Heino <b@bbbs.net> - 0.90.3-1
 - fix devel package, fix rpmlint warnings

Have fun, Flashrider [Christopher Bratusek] 08:53, September 25, 2010 (UTC)


2010 05 28: rep-gtk 0.90.3 released

Hi all,

a new release of rep-gtk is available now.


Download

Tar/BZ2: http://download.tuxfamily.org/sawfish/rep-gtk/rep-gtk-0.90.3.tar.bz2 562 K

Tar/XZ : http://download.tuxfamily.org/sawfish/rep-gtk/rep-gtk-0.90.3.tar.xz 397 K


What's new?

0.90.3:
small bugfixes [Vincent Untz]
improved spec [Kim B. Heino]
SCM_CDR/SCM_CAR >> rep_CDR/rep_CAR [Alexey I. Froloff]

Added APIs:
	* gtktree.defs:
	*************** gtkliststore.h ***************
	gtk_list_store_remove
	gtk_list_store_insert
	gtk_list_store_insert_before
	gtk_list_store_insert_after
	gtk_list_store_prepend
	gtk_list_store_append
	gtk_list_store_clear
	gtk_list_store_iter_is_valid
	gtk_list_store_reorder
	gtk_list_store_swap
	gtk_list_store_move_after
	gtk_list_store_move_before
	== GtkListStore 2.12 API complete ==
	************** gtktreeview.h ******************
	GtkTreeViewColumnDropFunc [boxed]
	GtkTreeViewMappingFunc [boxed]
	GtkTreeViewSearchEqualFunc [boxed]
	GtkTreeViewDropPosition [enum]
	gtk_tree_view_append_column
	gtk_tree_view_remove_column
	gtk_tree_view_insert_column
	gtk_tree_view_get_column
	gtk_tree_view_move_column_after
	gtk_tree_view_set_expander_column
	gtk_tree_view_get_expander_column
	gtk_tree_view_set_column_drag_function
	gtk_tree_view_scroll_to_point
	gtk_tree_view_scroll_to_cell
	gtk_tree_view_row_activated
	gtk_tree_view_expand_all
	gtk_tree_view_collapse_all
	gtk_tree_view_expand_to_path
	gtk_tree_view_expand_row
	gtk_tree_view_collapse_row
	gtk_tree_view_map_expanded_rows
	gtk_tree_view_row_expanded
	gtk_tree_view_set_reorderable
	gtk_tree_view_get_reorderable
	gtk_tree_view_set_cursor
	gtk_tree_view_set_cursor_on_cell
	gtk_tree_view_get_cursor
	gtk_tree_view_get_bin_window
	gtk_tree_view_get_path_at_pos
	gtk_tree_view_get_cell_area
	gtk_tree_view_get_background_area
	gtk_tree_view_get_visible_rect
	gtk_tree_view_get_visible_range
	gtk_tree_view_enable_model_drag_source
	gtk_tree_view_enable_model_drag_dest
	gtk_tree_view_unset_rows_drag_source
	gtk_tree_view_unset_rows_drag_dest
	gtk_tree_view_set_drag_dest_row
	gtk_tree_view_get_drag_dest_row
	gtk_tree_view_get_dest_row_at_pos
	gtk_tree_view_create_row_drag_icon

	gtk.defs:
	*************** gtkselection.h ************
	GtkTargetEntry [boxed]

	gdk.defs:
	GdkDragAction [enum]
	GdkPixmap [object]
	GdkBitmap [boxed]
	build gdk_gc_set_tile
	build gdk_gc_set_stipple
	build gdk_gc_set_clip_mask

Have fun! Flashrider [Christopher Bratusek] 06:10, August 15, 2010 (UTC)


2010 05 28: librep 0.90.6 released

Hi all,

a new maintainance release of librep is available now.


Where to get it?

Tar/BZ2: http://download.tuxfamily.org/sawfish/librep/librep-0.90.6.tar.bz2 669 K

Tar/XZ : http://download.tuxfamily.org/sawfish/librep/librep-0.90.6.tar.xz 596 K


What's new?

   * renamed `file-uid-p' to `file-uid' and `file-gid-p' to `file-gid'
     [Christopher Bratusek]

   * Minor doc improvements [Teika Kazura]

     Describes functions `signal' and `string-split'. Correction in
     suffix handling of `load' function. More details on the function
     `require'.

   * improved specfile [Kim B. Heino]

   * Process execution failure emits better message. [Teika Kazura]

Have fun! Flashrider [Christopher Bratusek] 06:08, August 15, 2010 (UTC)


2010 06 21: sawfish 1.6.3.1 released

Hi folks,

Sawfish 1.6.3.1 "Acid Folk" is available for download.

Downloads

Tar/BZ2: http://download.tuxfamily.org/sawfish/sawfish/sawfish-1.6.3.1.tar.bz2 3,55 MB

Tar/BZ2 SHA1: http://download.tuxfamily.org/sawfish/sawfish/sawfish-1.6.3.1.tar.bz2.sha1

Tar/XZ : http://download.tuxfamily.org/sawfish/sawfish/sawfish-1.6.3.1.tar.xz 2,38 MB

Tar/XZ SHA1: http://download.tuxfamily.org/sawfish/sawfish/sawfish-1.6.3.1.tar.xz.sha1

What's New?


1.6.3.1 "Acid Folk"
===================

   * Fixed a possible compilation-error in prompt.jl [Harald van Dijk]

     If Sawfish 1.6.3 compiled without error, then you don't have to
     update.

Happy Hacking! Flashrider [Christopher Bratusek] 09:27, June 27, 2010 (UTC)


2010 06 21: sawfish-pager 0.7.4 released

SawfishPager "NuStyle" just awaits to be downloaded!

Get it

Tar/BZip2: http://download.tuxfamily.org/sawfishpager/sawfish-pager-0.7.4.tar.bz2

Tar/BZip2 SHA1: http://download.tuxfamily.org/sawfishpager/sawfish-pager-0.7.4.tar.bz2.sha1

Tar/XZ: http://download.tuxfamily.org/sawfishpager/sawfish-pager-0.7.4.tar.xz

Tar/XZ SHA1: http://download.tuxfamily.org/sawfishpager/sawfish-pager-0.7.4.tar.xz.sha1

NEWS


Version 0.7.4 (2010-06-21, Nu Style)

     * removed some unused bits of code (Christopher Bratusek)

     * fixed a bug regarding bad-closures beeing produces by sticky windows
     * fixed a bug that caused sticky windows to not show up if:
          pager-stickies-on-all-viewports is nil
        + pager-stickies-on-all-workspaces is t
                -- Jeremy Hankins


Have Fun! Flashrider [Christopher Bratusek] 09:24, June 27, 2010 (UTC)


2010 05 29: Compilation fix for sawfish 1.6.3

See 2010 05 22: sawfish 1.6.3 released. (It's impossible to make this page both as a redirect and a news.)


2010 05 22: sawfish 1.6.3 released

Hi folks,

sawfish 1.6.3 "Hava Nagila" is now officially available!

Compilation fix[]

Compilation error fix: Not always, but compilation of Sawfish-1.6.3 fails. To fix it, apply this patch:

diff --git a/lisp/sawfish/wm/util/prompt.jl b/lisp/sawfish/wm/util/prompt.jl
index 96906f5..db436fd 100644
--- a/lisp/sawfish/wm/util/prompt.jl
+++ b/lisp/sawfish/wm/util/prompt.jl
@@ -57,7 +57,8 @@
 	  sawfish.wm.events
 	  sawfish.wm.custom
 	  sawfish.wm.commands
-	  sawfish.wm.fonts)
+	  sawfish.wm.fonts
+	  sawfish.wm.util.prompt)
 
   (defgroup messages "Messages" :group misc)
 

Our maintainer is gone for a while, so we can't release a fixed version. Sorry for inconvenience. (We're human! :) I think we can release the 1.6.4 by the end of June. - Teika kazura 04:21, May 29, 2010 (UTC)

Downloads[]

Tar/BZ2: http://download.tuxfamily.org/sawfish/sawfish/sawfish-1.6.3.tar.bz2 3,55 MB

Tar/XZ : http://download.tuxfamily.org/sawfish/sawfish/sawfish-1.6.3.tar.xz 2,37 MB


What's New?[]

1.6.3 "Hava Nagila"
===================

   * Bugfixes
        - In tabbed-windows the left/right end is no longer outside the
          window, if that is too small [Fuchur]

        - Unsupported option `ignore-window-input-hint' is deleted
          which has been invalid for long. [Teika kazura]

        - Honor the user option `maximize-raises' in
          `maximize-window-fullscreen' and
          `maximize-window-fullxinerama', too, not just in
          maximize-window [Nolan Leake]

        - More robustness in applications menu [Teika Kazura, Matthew
          Love]

          Before it broke for 'R' (statistics software), and whitespace
          handling didn't follow the specification.

          Some *.desktop files are not ignored any more either, i.e.,
          leading empty lines and comments are allowed.

        - Allow compilation with -DDEBUG flag passed [Alexey I. Froloff]

   * New Features
        - XRandR events (eg resolution changes) call the new hook
          `randr-changed-notify-hook' [Daniel M. German]
          See *Note RandR and Xinerama::.

        - Tabbed windowing system improvements [Fuchur]
             + Support for transient tab-frames

             + New frame classes:
                  x tab-s (side tab)

                  x tab-ls (side tab, left/bottom end)

                  x tab-rs (side tab, right/top end)

             + Tabgroups now support a set of new properties and
               actions: `type', `set-frame-style', `fixed-position',
               `iconify'. In addition, new tabs gain those properties
               from their parent window.

        - New command `display-window-position' [Teika kazura]

          User chooses a window by cursor and click, and it prints its
          position and size in a popup. Also available as a function,
          defined in `sawfish.wm.util.display-wininfo'.

        - New function `window-pid' [Teika kazura]

          It returns the process ID of a window. (*note Window
          Attributes::

        - Window instance name is now accessible [Teika kazura]

          Technically, the window class consists of "instance" and
          "class", but only the latter was returned previously by the
          function `window-class'. Now with the new optional argument,
          the instance is returned too. (*note Window Attributes::)

        - Customizable lisp directory [Teika kazura]

          User can add lisp directories to be read with the
          environmental variable `SAWFISH_USER_LISP_DIR'. Its value is
          directories separated by colon, like `PATH', and prepended to
          `load-path'. If not set, `~/.sawfish/lisp' is assumed.  For
          example, if you define a module `sawfish.wm.super-hack', then
          it can be read from
          `~/.sawfish/lisp/sawfish/wm/super-hack.jl'.

          User can override system lisp files, too. For example, if
          there is `~/.sawfish/lisp/sawfish/wm/windows.jl', then it
          defines `sawfish.wm.windows', instead of the installed one.
          (But this can easily break your Sawfish startup.) In fact, it
          was possible for some lisp files, but now it's guaranteed for
          all files.

   * Other Changes
        - Info improvements [Teika kazura]
             + "Windows" chapter is partly revised. Function
               `display-window' is documented. Difference between
               `window-wants-input-p' and `window-really-wants-input-p'
               is described. Short description on the root window.

             + In past few versions we made more changes which were not
               described in the news, including clarification in
               viewport, workspace and event, and window matching lisp
               functions.

             + Added a faq item on multi-head and workspace.

             + Edition number and the date of last change are dropped
               from the info.  We now edit the info often, so they are
               not so much meaningful.

        - Pressing the lock-button does the state-change of the window
          accordingly. [Fuchur]
          No theme shipped with Sawfish does have the lock-button yet,
          though.

        - Make xinerama an optional dependency [original patch from
          Gentoo]

Have Fun!

Flashrider [Christopher Bratusek] 15:03, May 22, 2010 (UTC)


2010 02 16: sawfish 1.6.2 released

Hi dear fellows,

Sawfish 1.6.2 is now officially available!

Downloads

=========

* from this release on we provide Tar/BZ2 and Tar/XZ tarballs

* Tar/XZ is ~30% smaller but not all distros shipp the decompression utils

* Moreover all downloads moved from SF to Tuxfamily, caused by the idiotic US laws

* caused SF to deny access from several "evil" countries. Tuxfamily is a french

* service -> therefore we are "save" here.

Tar/BZ2: http://download.tuxfamily.org/sawfish/sawfish/sawfish-1.6.2.tar.bz2 3,54 MB

Tar/XZ : http://download.tuxfamily.org/sawfish/sawfish/sawfish-1.6.2.tar.xz 2,37 MB

What's New?

===========

1.6.2 "Mighty Disco King"
=========================

   * The 1.6.2 release has some improvements.

   * Bugfixes
        - Application menu is more robust now.  [Matthew Love,
          Christopher Bratusek]

          Application menu, introduced in 1.6.0, made Sawfish crash if
          `*.desktop' file had a malformed key value (say ; as first
          character or # somewhere inside), or it was unreadable. It is
          fixed.

        - Minor fix of window placement by direction [Teika kazura]

          When the window placement mode is for example `east' and the
          window is wider than the screen, then the window was put
          wrongly. It is fixed.

   * New features
        - New command `maximize-discard' [Teika kazura]

          The command `maximize-discard' stops a maximized window to be
          treated as maximized any more, so that you can move and
          resize the window.

          The functinon `maximize-discard' has existed, and now it's
          exported.

        - New command `jump-or-exec' [Christopher Bratusek]

          The user uploaded module "jump-or-exec" has been merged. It
          provides `jump-or-exec', a command which may be used to focus
          a window, or if it does not exist, start the application.

          Unlike the original version this one also supports matching a
          window by its class (returned by `window-class' function),
          which makes it more flexible for applications like music
          player or browsers, which tend to change their WM_NAME
          relatively often.

          For usage, see `lisp/sawfish/wm/commands/jump-or-exec.jl'
          file.

   * Misc
        - Improved ebuild and specfile [Christopher Bratusek] [Kim B.
          Heino]

        - Updated documentation [Christopher Bratusek] [Teika Kazura]

        - Removed `frame-style-editable-p' and all other remaining
          sawfish-themer fragments, as it's dead. [Christopher Bratusek]

Have Fun,

Flashrider [Christopher Bratusek] 10:23, February 16, 2010 (UTC)


2010 02 08: Downloads moved to Tuxfamily

Hi folks,

just wanted to point out that the tarballs have made their way from SF to Tuxfamily.

The two major reasons:

  • The ugly and slow SF interface
  • The US-Law forcing SF to exclude several countries
    • (Yes, I've already read the current solution, but that is even dumper (now the project-maintainers have to know the US-Laws))
    • Tuxfamily is in France, so we're safe here :)
librep:
http://download.tuxfamily.org/sawfish/librep/

rep-gtk:
http://download.tuxfamily.org/sawfish/rep-gtk/

sawfish:
http://download.tuxfamily.org/sawfish/sawfish/

Actually the SF projects are still up and running, but I'll remove them in 1 - 2 weeks (when I got nothing else to do).

Happy Hacking, Flashrider [Christopher Bratusek] 15:54, February 8, 2010 (UTC)


2010 01 24: sawfish-pager 0.7.3 released

Sawfish-Pager "Ti Ta TNT" just awaits to be downloaded!

Get it

======

Tar/BZip2: http://download.tuxfamily.org/sawfishpager/sawfish-pager-0.7.3.tar.bz2

Tar/XZ: http://download.tuxfamily.org/sawfishpager/sawfish-pager-0.7.3.tar.xz

NEWS

====

Version 0.7.3 (2010-01-24, Ti Ta TNT)

     * added autogen.sh
     * added configure script
     * added sawfish-pager.pc
     * major Makefile.in rework
     * improved debian packaging scripts
	-- Christopher Bratusek

     * set window-type to dock (Eli Barzilay)

     * ignore the desktop-window (Eli Barzilay)

     * -DFRAMEOVER is now invalid, hardcoded (Christopher Bratusek)

     * added an ebuild (fuchur)

     * added an specfile (Kim B. Heino)

Have Fun,Flashrider [Christopher Bratusek] 18:26, January 25, 2010 (UTC)


2010 01 17: sawfish-pager now on Tuxfamily

The Sawfish-Pager switched from SourceForge to Tuxfamily.

The major reason for the change was that I wanted to add a GIT Repo for sawfish-pager and the release-tarballs should have been hosted on the same server. Of course I could also have used SourceForge, but I dislike their webinterface (and I'm not the only one). So I decided to put it on Tuxfamily, as I'm already familar with it.

So you can now find all release-tarballs from 0.1 'till 0.7.2 here:

http://download.tuxfamily.org/sawfishpager/

In addition, you can now (finally) access Sawfish-Pager GIT via:

git clone git://git.tuxfamily.org/gitroot/sawfishpager/pager.git

In fact the SourceForge project does still exist, but I'm going to remove it the next days and entirely rely on Tuxfamily for Sawfish-Pager.

Have Fun, Flashrider [Christopher Bratusek] 20:50, January 17, 2010 (UTC)


2010 01 08: sawfish-pager 0.7.2 released

Hi all,

a new version of sawfish-pager is available in stores now.

Where to get it?

================

https://sourceforge.net/projects/sawfish-pager/files/pager/0.7.2/

What's new?

===========

Version 0.7.2 (2010-01-08, Teqnology)

     * sawfish-pager now depends on Sawfish 1.6.1 as we do now include
       the sawfish-client header directly

     * sawfish-pager now depends on librep 0.90.5 as it fixes the issue
       that users don't see strings from pager.jlc in sawfish-config,
       while they do from pager.jl

     * majorly revised Makefile

     * the following defines are no longer valid:
		+ USE_SAWFISH_LIBCLIENT
		+ HAVE_GTK2
       they are hardcoded to be default from now on.
       the frameover feature is still optional and can be enabled by
       passing -DFRAMEOVER
       to `make'.

     * sawfish.pc is now beeing used to detect which imageloader
       (gdk-pixbuf-xlib or imlib1) to use (-DHAVE_GDK_PIXBUF is set
       accordingly)

     * Fixed a bug where the pager doesn't display windows in the
       proper viewport [Jeremy Hankins]
============================================================[]

Have fun,

Flashrider [Christopher Bratusek] 20:02, January 8, 2010 (UTC)


2010 01 08: sawfish 1.6.1 released

Hi all,

Scared about unconfigurable, feature-ressistant window-managers? Have no fear, WindowManager Hero X is here and with him the Sawfish-Crew (Kupo)!

And they present you:

Sawfish 1.6.1 "Astral"

Where to get it?

================

https://sourceforge.net/projects/sawmill/files/sawfish/1.6.1/

What's new?

===========

1.6.1 "Astral"
==============

   * The 1.6.1 release brings several bugfixes and improvements

   * Build and Installation
        - New/Updated requirements:
             + librep 0.90.4 -> 0.90.5

             + rep-gtk 0.90.0 -> 0.90.2

        - The configure option `--without-nine-mouse-buttons' is not
          allowed to have 4 hyphens, therefore it's renamed to
          `--without-nine-mousebuttons'.  [Christopher Bratusek]

        - Reworked configures help-message for better readability.
          [Kim B. Heino]

        - Configure now uses `kde4-config --install data' rather than
          `kde4-config --path data', so no sed-kludge is needed anymore.

          Make $datadir/kde4/apps/ the fallback path, if KDE4 is not
          installed.  [Kim B. Heino]

        - Majorly improved debian and rpm packaging scripts.
          [Christopher Bratusek] [Kim B. Heino]

        - The spec has been reworked to detect kde4/librep directories
          while runtime, instead of hardcoding those paths from
          configure, which makes it more portable.  [Kim B. Heino]

        - Our own implementation of dlmalloc is disabled since 2002, as
          it breaks sawfish on several architectures. From this version
          on, we don't ship it anymore.  [Kim B. Heino]

        - Export the imageloader beeing used by sawfish in the .pc file.
          [Christopher Bratusek]

        - Don't remove the .pot file upon `make distclean'.
          [Christopher Bratusek]

        - Install Sawfishs header files to $includedir/sawfish/.
          [Christopher Bratusek]

        - Autotools improvements (Makefile, autogen.sh & Co.)
          [Christopher Bratusek]

   * Bugfixes
        - Fixed a bug where the gnome-panels pager gets confused about
          the current viewport when displaying all workspaces.  [Jeremy
          Hankins]

        - Fixed minor bugs in viewport.jl.  [Jeremy Hankins]

   * Doc
        - Fixed a small doc misstake (refered to window-set instead of
          window-put).  [Christopher Bratusek]

        - Fixed the docstrings of shrink and yank.  [Timo Korvola]

   * Misc
        - Last 3 instances of "sawmill" replaced by "sawfish".  [Kim B.
          Heino]
============================================================[]

Have fun,

Flashrider [Christopher Bratusek] 19:49, January 8, 2010 (UTC)


2010 01 08: rep-gtk 0.90.2 released

Hi all,

a new version of rep-gtk hit the floor!

Rep-GTK is a gtk+ (and glib, gdk) binding to the versatile lisp environment: librep.

Where to get it?

================

https://sourceforge.net/projects/rep-gtk/files/rep-gtk/0.90.2/

What's new?

===========

0.90.2:
improved deb and rpm packaging scripts
improved ebuild
install header to $includedir/rep-gtk
autotools (Makefile & Co.) rework

2.12 APIs added:
	* gtkfilechooser.defs:
	****************** gtkfilechooser.h *************
	GtkFileChooser [object]
	GtkFileChooserError [enum]
	gtk_file_chooser_set_action
	gtk_file_chooser_get_action
	gtk_file_chooser_set_local_only
	gtk_file_chooser_get_local_only
	gtk_file_chooser_set_select_multiple
	gtk_file_chooser_get_select_multiple
	gtk_file_chooser_set_show_hidden
	gtk_file_chooser_get_show_hidden
	gtk_file_chooser_set_do_overwrite_confirmation
	gtk_file_chooser_get_do_overwrite_confirmation
	gtk_file_chooser_set_filename
	gtk_file_chooser_get_filename
	gtk_file_chooser_select_filename
	gtk_file_chooser_unselect_filename
	gtk_file_chooser_select_all
	gtk_file_chooser_unselect_all
	gtk_file_chooser_set_current_folder
	gtk_file_chooser_get_current_folder
	gtk_file_chooser_set_uri
	gtk_file_chooser_get_uri
	gtk_file_chooser_select_uri
	gtk_file_chooser_unselect_uri
	gtk_file_chooser_set_current_folder_uri
	gtk_file_chooser_get_current_folder_uri
	gtk_file_chooser_set_preview_widget
	gtk_file_chooser_get_preview_widget
	gtk_file_chooser_set_preview_widget_active
	gtk_file_chooser_get_preview_widget_active
	gtk_file_chooser_set_use_preview_label
	gtk_file_chooser_get_use_preview_label
	gtk_file_chooser_get_preview_filename
	gtk_file_chooser_get_preview_uri
	gtk_file_chooset_set_extra_widget
	gtk_file_chooset_get_extra_widget
	gtk_file_chooser_add_filter
	gtk_file_chooser_remove_filter
	gtk_file_chooser_set_filter
	gtk_file_chooser_get_filter
	gtk_file_chooser_add_shortcut_folder
	gtk_file_chooser_remove_shortcut_folder
	gtk_file_chooser_add_shortcut_folder_uri
	gtk_file_chooser_remove_shortcut_folder_uri
	== GtkFileChooser 2.12 API complete ==
	****************** gtkfilefilter.h **************
	GtkFileFilter (object)
	GtkFileFilterFlags (enum)
	gtk_file_filter_new
	gtk_file_filter_set_name
	gtk_file_filter_get_name
	gtk_file_filter_add_mime_type
	gtk_file_filter_add_pattern
	gtk_file_filter_add_pixbuf_formats
	gtk_file_filter_get_needed
	== GtkFileFilter 2.12 API complete ==
	****************** gtkfilechooserwidget.h **************
	GtkFileChooserWidget (object)
	gtk_file_chooser_widget_new
	gtk_file_chooser_widget_new_with_backend
	== GtkFileChooserWidget 2.12 API complete ==
	****************** gtkcelleditable.h ************
	GtkCellEditable (object)
	gtk_cell_editable_start_editing
	gtk_cell_editable_editing_done
	gtk_cell_editable_remove_widget
	== GtkCellEditable 2.12 API complete ==
	****************** gtkcellrenderer.h ************
	GtkCellRenderer (object)
	GtkCellRendererState (enum)
	GtkCellRendererMode (enum)
	gtk_cell_renderer_get_size
	gtk_cell_renderer_render
	gtk_cell_renderer_activate
	gtk_cell_renderer_start_editing
	gtk_cell_renderer_stop_editing
	gtk_cell_renderer_set_fixed_size
	gtk_cell_renderer_get_fixed_size
	== GtkCellRenderer 2.12 API complete ==
	****************** gtktreeviewcolumn.h **********
	GtkTreeViewColumn (object)
	GtkTreeViewColumnSizing (enum)
	gtk_tree_view_column_new
	gtk_tree_view_column_pack_start
	gtk_tree_view_column_pack_end
	gtk_tree_view_column_clear
	gtk_tree_view_column_add_attribute
	gtk_tree_view_column_clear_attributes
	gtk_tree_view_column_set_spacing
	gtk_tree_view_column_get_spacing
	gtk_tree_view_column_set_visible
	gtk_tree_view_column_get_visible
	gtk_tree_view_column_set_resizable
	gtk_tree_view_column_get_resizable
	gtk_tree_view_column_set_sizing
	gtk_tree_view_column_get_sizing
	gtk_tree_view_column_get_width
	gtk_tree_view_column_set_fixed_width
	gtk_tree_view_column_get_fixed_width
	gtk_tree_view_column_set_min_width
	gtk_tree_view_column_get_min_width
	gtk_tree_view_column_set_max_width
	gtk_tree_view_column_get_max_width
	gtk_tree_view_column_clicked
	gtk_tree_view_column_set_title
	gtk_tree_view_column_get_title
	gtk_tree_view_column_set_expand
	gtk_tree_view_column_get_expand
	gtk_tree_view_column_set_clickable
	gtk_tree_view_column_get_clickable
	gtk_tree_view_column_set_widget
	gtk_tree_view_column_get_widget
	gtk_tree_view_column_set_alignment
	gtk_tree_view_column_get_alignment
	gtk_tree_view_column_set_reorderable
	gtk_tree_view_column_get_reorderable
	gtk_tree_view_column_set_sort_column_id
	gtk_tree_view_column_get_sort_column_id
	gtk_tree_view_column_set_sort_indicator
	gtk_tree_view_column_get_sort_indicator
	gtk_tree_view_column_set_sort_order
	gtk_tree_view_column_get_sort_order
	gtk_tree_view_column_cell_set_cell_data
	gtk_tree_view_column_cell_get_size
	gtk_tree_view_column_cell_is_visible
	gtk_tree_view_column_focus_cell
	gtk_tree_view_column_cell_get_position
	gtk_tree_view_column_queue_resize
	gtk_tree_view_column_get_tree_view
	== GtkTreeViewColumn 2.12 API complete ==
	****************** gtkcellrenderertext.h ********
	GtkCellRendererText (object)
	gtk_cell_renderer_text_new
	gtk_cell_renderer_text_set_fixed_height_from_font
	== GtkCellRendererText 2.12 API complete ==
	****************** gtkcellrendererpixbuf.h *******
	GtkCellRendererPixbuf (object)
	gtk_cell_renderer_pixbuf_new
	== GtkCellRendererPixbuf 2.12 API complete ==
	****************** gtkcellrendereraccel.h ********
	GtkCellRendererAccel (object)
	GtkCellRendererAccelMode (enum)
	gtk_cell_renderer_accel_new
	== GtkCellRendererAccel 2.12 API complete ==
	****************** gtkcellrenderercombo.h ********
	GtkCellRendererCombo (object)
	gtk_cell_renderer_combo_new
	== GtkCellRendererCombo 2.12 API complete ==
	****************** gtkcellrendererprogress.h *****
	GtkCellRendererProgress (object)
	gtk_cell_renderer_progress_new
	== GtkCellRendererProgress 2.12 API complete ==
	****************** gtkcellrendererspin.h *********
	GtkCellRendererSpin (object)
	gtk_cell_renderer_spin_new
	== GtkCellRendererSpin 2.12 API complete ==
	****************** gtkcellrenderertoggle.h *******
	GtkCellRendererToggle (object)
	gtk_cell_rendere_toggle_new
	gtk_cell_renderer_toggle_set_radio
	gtk_cell_renderer_toggle_get_radio
	gtk_cell_renderer_toggle_set_active
	gtk_cell_renderer_toggle_get_active
	== GtkCellRendererToggle 2.12 API complete ==
	****************** gtktreesortable.h ************
	GtkTreeSortable (object)
	GtkTreeIterCompareFunc (boxed)
	gtk_tree_sortable_get_sort_column_id
	gtk_tree_sortable_get_sort_column_id
	gtk_tree_sortable_set_sort_func
	gtk_tree_sortable_set_default_sort_func
	gtk_tree_sortable_has_default_sort_func
	== GtkTreeSortable 2.12 API complete ==
	****************** gtkliststore.h ***************
	GtkListStore (object)
	gtk_list_store_new
	gtk_list_store_newv
	gtk_list_store_set_column_types
	gtk_list_store_append
	****************** gtktreeview.h ****************
	gtk_tree_view_append_column
=======================================================[]

Have fun,

Flashrider [Christopher Bratusek] 19:23, January 8, 2010 (UTC)


2010 01 08: librep 0.90.5 released

Hi all,

a new version of librep is availabe for download NOW!

Where to get it?

================

https://sourceforge.net/projects/librep/files/librep/0.90.5/

What's new?

===========

0.90.5
======

   * Byte compiler bugfix in docstring loss [Teika Kazura]

     Practical effect: Previously, if a user byte-compile files, then
     the docstring is lost in sawfish-config. This is fixed.

     Details: Loss of docstring happened only if (1) byte compiler is
     not given `--write-docs', so only byte-compilation by user (2)
     defvar is invoked within macro definition, including `defcustom' in
     Sawfish. Plain defvar was not affected by this bug.  It was
     because in 'trans-defvar' in lisp/rep/vm/compiler/rep.jl, the
     docstring is stored in a wrong property `variable-documentation'.
     It is corrected to `documentation'.

     Symbol `variable-documentation' is not used elsewhere, including
     Sawfish and emacs' sawfish-mode.

   * Our own implementation of dlmalloc is disabled since 2002, as it
     breaks librep on several architectures. From this version on, we
     don't ship it.  [Kim B. Heino]

   * Our own implementation of alloca/memcmp is not needed, rely on
     libcs instead.  [Kim B. Heino]

   * Majorly improved the debian and rpm packaging scripts [Christopher
     Bratusek] [Kim B. Heino]

   * Install headers to $includedir/rep/ instead of $includedir/
     [Christopher Bratusek]

   * Autotools improvements (Makefile, autogen.sh & Co.)  [Christopher
     Bratusek]

   * Added `file-gid-p' function for getting the gid of a file
     [Christopher Bratusek]

   * Added `file-uid-p' function for getting the uid of a file
     [Christopher Bratusek]

=============================================================================

Have fun,

Flashrider [Christopher Bratusek] 19:03, January 8, 2010 (UTC)


2009 12 22: sawfish 1.6.0 released

Hi folks!

In the name of the sawfish coreteam, I'm pleased to announce the immediate availabilty of:

Sawfish 1.6.0 "Sound Of Thunder"


Some cherrypicks:


  • LibAudioFile and ESounD requirements have been dropped.
  • Dynamic viewport mode (creates a new viewport when hitting the edge)
  • Viewport: windows are restored on the correct Viewport after restart
  • Bug fix: Prevent crashing of sawfish under heavy load and fast window destruction
  • Bug fix: Prevent window deletion (at least that part sawfish is fault of, bugs in video drivers may still cause that)
  • Thanks to librep 0.90.2+, non-English letters are printed correctly
  • Trimmed down GNOME support to minimum and new KDE4 support.
  • A set of new window-matchers
  • Thanks to rep-gtk 0.90.0+ configurator doesn't use obsolete widgets any more.
  • and of course a lot changes more. Read the news below.


Get your favourite windowmanager from: https://sourceforge.net/projects/sawmill/files/sawfish/1.6.0/


This release is brought to you by:


Christopher 'The Flashrider' Bratusek [Maintainer]

Janek 'The Re-Animator' Kozicki [Ex-Maintainer]

Timo Korvola [Coreteam Member]

Guillermo S. Romero [Coreteam Member]

Teika 'Mister X' Kazura [Coreteam Member]

Luis Rodrigo Gallardo Cruz [Debian Packager]

Jeremy Hankins [Coreteam Member]

Matthew Love [Contributor]

Nolan Leake [Contributor]

Wand Diancheng [Contributor]


In addition to the above people, librep and rep-gtk releases are also courtesy of:


Jürgen Hötzel [Contributor]

Alexey I. Froloff/ALT Linux [Contributor / Distributor]

And anyone else I forgot to mention.


Big shouts to the whole Sawfish-Posse! Stay Tuned!

Happy Installing, a lots of christmas-presents and a happy new year, Chris

Last but not least the complete NEWS from 1.5.0 to 1.6.0:

1.6.0
=====

   * The 1.6.0 release has new features and bugfixes

   * Build and installation changes
        - New/Updated requirements:
             + librep 0.90.0 -> 0.90.4

             + rep-gtk 0.18.4 -> 0.90.0

        - Removed requirements: LibAudioFile and ESounD

        - Mouse buttons 6 - 9 support is now optional

          Support for 6 - 9 mouse buttons is now optional.
          X.Org/XFree86 headers only define up to 5 buttons, and we use
          a working but somewhat hackish workaround for getting buttons
          6 - 9 which is suspected to cause some problems with
          modifiers. Support for them is enabled by default. If you
          want to disable it, add the following flag to configure:

          `--without-nine-mousebuttons'

          If you drop it, then you can't use mouse button 8 to, for
          example, drag windows.

        - Installation directory change

          Directory `libexec' is not used anymore for library files
          installation. Instead, they go into `lib' by default.

   * Incompatible user visible changes:
        - Configurator's binary, `sawfish-ui', is renamed to
          `sawfish-config' [Christopher Bratusek]

          Its window class is changed to `sawfish-configurator' /
          `Sawfish-Configurator', too. The lisp module is renamed from
          `sawfish.ui' to `sawfish.cfg'.

        - Infinite Desktop boundary behavior and option

          In `infinite-desktop', the option to specify the boundary
          behavior has changed. If `viewport-boundary-mode' is
          `dynamic', then you can go as far as you like. Otherwise, it
          stops at the workspace boundary of which size is specified by
          `viewport-dimensions'. Now the latter is the default. See also
          "dynamic viewport" described below.

          The previous variable,
          `infinite-desktop.stop-at-workspace-borders', which is used
          for this purpose, no longer exists.

        - User config file changes

          In Sawfish < 1.6, `sawfish.wm.defaults' is loaded by default,
          only if the `~/.sawfishrc' lacks. Now, it is always read, so
          you don't have to `require' it. It sets up GNOME or KDE
          support if found running, and does load the error-handling
          module.

          Since Sawfish 1.5 `~/.sawmillrc' is no longer a valid
          configuration- file. From this version on, Sawfish will
          rename `~/.sawmillrc' to `~/.sawfishrc', if the former does
          exist on your system, but the latter doesn't.

        - In configurator, the "Matched Windows" group has been renamed
          to "Window Rules"

        - Sound support has changed. [Christopher Bratusek]

          Sawfish used to rely on ESounD and LibAudioFile to play
          sound, but we dropped that. If you want sound, set the
          variable `play-sample-program' to the path of the program
          capable of playing *.wav file. You can set the variable from
          the Configurator, too. By default `paplay' is beeing used.

          You can't set any arguments to pass from this variable. If
          you want to give arguments or redirect output, write a wrapper
          program. (*note FAQ::, "Sound support" section.)

        - GNOME integration updates [Christopher Bratusek]

          GNOME support is trimmed down. All we offer now is as follows:

          If GNOME runs, in `session' submenu under Sawfish root menu,
          logout and shutdown from GNOME are added. Don't remove `quit'
          and `restart' from menu now. GNOME help is available in menu.

          Unless set by user, gnome-terminal.wrapper and
          gnome-www-browser are used for user options `xterm-program'
          and `browser-program'.

          Most of dropped GNOME integrationcode is ancient, mainly for
          1.x and early 2.x. Files `lisp/sawfish/wm/commands/gnome.jl'
          and `lisp/sawfish/wm/state/gnome.jl' are deleted.

          GNOME-Detection has been updated for recent versions. [Alexey
          I. Froloff]

        - xterm and browser changes

          Module `sawfish.wm.commands.xterm' is renamed to
          `sawfish.wm.commands.launcher'. Option `xterm-args' is
          dropped. If you use it, simply append its value to
          `xterm-program'.

          Customization-group is changed from `misc' to `External
          Applications'.

          The functinon `display-url' is renamed to `browser', now
          defined in the module cited above. Variable
          `display-url-command' is renamed to `browser-program'.

        - Sawfish pager

          If you've been using Sawfish-pager, then you have to
          recompile it, due to library files location change.

        - Deletion of `user-level' property

          (This affects almost none.) There has been a defcustom
          property `user-level'. It has been deprecated for years, and
          it's now deleted.

   * Bugs fixed:
        - Prevents crashes for quick window destructions, especially
          under high load

          There have been crashes if a window is destroyed soon after
          its creation.  It happens in `add_window' function, and the
          cause is guessed to be garbage collection following window
          destruction before the object access.

          Now most parts of `add_window' are protected from garbage
          collection with `rep_PUSHGC' / `rep_POPGC'. It also prevents
          `add_window_hook' from being called with uninitialised
          argument.  [Timo Korvola, Janek Kozicki]

        - Random window disapperance prevention

          There're reports of sudden, random window disapperance, under
          Xinerama and some other drivers. It is partly prevented, but
          not completely, as this may also be caused by other libraries
          or buggy video drivers.

          Now in error_handler() in src/display.c, when a window sends
          request_code 12 (X_ConfigureWindow), don't auto-assume it to
          be unmapped. [Janek Kozicki]

        - Build and Installation:
             + Library check: Fix in `SMlib' and `libICE' check on
               x11r7 [Christopher Bratusek]

             + `.desktop' files fixes: typos fixed and unneeded entries
               removal [Christopher Bratusek]

             + In spec file, repexecdir definition is fixed
               [Christopher Bratusek]

             + In `po/Makefile.in', a wrong call of make-pot is fixed
               [Christopher Bratusek]

             + Always build the FAQ upon make [Christopher Bratusek]

             + Expand REP_ENVIRON in scripts/Makefile.in [Luis Rodrigo
               Gallardo Cruz]

             + Add `--tag=CC' to libtool where necessary. It unbrakes
               compilation on some arches [Gentoo Linux]

             + Use $prefix/lib instead of $prefix/libexecdir, to
               satisfy the FHS [Christopher Bratusek]

        - In configurator,

          Strings are now fully translatable [Alexey I. Froloff]

          SpinButton listens to manual value change. (It's now
          connected to the correct signal.)  [Christoper Bratusek]

          Position parameters can be negative [Christopher Bratusek,
          Teika Kazura]

        - Fixed Focus issues with KDE4 Menu/Run-Dialog [Timo Korvola]

        - Fix cursor-warping in conjuction with Infinite-Desktop
          [Jeremy Hankins]

        - Fixed group of the stagger options [Christopher Bratusek]

        - Fixed a call of `select-workspace-from-first' [Michal Maruška]

        - In `Simple' theme, windows are now resizable from the right
          border [Christopher Bratusek]

        - Missing exports are now supplied, for shrink-yank functions
          and `send-to-workspace'. [Christopher Bratusek]

        - Commands `maximize-window-fullscreen' and
          `maximize-window-fullxinerame' work. [Teika kazura]

        - Variable `this-command' is `nil' outside of command call.

        - Customization option `uniconify-to-current-viewport' has been
          undeprecated. [Teika kazura]

   * New features:
        - New application menu [Matthew Love, Timo Korvola]

          Sawfish now generates application menu automatically, by
          reading `/usr/share/applications/*.desktop' files. If you
          manually set `apps-menu', then it won't be. If you like to
          have both your own applications menu and auto the generated
          one, then refer back to `user-apps-menu' rather than
          `apps-menu'. In addition you can use the variable
          `desktop-directory' to specify a different directory to look
          for *.desktop files, or a set of directories, if desired.

          Root, and Window-Operations menus are revamped, too.
          [Christopher Bratusek]

        - Added options to change the font color of window title,
          independent of the theme in use [Matthew Love, Christopher
          Bratusek, Timo Korvola]

          Internally, a new function `remove-frame-part-value' which
          allows to change/remove values from frame-parts is used.
          [Timo Korvola]

        - Sawfish does now support theme-tarballs compressed with XZ
          (aka LZMA2) and LZMA [Christopher Bratusek]

        - Xinerama support for Grow/Pack [Nolan Leake]

          Make grow/pack Xinerama aware. The support still remains
          basic. Shrink-yank hasn't been changed at this point.

        - Window rules can be set by lisp

          Window rules (former "matched windows") can easily be set from
          configurator, but it can now be set by lisp, too, with
          `add-window-matcher' function. For the details, *Note Window
          Rules by Matching::. An example usage is like this:

               (add-window-matcher '((WM_NAME . "^root$")
                                     (WM_CLASS . "^XTerm/xterm$"))
                                   '((ignore-program-position . t)
                                     (maximize . vertical)))

          In fact, this function has already existed, but now it can
          now specify both windowname and -class, also the grammar has
          changed. The old syntax is still allowed, but deprecated.

        - Keymap translation [Scott Scriven]

          Sawfish can "translate" keymaps for each window. Suppose you
          have the following lines in your `~/.sawfish/rc':

               (add-window-matcher
                       '((WM_NAME . "^Terminal$"))
                       '(keymap-trans . (("C-n" "C-S-t")
                                         ("C-w" "C-S-w"))))

          Then, when you press `C-n', any windows with name "Terminal"
          receive `C-S-t', and so on.

          This is part of window rules, but it cannot be exposed in the
          configurator yet.

        - New window rules
             + Maximizations `fullscreen' and `full-xinerama' are
               available now (*note Maximizing Without Borders::)
               [Jeremy Hankins]

             + Window position can also be specified by the direction,
               like north or east, instead of the coordinates. [Jeremy
               Hankins]

             + New window rules `new-workspace' and `new-viewport',
               which place a window on the first empty Workspace or
               Viewport (if there's none, one will be generated), have
               been introduced [Jeremy Hankins]

               If `new-workspace' is chosen, then the window is put in
               an empty workspace, or a new workspace is created if
               none. A workspace with sticky windows only are
               considered empty. `new-viewport' is the same but an
               empty viewport is chosen. If none is, the workspace is
               enlarged, and the window is put in a new viewport.

             + `window-name' can change the window's name. [Christopher
               Bratusek]

        - New commands [Christopher Bratusek]

          5 new move-cursor commands, 4 diagonals and 1 to center.
          (*note Pointer Functions::

          Three window manipulation commands, `double-window-size',
          `halve-window-size', and `move-window-center'.  The former
          two are based on the `resize-by-factor' metafunction.

          `browser' invokes a browser instance.

        - New functions `rename-window' changes the window name. [from
          "mmc" fork, Christopher Bratusek]

          In practice, it works, but technically speaking, the window
          name is not supposed to be changed in ICCCM, by the
          Window-Manager.

          `viewport-windows' returns windows in a viewport. [Jeremy
          Hankins]

          `get-window-by-class' and `get-window-by-class-re'
          [Christopher Bratusek]

        - Dynamic Viewport-Boundary-Mode [Jeremy Hankins]

          When you set `viewport-boundary-mode' to `dynamic', then the
          workspace grows and shrinks dynamically so that it contains
          all windows and the current viewport. For the details, *Note
          Dynamic Viewport::.

        - KDE4 integration module [Christopher Bratusek]

          KDE4 is automatically detected. KDE help, and KDE logout,
          shutdown, and reboot are provided in the menu. In KDE4 WM
          Selector, Sawfish is added.

          Unless set by user, konsole and konqueror are used for user
          options `xterm-program' and `browser-program'.

        - Poweroff from menu

          Added poweroff commands in menu for non KDE/GNOME users.
          There are reboot, halt, suspend and hibernate. The used shell
          commands can be set from configurator, under "Misc" ->
          "External Applications". If you don't want it, set
          `want-poweroff-menu' to nil.

          User needs the appropriate privilege. For a way to do so, see
          *Note FAQ::, "Shutdown privilege" section.

          Reboot and halt call `before-exit-hook' and do
          `delete-window' to each window before actually rebooting or
          halting, to ensure everything is fine on the next startup.

        - New Frame Classes [Christopher Bratusek]
          A "frame class" defines frame component and are used by
          themers to add buttons or frames to their theme in charge.
          There are no user visible changes.

             + `sticky-button', a button to toggle window `sticky' or
               `viewport-sticky'

             + `lock-button', a button to toggle window position `fixed'

             + `rename-button', a button to rename the window-title and
               window-icon properties (not ICCCM compliant)

             + `move-resize-button', a button to perform various move
               and resize actions on a window

             + `raise-lower-button', a button to perform various
               raising and lowering actions on a window

   * Widget Transistion [Christopher Bratusek]
        - Custom make-url-widget replaced by GtkLinkButton

        - Custom about-dialog replaced by GtkAboutDialog

        - GtkButton + GtkPreview + GtkColorSelection trio replaced by
          single GtkColorButton

   * Other Changes:
        - Startup window placement improvement [Jeremy Hankins]

          At Sawfish startup including restart, maximized windows and
          position specified windows used to mess up viewport, appearing
          in wrong viewports. It's fixed now.

        - Renamed `after-add-window' to `maxmize-after-add-window'
          This function is only used in a hook [Teika Kazura]

        - Don't let `cycle-class' and `cycle-class-backwards' ignore
          WINDOW-ORDER [Daniel M. German]

        - Docks/panels are unframed, and window type is set to `dock'
          by default [Timo Korvola]

        - You can exit from sawfish-client with `,quit' (also `C-d'),
          unlike `C-c' it won't kill the WM [Teika Kazura, Timo Korvola]

        - Number widget (GtkSpinButton) can take optional initial value
          [Teika Kazura]

        - Changing `raise-tabs-on-hover' takes effect immediately now
          [Christopher Bratusek]

        - Inactive windows in Crux theme do now have black text for
          better readability [Christopher Bratusek]

        - With new option `customize-redirect', configurator's output
          can be redirected. [Teika Kazura]

        - Grow/Pack and Shrink/Yank options are in the same group now
          [Christopher Bratusek]

          These commands are now available from window operation menu,
          too.

        - When moving a window the cursor shape is now `hand2', when
          resizing `crosshair' [Christopher Bratusek]

        - In the theme document in the configurator, the cursor is
          invisible and the wrap mode is set to word-char [Christopher
          Bratusek]

        - Build, installation and source
             + Improved ebuild [Christopher Bratusek]

             + Encoding is unified to utf-8 for all distributed files
               [Teika Kazura]

             + Squashed all bytecompiler warnings [Matthew Love]
               Some warnings were superfluous, though.

             + To info file `dir' the section `sawfish' has been added
               [Luis Rodrigo Gallardo Cruz]

             + Distclean rule for po/Makefile.in [Christopher Bratusek]

             + Removed ancient sawmill removal fragments from Makefile
               [Christopher Bratusek]

             + Block comments in lisp files are now semicolons
               Sorry, without reason. Block comment remains allowed.

        - Docs
             + Added man-pages for `sawfish', `sawfish-client' and
               `sawfish-config' [Debian]

             + News items for 1.5.0 are rewritten in a more readable
               fashion [Teika Kazura]

             + Info manual updates [Christopher Bratusek, Jeremy
               Hankins, Teika Kazura]

             + Added new contributors to `THANKS' section of
               `CONTRIBUTING' [Christopher Bratusek]

             + Updated OPTIONS and KEYBINDINGS [Christopher Bratusek]

             + Fixed the license header of tabbed-windowing files
               [Christopher Bratusek]


2009 12 18: sawfish-pager 0.7.1 released

a new release of sawfish-pager is available for download now.

Download: http://sourceforge.net/projects/sawfish-pager/files/

License: GNU GENERAL PUBLIC LICENSE

ChangeLog:

Version 0.7.1 (2009-12-15, Cosmosonic)

* sawfish-pager gets the colors to use from sawfishs color-rgb function,
unfortunately sawfish-pager expects no alpha value, while sawfish does
send one. from this version on sawfish-pager strips off the alpha value.

Problems with having sawfish-pager not using the color you have set will
be gone now. [Jeremey Hankins]


2009 12 18: rep-gtk 0.90.1 released

the final release of rep-gtk before sawfish 1.6.0 just hit the floor.

Download: https://sourceforge.net/projects/rep-gtk/files/

License: GNU General Public License

ChangeLog:

0.90.1:
improved ebuild
improved spec-file [Kim B. Heino]
Addtitions:
GtkUiManager support [Jürgen Hötzel]
GtkAction support [Jürgen Hötzel]

2.12 APIs added:
**************** gtkspinbutton.h *****************
gtk_spin_button_get_increments
gtk_spin_button_get_range
== GtkSpinButton 2.12 API complete ==
************ gtkfilechooserbutton.h *************
gtk_file_chooser_button_new
gtk_file_chooser_button_new_with_backend
gtk_file_chooser_button_new_with_dialog
gtk_file_chooser_button_set_title
gtk_file_chooser_button_get_title
gtk_file_chooser_button_set_width_chars
gtk_file_chooser_button_get_width_chars
gtk_file_chooser_button_set_focus_on_click
gtk_file_chooser_button_get_focus_on_click
== GtkFileChooserButton 2.12 API complete ==
************** gtkexpander.h *****************
gtk_expander_new
gtk_expander_new_with_mnemonic
gtk_expander_set_expanded
gtk_expander_get_expanded
gtk_expander_set_spacing
gtk_expander_get_spacing
gtk_expander_set_label
gtk_expander_get_label
gtk_expander_set_use_underline
gtk_expander_get_use_underline
gtk_expander_set_use_markup
gtk_expander_get_use_markup
gtk_expander_set_label_widget
gtk_expander_get_label_widget
== GtkExpander 2.12 API complete ==
*********** gtkcomboboxentry.h ***********
gtk_combo_box_entry_new
gtk_combo_box_entry_new_with_model
gtk_combo_box_entry_set_text_column
gtk_combo_box_entry_get_text_column
== GtkComboBoxEntry 2.12 API complete ==
*********** gtkcombobox.h ***********
gtk_combo_box_new
gtk_combo_box_new_with_model
gtk_combo_box_set_wrap_width
gtk_combo_box_get_wrap_width
gtk_combo_box_set_row_span_column
gtk_combo_box_get_row_span_column
gtk_combo_box_set_column_span_column
gtk_combo_box_get_column_span_column
gtk_combo_box_set_add_tearoffs
gtk_combo_box_get_add_tearoffs
gtk_combo_box_set_title
gtk_combo_box_get_title
gtk_combo_box_set_focus_on_click
gtk_combo_box_get_focus_on_click
gtk_combo_box_set_active
gtk_combo_box_get_active
gtk_combo_box_set_active_iter
gtk_combo_box_get_active_iter
gtk_combo_box_set_model
gtk_combo_box_get_model
gtk_combo_box_append_text
gtk_combo_box_insert_text
gtk_combo_box_prepend_text
gtk_combo_box_remove_text
gtk_combo_box_get_active_text
== GtkComboBox 2.12 API complete ==


2009 12 18: librep 0.90.4 released

the final librep release before sawfish 1.6.0 is now in stores.

Download: https://sourceforge.net/projects/librep/files/

License: GNU General Public License

ChangeLog:

0.90.4
======

 * Library version bumped to 9.4.1

 * Use  $prefix/lib instead of $prefix/libexec

 * Fixups for OpenBSD  [Jasper Lievisse Adriaanse]

 * Don't hardcode /usr in manpage  installation path


2009 12 12: sawfish-pager 0.7a released

Another release of Sawfishs Native Pager is available.

Get it from the usual place: https://sourceforge.net/projects/sawfish-pager/files/pager/0.7a/

Version 0.7a (2009-12-12, Aurus)

     * make Makefile differ between Sawfish 1.5x and 1.6x
       fixes installation for Sawfish 1.6x which moved from
       $prefix/libexecdir to $prefix/libdir (Christopher Bratusek)

     * added debian packaging scripts (Christopher Bratusek)


2009 12 08: sawfish 1.6.0 rc1 released

Sawfish 1.6.0 is going to be released on the 22nd December.

Feature Freeze began on the 4th December, so now it's time for the RC1.

Download: https://sourceforge.net/projects/sawmill/files/sawfish/1.6.0rc1

Happy Hacking, Chris

List of Changes since 1.5.0:

1.6.0
=====

   * The 1.6.0 release has new features and bugfixes

   * Build and installation changes
        - New/Updated requirements:
             + librep 0.90.0 -> 0.90.4

             + rep-gtk 0.18.4 -> 0.90.0

        - Removed requirements: LibAudiofile and ESounD

        - Mouse buttons 6 - 9 support is now optional

          Support for 6 - 9 mouse buttons is now optional.
          X.Org/XFree86 headers only define up to 5 buttons, and we use
          a working but somewhat hackish workaround for getting buttons
          6 - 9 which is suspected to cause some problems with
          modifiers. Support for them is enabled by default. If you
          want to disable it, add the following flag to configure:

          `--without-nine-mousebuttons'

          If you drop it, then you can't use mouse button 8 to, for
          example, drag windows.

   * Incompatible user visible changes:
        - Configurator's binary, `sawfish-ui', is renamed to
          `sawfish-config' [Christopher Bratusek]

          Its window class is changed to `sawfish-configurator' /
          `Sawfish-Configurator', too. The lisp module is renamed from
          `sawfish.ui' to `sawfish.cfg'.

        - Infinite Desktop boundary behavior and option

          In `infinite-desktop', the option to specify the boundary
          behavior has changed. If `viewport-boundary-mode' is
          `dynamic', then you can go as far as you like. Otherwise, it
          stops at the workspace boundary of which size is specified by
          `viewport-dimensions'. Now the latter is the default. See also
          "dynamic viewport" described below.

          The previous variable,
          `infinite-desktop.stop-at-workspace-borders', which is used
          for this purpose, no longer exists.

        - User config file changes

          In Sawfish < 1.6, `sawfish.wm.defaults' is loaded by default,
          only if the `~/.sawfishrc' lacks. Now, it is always read, so
          you don't have to `require' it. It sets up GNOME and KDE
          support if they run, and does `(require
          'sawfish.wm.ext.error-handler)'.

          Since Sawfish 1.5 `~/.sawmillrc' is no longer a valid
          resoucefil.  From this version on, Sawfish will rename
          `~/.sawmillrc' to `~/.sawfishrc', if the former does exist on
          your system, but the latter doesn't.

        - In configurator, the "Matched Windows" group has been renamed
          to "Window Rules"

        - Sound support has changed. [Christopher Bratusek]

          Sawfish used to rely on esound and libaudiofile to play
          sound, but we stopped it. If you want sound, set the variable
          `play-sample-program' to the path of the program capable of
          playing *.wav file. You can set the variable from the
          Configurator, too.

          You can't set any arguments to pass from this variable. If
          you want to give arguments or redirect output, write a wrapper
          program. (*note FAQ::, "Sound support" section.)

        - GNOME integration updates [Christopher Bratusek]

          Gnome support is trimmed down. All we offer now is as follows:

          If GNOME runs, in `session' submenu under Sawfish root menu,
          logout and shutdown from GNOME are added. Don't remove `quit'
          and `restart' from menu now. Gnome help is available in menu.

          Unless set by user, gnome terminal and gnome help browser are
          used for user options `xterm-program' and `browser-program'.

          Most of dropped GNOME integrations are ancient, mainly for
          1.x and early 2.x. Files `lisp/sawfish/wm/commands/gnome.jl'
          and `lisp/sawfish/wm/state/gnome.jl' are deleted.

          GNOME-Detection is updated. [Alexey I. Froloff]

        - Xterm and browser changes

          Module `sawfish.wm.commands.xterm' is renamed to
          `sawfish.wm.commands.launcher'. Option `xterm-args' is
          dropped. If you use it, simply append the value to
          `xterm-program'.

          Customization group is changed from `misc' to `External
          Applications'.

          The functinon `display-url' is renamed to `browser', now
          defined in the module cited above. Variable
          `display-url-command' is renamed to `browser-program'.

   * Poweroff actions

     Added poweroff command for letting none KDE/GNOME users easily
     reboot, halt, suspend or hibernate their machine. The commands
     beeing used to do so are also user-settable. In addition, when
     it's used to reboot or halt, when we call the `before-exit-hook'
     and `map-windows delete-window' before actually rebooting or
     halting, to ensure everything is fine on the next startup.
     Furthermore entries to the session-menu are beeing added. If
     you're using KDE or GNOME then those are not generated.

   * Bugs fixed:
        - Prevents crashes for quick window destructions, especially
          under high load

          There have been crashes if a window is destroyed soon after
          its creation.  It happens in `add_window' function, and the
          cause is guessed to be garbage collection following window
          destruction before the object access.

          Now most parts of `add_window' are protected from garbage
          collection with `rep_PUSHGC' / `rep_POPGC'. It also prevents
          `add_window_hook' from being called with uninitialised
          argument.  [Timo Korvola, Janek Kozicki]

        - Random window disapperance prevention

          There're reports of sudden, random window disapperance, under
          Xinerama and some other drivers. It is partly prevented, but
          not completely.

          Now in error_handler() in src/display.c, when a window sends
          request_code 12 (X_ConfigureWindow), don't auto-assume it to
          be unmapped. [Janek Kozicki]

        - Build and Installation:
             + Library check: Fix in `SMlib' and `libICE' check on
               x11r7 [Christopher Bratusek]

             + `.desktop' files fixes: typos fix and removed unneeded
               entries [Christopher Bratusek]

             + In spec file, fixed repexecdir definition [Christopher
               Bratusek]

             + In `po/Makefile.in', fixed wrong call of make-pot
               [Christopher Bratusek]

             + Build the FAQ upon make [Christopher Bratusek]

             + Expand REP_ENVIRON in scripts/Makefile.in [Luis Rodrigo
               Gallardo Cruz]

             + Add `--tag=CC' to libtool where necessary. It unbrakes
               compilation on some arches [Gentoo Linux]

             + Use $prefix/lib instead of $prefix/libexecdir, to satify
               the FHS [Christopher Bratusek]

        - In configurator,

          Strings are fully translatable [Alexey I. Froloff]

          SpinButton listens to manual value change. (It's connected to
          correct signal.)  [Christoper Bratusek]

          Position parameters can be negative [Christopher Bratusek,
          Teika Kazura]

        - Fixed Focus issues with KDE4 Menu/Run-Dialog [Timo Korvola]

        - Fix cursor warping in Infinite-Desktop [Jeremy Hankins]

        - Fixed group of the stagger options [Christopher Bratusek]

        - Fixed a call of `select-workspace-from-first' [Michal Maruška]

        - In `Simple' theme, windows are now resizable from right
          border [Christopher Bratusek]

        - Missing exports are now supplied, for shrink-yank functions
          and `send-to-workspace'. [Christopher Bratusek]

        - Commands `maximize-window-fullscreen' and
          `maximize-window-fullxinerame' work. [Teika kazura]

        - Variable `this-command' is `nil' outside of command call.

        - Customization option `uniconify-to-current-viewport' is valid
          again. [Teika kazura]

   * New features:
        - New application menu [Matthew Love, Timo Korvola]

          Sawfish now generates application menu automatically, by
          reading `/usr/share/applications/*.desktop' files. If you set
          `apps-menu', then it won't be done. If you like to have both
          your own applications menu and auto generated one, then set
          your own in `user-apps-menu' instead of `apps-menu'.

          Root and Window-History menus are revamped, too. [Christopher
          Bratusek]

          Now you can reboot and shutdown your computer from the root
          menu -> "session", but the user needs the appropriate
          privilege. For a way to do so, see *Note FAQ::, "Reboot and
          shutdown privilege" section.

        - Added options to change the font color of window title,
          independent of used theme [Matthew Love, Christopher
          Bratusek, Timo Korvola]

          Internally, a new function `remove-frame-part-value' which
          allows to change/remove values from frame-parts is used.
          [Timo Korvola]

        - Sawfish does now support theme-tarballs compressed with XZ
          (aka LZMA2) and LZMA [Christopher Bratusek]

        - Xinerama support for Grow/Pack [Nolan Leake]

          Make grow/pack Xinerama aware. The support still remains
          basic.  Shrink-yank doesn't yet.

        - Window rules can be set by lisp

          Window rules (former "matched windows") can easily be set from
          configurator, but it can now be set by lisp, too, with
          `add-window-matcher' function. For the details, *Note Window
          Rules by Matching::. An example usage is like this:

               (add-window-matcher '((WM_NAME . "^root$")
                                     (WM_CLASS . "^XTerm/xterm$"))
                                   '((ignore-program-position . t)
                                     (maximize . vertical)))

          In fact, this function has existed, but now it can now
          specify both window name and class, and the grammar has
          changed. The old syntax is still allowed, but deprecated.

        - Keymap translation [Scott Scriven]

          Sawfish can "translate" keymaps for each window. Suppose you
          have the following lines in your `~/.sawfish/rc':

               (add-window-matcher
                       '((WM_NAME . "^Terminal$"))
                       '(keymap-trans . (("C-n" "C-S-t")
                                         ("C-w" "C-S-w"))))

          Then, when you press `C-n', any windows with name "Terminal"
          receive `C-S-t', and so on.

          This is part of window rules, but it cannot be set by
          configurator yet.

        - New window rules
             + Maximizations `fullscreen' and `full-xinerama' are
               available (*note Maximizing Without Borders::) [Jeremy
               Hankins]

             + Window position can also be specified by the direction,
               like north or east, instead of the coordinates. [Jeremy
               Hankins]

             + New placement modes `new-workspace' and `new-viewport'
               [Jeremy Hankins]

               If `new-workspace' is chosen, then the window is put in
               an empty workspace, or a new workspace is created if
               none. A workspace with sticky windows only are
               considered empty. `new-viewport' is the same but an
               empty viewport is chosen. If none is, the workspace is
               enlarged, and the window is put in a new viewport.

             + `window-name' can change the window's name. [Christopher
               Bratusek]

        - New commands [Christopher Bratusek]

          5 new move-cursor commands, 4 diagonals and 1 to center.
          (*note Pointer Functions::

          Three window manipulation commands, `double-window-size',
          `halve-window-size', and `move-window-center'.

          `browser' invokes a browser instance.

        - New funcitons `rename-window' changes the window name. [from
          "mmc" fork, Christopher Bratusek]

          In practice, it works, but technically speaking, the window
          name is not supposed to be changed in ICCCM.

          `viewport-windows' returns windows in a viewport. [Jeremy
          Hankins]

          `get-window-by-class' and `get-window-by-class-re'
          [Christopher Bratusek]

        - Dynamic Viewport Mode [Jeremy Hankins]

          When you set `viewport-boundary-mode' to `dynamic', then the
          workspace grows and shrinks dynamically so that it contains
          all windows and the current viewport. For the details, *Note
          Dynamic Viewport::.

        - KDE integration module [Christopher Bratusek]

          KDE is automatically detected. KDE help, and KDE logout,
          shutdown, and reboot are provided in the menu. In KDE4 WM
          Selector, Sawfish is added.

          Unless set by user, konsole and konqueror are used for user
          options `xterm-program' and `browser-program'.

        - New Frame Classes [Christopher Bratusek]
          A "frame class" defines frame component. There's no user
          visible changes.

             + `sticky-button', a button to toggle window `sticky' or
               `viewport-sticky'

             + `lock-button', a button to toggle window position `fixed'

             + `rename-button', a button to rename the window-title and
               window-icon properties (not ICCCM compliant)

             + `move-resize-button', a button to perform various move
               and resize actions on a window

             + `raise-lower-button', a button to perform various
               raising and lowering actions on a window

   * Widget Transistion [Christopher Bratusek]
        - Custom make-url-widget replaced by GtkLinkButton

        - Custom about-dialog replaced by GtkAboutDialog

        - GtkButton + GtkPreview + GtkColorSelection trio replaced by
          single GtkColorButton

   * Other Changes:
        - Startup window placement improvement [Jeremy Hankins]

          At Sawfish startup including restart, maximized windows and
          position specified windows used to mess up viewport, appearing
          in wrong viewports. It is fixed.

        - Renamed `after-add-window' to `maxmize-after-add-window'
          This function is only used in a hook [Teika Kazura]

        - Don't let `cycle-class' and `cycle-class-backwards' ignore
          WINDOW-ORDER [Daniel M. German]

        - Docks/panels are unframed, and window type is set to `dock'
          [Timo Korvola]

        - You can exit from sawfish-client with `,quit' (also `C-d'),
          unlike `C-c' it won't kill the WM [Teika Kazura, Timo Korvola]

        - Number widget (GtkSpinButton) can take optional initial value
          [Teika Kazura]

        - `raise-tabs-on-hover' takes effect immediately now
          [Christopher Bratusek]

        - Inactive windows in Crux theme do now have black text for
          better readability [Christopher Bratusek]

        - With new option `customize-redirect', configurator's output
          can be redirected. [Teika Kazura]

        - Grow/Pack and Shrink/Yank options are in the same group now
          [Christopher Bratusek]

          These commands are now available from window operation menu,
          too.

        - When moving a window the cursor shape is now `hand2', when
          resizing `crosshair' [Christopher Bratusek]

        - In the theme document in the configurator, the cursor is
          invisible and the wrap mode is set to word-char [Christopher
          Bratusek]

        - Build, installation and source
             + Improved ebuild [Christopher Bratusek]

             + Encoding is unified to utf-8 for all distributed files
               [Teika Kazura]

             + Squashed all byte compiler warnings [Matthew Love]
               Some warnings are superfluous, though.

             + To info file `dir' the section `sawfish' is added upon
               installation [Luis Rodrigo Gallardo Cruz]

             + Distclean rule for po/Makefile.in [Christopher Bratusek]

             + Removed ancient sawmill removal fragments from Makefile
               [Christopher Bratusek]

             + Block comments in lisp files are now semicolons
               Sorry, without reason. Block comment remains allowed.

        - Docs
             + Added man-pages for `sawfish', `sawfish-client' and
               `sawfish-config' [Debian]

             + News items for 1.5.0 are rewritten in a more readable
               fashion [Teika Kazura]

             + Info manual updates [Christopher Bratusek, Jeremy
               Hankins, Teika Kazura]

             + Added new contributors to `THANKS' section of
               `CONTRIBUTING' [Christopher Bratusek]

             + Updated OPTIONS [Christopher Bratusek]

             + Fixed the license header of tabbed-windowing files
               [Christopher Bratusek]


2009 11 12: sawfish 1.5.3 released

The last bugfix release of the 1.5 series is available for download now!

Get it from the usual place: https://sourceforge.net/projects/sawmill/files/sawfish/1.5.3

ChangeLog:

1.5.3
=====

   * The 1.5.3 release has backports from 1.6.0 (HEAD)

   * Bugs fixed:
        - Prevents crashes for quick window destructions, especially
          under high load

          There have been crashes if a window is destroyed soon after
          its creation.  It happens in `add_window' function, and it
          might be due to a window being destroyed, garbage collected
          and then accessed.

          Now most parts of `add_window' are protected from garbage
          collection with `rep_PUSHGC' / `rep_POPGC'. It also prevents
          `add_window_hook' from being called with uninitialised
          argument.  [Timo Korvola, Janek Kozicki]

Sawfish 1.6.0 will hit the floor on 22nd December 2009, be sure to watch out for any bombastic release of ours!

Have Fun,

Chris

Flashrider [Christopher Bratusek] 20:12, November 12, 2009 (UTC)


2009 11 12: librep 0.90.3 released

the fourth release of the 0.90 series of librep is just available for download!

Thanks to Kim B. Heino, Vincent Untz and the Debian manpage-writers for this release.

Get it from the usual place: https://sourceforge.net/projects/librep/files/librep/0.90.3/

0.90.3
======

   * Added `file-executable-p' function

   * Improved spec-file [Kim B. Heino]

   * Improved ebuild [Fuchur, Christopher Bratusek]

   * Fallback check for ffi, if there's no libffi.pc [Vincent Untz]

   * Removed rep-config script (use librep.pc instead)

   * Added man-pages for `rep', `repdoc', `rep-remote' and
     `rep-xgettext' [Debian]

   * Added debian packaging scripts based on the official ones

Of course, debian binaries for i386 and sources are available from my repo.

Have Fun,

Chris

Flashrider [Christopher Bratusek] 19:42, November 12, 2009 (UTC)


2009 09 20: sawfish 1.5.2 released

The second maintainance release of Sawfishs 1.5 branch is available.

The most noticeable change is that Sawfish 1.5x is now compatible with rep-gtk 0.90x

Download: http://sourceforge.net/projects/sawmill/files/

1.5.2
=====

   * The 1.5.2 release has backports from 1.6.0 (HEAD)

   * New/Updated requirements:
        - rep-gtk 0.18.4 -> 0.90.0

   * Bugs fixed:
        - Actually build FAQ upon make [Christopher Bratusek]

        - Expand REP_ENVIRON in scripts/Makefile.in [Luis Rodrigo
          Gallardo Cruz]

   * Widget Transistion:
        - GtkButton + GtkPreview + GtkColorSelection trio replaced by
          single GtkColorButton [Christopher Bratusek]

   * Other Changes:
        - Inactive windows in Crux theme do now have black text for
          better readability [Christopher Bratusek]

        - News items for 1.5.0 are rewritten to describe them better
          [Teika Kazura]


2009 08 30: sawfish 1.5.1 released

The first bugfix release of the 1.5 series is available for download, now!

NOTE:

The bug in sawfish-ui, regarding cutting of strings before non-ascii chars (like ä ö ü ß é è & co), has been fixed, in librep 0.90.2, so make sure to grab the latest librep, too, for much better Userexperience.

Download: https://sourceforge.net/projects/sawmill/files/


1.5.1
=====

   * The 1.5.1 release has backports from 1.6.0 (HEAD)

   * Bugs fixed:
        - Fix in SMlib check on x11r7 [Christopher Bratusek]

        - Fix in libICE check on x11r7 [Christopher Bratusek]

        - SpinButtons in Sawfish-UI are now connected to correct singal
          (allows typing in the value manually) [Christoper Bratusek]

        - Fix cursor warping in Infinite-Desktop [Jeremy Hankins]

        - Fixed group of the stagger options [Christopher Bratusek]

   * Other changes:
        - Sawfish does now appear in KDE4s WM Selector [Christopher
          Bratusek]

        - Fixed typos in the .desktop files and removed unneded entries
          [Christopher Bratusek]

        - Changing raise-tabs-on-hover takes effect immediately now
          [Christopher Bratusek]

        - Add -tag=CC to libtool where necessary, unbrakes compilation
          on some arches [Gentoo]

        - Distclean rule for po/Makefile.in [Christopher Bratusek]

Have fun and stay tuned, Flashrider [Christopher Bratusek] 19:57, 30 August 2009 (UTC)


2009 08 28: rep-gtk 0.90.0 released

Development release rep-gtk 0.90.0 is available for download!

Download: https://sourceforge.net/projects/rep-gtk/files/

0.90.0:
Minimum GTK+ Version: 2.12
Additions:
	GError support [Jürgen Hötzel]
	Basic GtkBuilder support [Jürgen Hötzel]

2.12 APIs added:
	*********** gtktreemodel.h ***********
	boxed GtkTreeIter
	gtk_tree_iter_copy
	gtk_tree_iter_free
	gtk_tree_iter_get_type
	boxed GtkTreePath
	gtk_tree_path_new
	gtk_tree_path_new_from_string
	gtk_tree_path_new_from_indices
	gtk_tree_path_to_string
	gtk_tree_path_new_first
	gtk_tree_path_append_index
	gtk_tree_path_prepend_index
	gtk_tree_path_get_depth
	gtk_tree_path_get_indices
	gtk_tree_path_free
	gtk_tree_path_copy
	gtk_tree_path_get_type
	gtk_tree_path_compare
	gtk_tree_path_next
	gtk_tree_path_prev
	gtk_tree_path_up
	gtk_tree_path_down
	gtk_tree_path_is_ancestor
	gtk_tree_path_is_descendant
	boxed GtkTreeRowReference
	gtk_tree_row_reference_get_type
	gtk_tree_row_reference_new
	gtk_tree_row_reference_new_proxy
	gtk_tree_row_reference_get_path
	gtk_tree_row_reference_get_model
	gtk_tree_row_reference_valid
	gtk_tree_row_reference_copy
	gtk_tree_row_reference_free
	gtk_tree_row_reference_inserted
	gtk_tree_row_reference_deleted
	gtk_tree_row_reference_reordered
	gtk_tree_model_get_iter
	gtk_tree_model_get_iter_from_string
	gtk_tree_model_get_string_from_iter
	gtk_tree_model_get_iter_first
	gtk_tree_model_get_path
	gtk_tree_model_get_value [not working, not compiled]
	gtk_tree_model_iter_next
	gtk_tree_model_iter_children
	gtk_tree_model_iter_has_child
	gtk_tree_model_iter_n_children
	gtk_tree_model_iter_nth_child
	gtk_tree_model_ref_node
	gtk_tree_model_iter_unref_node
	gtk_tree_model_get
	gtk_tree_model_get_valist
	gtk_tree_model_foreach [not working, not compiled]
	== GtkTreeModel 2.12 API complete ==
	== GtkTreeIter 2.12 API complete ==
	== GtkTreePath 2.12 API complete ==
	== GtkTreeRowReference 2.12 API complete ==
	*********** gtktreemodel.h ***********
	object GtkTreeModel
	flags GtkTreeModelFlags
	*********** gtktreeselection.h *******
	object GtkTreeSelection
	gtk_tree_selection_set_mode
	gtk_tree_selection_get_mode
	gtk_tree_selection_get_user_data
	gtk_tree_selection_get_tree_view
	*********** gtktreeview.h ************
	gtk_tree_view_new
	gtk_tree_view_new_with_model
	gtk_tree_view_get_model
	gtk_tree_view_set_model
	*********** gtkaboutdialog.h ***********
	gtk_about_dialog_new
	gtk_about_dialog_get_program_name
	gtk_about_dialog_set_program_name
	gtk_about_dialog_get_version
	gtk_about_dialog_set_version
	gtk_about_dialog_get_copyright
	gtk_about_dialog_set_copyright
	gtk_about_dialog_get_comments
	gtk_about_dialog_set_comments
	gtk_about_dialog_get_license
	gtk_about_dialog_set_license
	gtk_about_dialog_get_wrap_license
	gtk_about_dialog_set_wrap_license
	gtk_about_dialog_get_website
	gtk_about_dialog_set_website
	gtk_about_dialog_get_website_label
	gtk_about_dialog_set_website_label
	gtk_about_dialog_get_authors
	gtk_about_dialog_set_authors
	gtk_about_dialog_get_documenters
	gtk_about_dialog_set_documenters
	gtk_about_dialog_get_artists [not working]
	gtk_about_dialog_set_artists [not working]
	gtk_about_dialog_get_translator_credits
	gtk_about_dialog_set_translator_credits
	gtk_about_dialog_get_logo
	gtk_about_dialog_set_logo
	gtk_about_dialog_get_logo_icon_name
	gtk_about_dialog_set_logo_icon_name
	== GtkAboutdialog 2.12 API complete ==
	*********** gtkaccelgroup.h ***********
	gtk_accel_group_new
	gtk_accel_group_lock
	gtk_accel_group_unlock
	gtk_accel_group_connect
	gtk_accel_group_connect_by_path
	gtk_accel_group_disconnect
	gtk_accel_group_disconnect_key
	gtk_accel_group_activate [not working]
	gtk_accel_groups_activate
	gtk_accel_groups_from_object
	gtk_accel_group_find [not working]
	gtk_accel_group_from_accel_closure
	gtk_accelerator_parse
	gtk_accelerator_name
	gtk_accelerator_get_label
	gtk_accelerator_get_default_mod_mask
	gtk_accelerator_set_default_mod_mask
	gtk_accel_group_query
	== GtkAccelGroup 2.12 API complete ==
	*********** gtkaccellabel.h ***********
	gtk_accel_label_new
	gtk_accel_label_get_accel_widget
	gtk_accel_label_set_accel_widget
	gtk_accel_label_get_accel_width
	gtk_accel_label_set_accel_closure
	gtk_accel_label_refetch
	== GtkAccelLabel 2.12 API complete ==
	*********** gtkbutton.h ***********
	gtk_button_set_focus_on_click
	gtk_button_get_focus_on_click
	gtk_button_set_alignment
	gtk_button_get_alignment [not working, not compiled]
	gtk_button_set_image
	gtk_button_get_image
	gtk_button_set_image_position
	gtk_button_get_image_position
	Changed subtype of GtkButton from GtkContainer to GtkBin
	== GtkButton 2.12 API complete ==
	== GtkToggleButton already up-to-date ==
	== GtkCheckButton already up-to-date ==
	*********** gtkradiobutton.h ***********
	gtk_radio_button_new
	gtk_radio_button_new_with_label
	gtk_radio_button_new_with_mnemonic
	== GtkRadioButton 2.12 API complete ==
	== GtkColorButton 2.12 already up-to-date ==
	== GtkFileChooserButton needs GtkFileChooserAction first ==
	*********** gtkfontbutton.h ***********
	gtk_font_button_new
	gtk_font_button_new_with_font
	gtk_font_button_get_title
	gtk_font_button_set_title
	gtk_font_button_get_use_font
	gtk_font_button_set_use_font
	gtk_font_button_get_use_size
	gtk_font_button_set_use_size
	gtk_font_button_get_font_name
	gtk_font_button_set_font_name
	gtk_font_button_get_show_style
	gtk_font_button_set_show_style
	gtk_font_button_get_show_size
	gtk_font_button_set_show_size
	== GtkFontButton 2.12 API complete ==
	*********** gtklinkbutton.h ***********
	gtk_link_button_new
	gtk_link_button_new_with_label
	gtk_link_button_get_uri
	gtk_link_button_set_uri
	== GtkLinkButton 2.12 API complete ==
	*********** gtkscalebutton.h ***********
	gtk_scale_button_new
	gtk_scale_button_set_icons
	gtk_scale_button_get_value
	gtk_scale_button_set_value
	gtk_scale_button_get_adjustment
	gtk_scale_button_set_adjustment
	== GtkScaleButton 2.12 API complete ==
	== GtkSpinButton already up-to-date ==
	*********** gtksvolumebutton.h ***********
	gtk_volume_button_new
	== GtkVolumeButton 2.12 API complete ==
	*********** gtkenums.h ***********
	GtkArrowType >> none (GTK_ARROW_NONE)
	GtkButtonBoxStyle >> center (GTK_BUTTONBOX_CENTER)
	GtkSensitivityType >> auto (GTK_SENSITIVITY_AUTO)
	GtkSensitivityType >> on (GTK_SENSITIVITY_ON)
	GtkSensitivityType >> off (GTK_SENSITIVITY_OFF)
	GtkMovementStep >> horizontal-pages (GTK_MOVEMENT_HORIZONTAL_PAGES)
	GtkScrollStep >> steps (GTK_SCROLL_STEPS)
	GtkScrollStep >> pages (GTK_SCROLL_PAGES)
	GtkScrollStep >> ends (GTK_SCROLL_ENDS)
	GtkScrollStep >> horizontal-steps (GTK_SCROLL_HORIZONTAL_STEPS)
	GtkScrollStep >> horizontal-pages (GTK_SCROLL_HORIZONTAL_PAGES)
	GtkScrollStep >> horizontal-ends (GTK_SCROLL_HORIZONTAL_ENDS)
	GtkScrollType >> page-left (GTK_SCROLL_PAGE_LEFT)
	GtkScrollType >> page-right (GTK_SCROLL_PAGE_RIGHT)
	GtkWarpMode >> word-char (GTK_WRAP_WORD_CHAR)
	GtkIMPreeditStyle >> nothing (GTK_IM_PREEDIT_NOTHING)
	GtkIMPreeditStyle >> callback (GTK_IM_PREEDIT_CALLBACK)
	GtkIMPreeditStyle >> none (GTK_IM_PREEDIT_NONE)
	GtkIMStatusStyle >> nothing (GTK_IM_STATUS_NOTHING)
	GtkIMStatusStyle >> callback (GTK_IM_STATUS_CALLBACK)
	GtkIMStatusStyle >> none (GTK_IM_STATUS_NONE)
	GtkPackDirection >> rtl (GTK_PACK_DIRECTION_RTL)
	GtkPackDirection >> ltr (GTK_PACK_DIRECTION_LTR)
	GtkPackDirection >> ttb (GTK_PACK_DIRECTION_TTB)
	GtkPackDirection >> btt (GTK_PACK_DIRECTION_BTT)
	GtkPrintPages >> all (GTK_PRINT_PAGES_ALL)
	GtkPrintPages >> current (GTK_PRINT_PAGES_CURRENT)
	GtkPrintPages >> ranges (GTK_PRINT_PAGES_RANGES)
	GtkPageSet >> all (GTK_PAGE_SET_ALL)
	GtkPageSet >> even (GTK_PAGE_SET_EVEN)
	GtkPageSet >> odd (GTK_PAGE_SET_ODD)
	GtkPageOrientation >> portrait (GTK_PAGE_ORIENTATION_PORTRAIT)
	GtkPageOrientation >> landscape (GTK_PAGE_ORIENTATION_LANDSCAPE)
	GtkPageOrientation >> reverse-portrait (GTK_PAGE_ORIENTATION_REVERSE_PORTRAIT)
	GtkPageOrientation >> reverse-landscape (GTK_PAGE_ORIENTATION_REVERSE_LANDSCAPE)
	GtkPrintQuality >> low (GTK_PRINT_QUALITY_LOW)
	GtkPrintQuality >> normal (GTK_PRINT_QUALITY_NORMAL)
	GtkPrintQuality >> high (GTK_PRINT_QUALITY_HIGH)
	GtkPrintQuality >> draft (GTK_PRINT_QUALITY_DRAFT)
	GtkUnit >> pixl (GTK_UNIT_PIXEL)
	GtkUnit >> points (GTK_UNIT_POINTS)
	GtkUnit >> inch (GTK_UNIT_INCH)
	GtkUnit >> mm (GTK_UNIT_MM)
	GtkTreeViewGridLines >> none (GTK_TREE_VIEW_GRID_LINES_NONE)
	GtkTreeViewGridLines >> horizontal (GTK_TREE_VIEW_GRID_LINES_HORIZONTAL)
	GtkTreeViewGridLines >> vertical (GTK_TREE_VIEW_GRID_LINES_VERTICAL)
	GtkTreeViewGridLines >> both (GTK_TREE_VIEW_GRID_LINES_BOTH)
	GtkDragResult >> success (GTK_DRAG_RESULT_SUCCESS)
	GtkDragResult >> no-target (GTK_DRAG_RESULT_NO_TARGET)
	GtkDragResult >> user-cancelled (GTK_DRAG_RESULT_USER_CANCELLED)
	GtkDragResult >> timeout-expired (GTK_DRAG_RESULT_TIMEOUT_EXPIRED)
	GtkDragResult >> grab-broken (GTK_DRAG_RESULT_GRAB_BROKEN)
	GtkDragResult >> error (GTK_DRAG_RESULT_ERROR)
	== GtkEnums 2.12 complete ==
	*********** gtkcolorbutton.h ***********
	Implemented new widget: GtkColorButton
	== GtkColorButton 2.12 API complete ==

DEPRECATED APIs removed:
	GtkPreview*
	GtkSignalRunType
	GtkSubMenuDirection
	GtkSubMenuPlacement

Happy Hacking, Flashrider [Christopher Bratusek] 19:57, 28 August 2009 (UTC)


2009 08 25: librep 0.90.2 released

I'm pleased to announce librep 0.90.2

Get it from the usual place: https://sourceforge.net/projects/librep/files/

0.90.2
======

   * Fixed a major defunct with prin1 + utf8 [Timo Korvola]

   * Fixed descriptions of formats %s and %S in streams.c

Happy Hacking, Flashrider [Christopher Bratusek] 16:54, 25 August 2009 (UTC)


2009 08 23: librep 0.90.1 released

I'm pleased to announce librep 0.90.1

Get it from the usual place: https://sourceforge.net/projects/librep/files/

0.90.1
======

   * Properly terminate the rep interpreter [Jürgen Hötzel]

   * Use readline history in interactive mode [Jürgen Hötzel]

   * Tar file-handler does now support XZ compressed tarballs

   * Tar file-handler does now support LZMA compressed tarballs

   * Improved regex for parsing tar output in the file-handler [Alexey
     I. Froloff]

   * We do now correctly check for libffi

   * Improved libffi-binding [Alexey I. Froloff]

   * Updated librep.sym for missing entries [Alexey I. Froloff]

   * Fixed an incomplete definition

   * Added -L$prefix to libs section of the .pc file

   * No C++ style comments in C code

Happy Hacking, Flashrider [Christopher Bratusek] 13:10, 23 August 2009 (UTC)


2009 07 05: rep-gtk 0.18.6r2 released

re-release of rep-gtk 0.18.6, shipping configure and m4/

Get it from the usual place: https://sourceforge.net/project/showfiles.php?group_id=581


2009 07 03: sawfish 1.5.0 released

The long awaited 1.5.0 release of sawfish is finally available!

I've never thought of sawfish 1.5.0 beeing released before e17, two years ago. Thanks to John, Janek, the Sawfish-Crew, all Contributors and Users, Mandriva/Gentoo/Debian/ALT/Arch which did not drop sawfish and provide fresh packages.

It's brings one incompatibility compared to 1.3x: ~/.sawmillrc is no longer a valid configurationfile, if you still use that file, simply rename it to either ~/.sawfishrc or ~/.sawfish/rc, and you're done.

Translation bug[]

Important: the configurator GUI is broken for non-english letters (or non-ascii is more correct?).

Sawfish core members are sorry for it, and it will be fixed in 1.6.

Some additonal notes:[]

for compiling with XFree86 or X.Org 6.x instead of X.Org 7.x, add the following flag to configure:

--without-xorg-x11

for compiling with Imlib1 as image-loader instead of gdk-pixbuf-xlib (which works again), add:

--without-gdk-pixbuf

for not installing translations, add:

--without-nls

or (deprecated, since ="no" would install norwegian translation instead of nothing)

--enable-linguas=" "

to compile without pango, add:

--without-pango

(by default, X.Org 7, gdk-pixbuf-xlib, nls and pango are enabled)

The Overview of changes[]

1.5.0
=====

   * The 1.5.0 release has new features and bugfixes

   * New/Updated requirements:
        - librep 0.17 -> 0.90.0

        - rep-gtk 0.18.3 -> 0.18.4

   * User visible changes:
        - Fully renamed from "sawmill" to "sawfish"

          If your `.sawfishrc' has a line `(require 'sawmill-defaults)',
          then change it to `(require 'sawfish-defaults)'.

          If your configuration file is named `~/.sawmillrc', then
          rename it to `~/.sawfish/rc' or `~/.sawfishrc'.

        - Configurator GUI's default style is tree view of categories.

          Configurator GUI (sawfish-ui) used to display categories in
          flat row, but now arranges them in tree diagram.

          To use the old style, put `(define-special-variable
          customize-program "sawfish-ui --flatten")' in your
          configuration file.

   * Bugs fixed:
        - Fixed an compilation-error caused by glib [Michal Jaegermann]

        - Make building with imlib1 instead of gdk-pixbuf work again
          [Michal Jaegermann]

        - Create src/build.h, since it has been missing before
          [Christopher Bratusek]

        - Fixed an "unknown remote error" that might appear [Alexey I.
          Froloff]

        - Make "make uninstall" work again [Christopher Bratusek]

        - Fixed the issue that apps did not start iconified, even if
          requested [Ian Zimmerman, Teika Kazura]

        - First create $datadir/applications, then install the desktop
          file [Christopher Bratusek]

        - Fixed default animation outline coordinates [Christopher
          Bratusek]

        - Don't ignore datarootdir setting [Christopher Bratusek]

        - Make Sawfish more error-tolerant if an app has an icomplete
          WM_CLASS [Martin Mares]

        - Make sure we don't mix Super and Hyper [Denis Barbier]

        - Fixup the last incomplete AC_DEFINE [Christopher Bratusek]

        - Fixed a speed-issue with microGUI [Christopher Bratusek]

        - Make properly use of WM_NAME in Elberg-tabbed [Christopher
          Bratusek]

   * New features:
        - UTF-8 Support in Windowmenus [Wang Diancheng]

        - UTF-8 Support in GTK Widgets [Christopher Bratusek]

        - Tabbed Windowing Support [Yann Hodique, Scott Scriven, Nathan
          Froyd, Christopher Bratusek]

        - Improved KDE3 Integration [Timo Korvola]

        - Replaced hardcoded focus logic by focus-revert function [Timo
          Korvola]

        - Tabbed Windowing Support: Raise Tabs on hover [Christopher
          Bratusek]

        - Warp cursor to cycled windows, if warp-cursor is enabled
          [Christopher Bratusek]

        - Warp cursor to unmaximied windows, if warp-cursor is enabled
          [Fernando Carmona Varo]

        - 3 New Window-Animators: cross, elliptical and draft
          [Christopher Bratusek, Teika Kazura[draft fixups]]

        - Shrinking/Yanking Support [Timo Korvola]

        - Infinite Desktop Feature (make the virtual desktop bigger
          than the physical) [David T. McWherter]

        - Make Viewport commands appear in Sawfish-UI [Christopher
          Bratusek]

        - Make Window History appear in Sawfish-UI [Christopher
          Bratusek]

        - Added cycle-among-groups(,-backwards) commands (cycle between
          the most recently used window of groups) [Fernando Carmano
          Varo]

        - Interactive placement-mode now also for transients
          [Christopher Bratusek]

        - Improved prompt.jl (allows changing font, fg and bg color)
          [Sergey I. Sharybi]

        - Expose fixed-position, never-iconify, never-maximize in the
          Window-Matcher UI [Christopher Bratusek]

   * Other changes:
        - To build with XFree86/X.Org < 7.0 add -without-xorg-x11r7
          flag [Christopher Bratusek]

        - To build without Pango add -without-pango flag [Christopher
          Bratusek]

        - To prevent installing translations add -without-nls flag
          [Christopher Bratusek]

        - Set RestartStyleHint to 2 [Christian Marillat]

        - When matching window to alist try WM_NAME if WM_CLASS is
          unset [Christian Marillat]

        - Major Documentation update [Derek Upham, Teika Kazura]

        - New Sound Theme [glh Pimenta]

        - Added ebuild [Harald van Dijk]

        - Added session desktop file [Christopher Bratusek]

        - rep.m4 has been dropped use librep.pc/rep-gtk.pc instead
          [Christopher Bratusek]

        - Added sawfish.pc [Christopher Bratusek]

        - Improved Makefile's distclean rule [Christopher Bratusek]

        - Updated .desktop files for gnome-session >=2.23 [Christopher
          Bratusek]

        - Fixed autogen for libtool >2.2 [Christopher Bratusek]

        - Major configure script rework [Christopher Bratusek]

        - Don't ship config.sub config.guess and install-sh in
          $srcdir/etc [Christopher Bratusek]

        - Reworked Sawfish-UI [Christopher Bratusek]

        - Dropped libgnome|gnomeui|gnomecanvas widgets, use pure gtk
          instead [Christopher Bratusek]

        - Merged changes from sawfish-pager [Christopher Bratusek]

        - Major update of the spec file [Christopher Bratusek, Michal
          Jaegermann, Ritz]

        - Print usefull stuff at the end of configure [Christopher
          Bratusek]

        - Add distclean rule to all Makefiles [Christopher Bratusek]

        - Add KEYBINDINGS file, containing a list of all default
          keybindings [Christopher Bratusek]

        - Updated OPTIONS for all new options [Christopher Bratusek]

        - Cleaned Up Makedefs.in [Christopher Bratusek]

        - Move 'avoid' window-matcher from placement to state [Teika
          Kazura]

        - Updated compat.jl [Teika Kazura]

        - Removed all old ChangeLog files [Christohper Bratusek]

        - Make move-cursor.jl export all functions described in the doc
          [Christopher Bratusek]

Download:[]

Get it from the usual place: https://sourceforge.net/project/showfiles.php?group_id=32

Have a lot of fun and stay tuned!

Tab usage[]

Tab usage is described here.

We don't release 1.4[]

For historical reason, we don't release sawfish-1.4. The previous series was 1.3.x, and now we release 1.5.

- Flashrider [Christopher Bratusek] 14:03, 3 July 2009 (UTC)


2009 07 02: librep 0.90.0 released

The librep release, sawfish 1.5.0 is based on, is now available!

0.90.0
======

   * Added UTF-8 Support! [Wang Diancheng]

   * Remove scheme and unscheme modules

   * Going on with code-cleanup

Download: https://sourceforge.net/project/showfiles.php?group_id=580


2009 06 19: rep-gtk 0.18.6 released

a new minor bugfix release of rep-gtk is available. It's the last

release of 0.18x series, in trunk the development of rep-gtk 0.90.0 will happen the next weeks/months. The goal is to update the rep-gtk API to gtk+ 2.12, which will give us the opportunity to replace the GtkTree and the GtkCombos in sawfish-ui by GtkTreeView and GtkComboBoxes in sawfish-1.6.0 (I know, already speaking of 1.6 prior to 1.5 to be released).

Enough future plans. Now the (mini-)ChangeLog:

0.18.6:

       	- fixup %files section in .spec
        - add --libdir=%{_libdir} to configure flags in .spec
        - require gtk2 instead of gtk+ in .spec

Get it from the usual place: https://sourceforge.net/project/showfiles.php?group_id=581


2009 06 08: Sawfish 1.3.5.3 released

The final release of sawfish 1.3x is available!

What's new?

1.3.5.3
=======

   * Fixes:
        - Fixup all AC_DEFINE

        - Don't ignore datarootdir setting

        - Fix an issue with XFT Fonts [Teika Kazura]

        - Sawfish-1.3 is now discontinued, in favor of sawfish-1.5

Get it from the usual place: https://sourceforge.net/project/showfiles.php?group_id=32


2009 05 07: librep 0.17.4 released

a small bugfix release of librep is available!

0.17.4:

  * Don't ignore datarootdir setting
  * Fixed an aclocal warning from configure.in
  * Improved configures ending message
  * Doc update in 'Numbers' section. Lacking description on machine
    dependence is added. [Teika]
  * Remove tar target from Makefile [Ritz]

Download: https://sourceforge.net/project/showfiles.php?group_id=580


2009 05 03: rep-gtk 0.18.5 released

A small bugfix release of rep-gtk is available!

Changes: 0.18.5:

       - don't ignore datarootdir setting
       - fix libdir/pkgconfig issue
       - improved configures ending message

Download: https://sourceforge.net/project/showfiles.php?group_id=581


2009 03 05: Sawfish 1.3.5.2 released

New bugfix release of sawfish.

This release makes the 1.3 series of sawfish compatible with the latest changes in librep and rep-gtk. Download: https://sourceforge.net/project/showfiles.php?group_id=32


2009 03 05: librep 0.17.3 and rep-gtk 0.18.4 released

New released of librep and rep-gtk are available.

librep-0.17.3 and rep-gtk-0.18.4 have bugfixes and internal updates (autotools, project ridley ...).


2008 12 23: Sawfish 1.3.5.1 released

A Hotfix release as X-Mas present arrived!

Michal Jaegermann fixed an issue, where glib caused compilation errors. This does not happen with every glib version (I'm using 2.19.4svn - it's not appearing here), but for everyone here's a fixed release. This change is already commited in svn.

get it from the usual place: https://sourceforge.net/project/showfiles.php?group_id=32


2008 12 20: Sawfish 1.3.5 released

Sawfish 1.3.5 hit the floor!

Get it from the usual place: https://sourceforge.net/project/showfiles.php?group_id=32&package_id=17&release_id=648475

What's new?

   * The 1.3.5 version has new features and bugfixes

   * New/Updated requirements:
        - librep 0.14 -> 0.17

        - rep-gtk 0.18 -> 0.18.3

   * New features:
        - Support _NET_WM_USER_TIME by Hellmut Eller

        - Added ATK-A11Y Support by Shobbit Marthur

        - Added Viewport-Boundary by Christopher Bratusek

        - Added Error-Handler "both" by Christopher Bratusek

        - Added 2 new Buttonlayouts to Crux "complete" and "complete
          inverse" by Christopher Bratusek

        - Honour ICCCM Aspect Ratio by Andrea Vettorello

        - Expose all Keybindings in SawfishUI by Christopher Bratusek

        - Added Animated Viewport Scrolling by Fernando Carmona Varo

        - Also expose the "Stagger" and "Off-Center" placement-modes

        - Add a new hook: "before-slide-hook" by Andrea Vettorello

        - Expose all smart placement-modes, "Best-Fit",
          "Best-Fit-Group", "First-Fit-Or-Interactively" by Christopher
          Bratusek

        - Better GNOME Integration by Christian Marillat

   * Bugfixes:
        - Minimum pango version is 1.8.0 not 1.16.0 by Christopher
          Bratusek

        - Fix Installation of mxflat by Michal Jaegermann

   * Other Changes:
        - Remove all ^L in the source by Teika Kazura

        - Small Code-cleanup to make build with "-Wall -ansi -pedantic"
          possible again (also requires recent librep for this to work)

        - Major Documentation Update by Derek Upham

        - updated the shipped config.sub and config.guess by
          Christopher Bratusek


2008 11 23: librep-0.17.2 & rep-gtk-0.18.3 released

Long waited updates for librep & rep-gtk are now available.

librep-0.17.2 and rep-gtk-0.18.3 have many bugfixes. Especially, sawfish-1.3.4 users are encouraged to install the new rep-gtk. You can now choose themes from GUI again.

Before running 'configure' script for librep-0.17.2, do

$ libtoolize --force --copy

to generate 'config.sub'. It is not necessary for rep-gtk-0.18.3.


2008 09 17: Sawfish experimental 1.3.4 released

We are pleased to announce the experimental release of Sawfish 1.3.4. This version has new features added for testing purposes.

This new sawfish-experimental branch can always be re-created using Category:In_experimental from sawfish trunk. In this way we are solving the potential problem of the experimental branch wandering too far from the trunk. This "re-creation" method will be performed from time to time to ensure that it still works.

This release is intended to be packaged separately from sawfish release, for linux distributions, which will allow end users to have a choice between "sawfish" (stable) and "sawfish-experimental" packages.

Many hidden options were re-exposed in the configurator: viewport bindings and dimensions, window animation options, tooltips options, window movement outline modes, move/resize options and edge-flip delay. A new error handler was added which allows printing errors to both: a file and onto a screen dialog box. A new hook after raise/lower window has been added with intention of using it for tabbed-windowing. Added an option for smooth animation when changing viewports. An option allowing to warp the mouse pointer to windows while cycling them was added as well as option to move mouse cursor to active window which was just unmaximized, which prevents this window from losing focus.

See a list of patches being tested here for details.


2008 08 29: Sawfish 1.3.4 released

We are pleased to announce the 1.3.4 sawfish release. This version includes numerous bugfixes and improvements submitted by the Sawfish community.

A new Enter-Click focus mode was added, window property handling was improved, and few new themes were added. It's possible now to maximize a window over all xinerama monitors. A raise-lower-window bug when using transparent windows with xcomposite extension was fixed. Moving a window across viewports with a keybinding no longer causes them to lose focus. A major C part cleanup was done, and a spec file was updated. Finally a deprecated themer was removed.

See a list of accepted patches for details.


Themes absence in GUI[]

Themes don't appear in GUI. Fix it by updating rep-gtk to >= 0.18.3.


2008 07 23: One/two week patches deadline for 1.3.4

Sawfish 1.3.4 will be released in about one or two weeks and all submitted Patches will be considered for inclusion into this release. But there are patches with just one vote, or no votes at all! Your votes are really necessary to make a decision. If you are a sawfish user concerned about sawfish release 1.3.4 please do following:

  1. pick a particular patch and test it in your sawfish, by applying it to your sawfish installation and checking how it works.
  2. edit the patch page and put there either {{yes}}, {{no}} or {{wtf}}, with a small comment how well/bad it performs.

To keep things moving, on this release, I'll go into the risky direction, rather accepting patches than not. By this way untested patches will suddenly get a lot of testers which hopefully will bring bugfixes into the next release, or will get a patch removed in the next release. Otherwise some useful patches will keep waiting here forever. This of course means, that future release 1.3.5 will be a bugfix release :) Thanks for staying tuned!

Remeber that your input in this wiki and the mailing list is really important, it's all of you who drives sawfish releases. I'm just humbly making it happen ;)

Janek Kozicki 22:56, 22 July 2008 (UTC)


2008 07 14: Sawfish 1.3.4 release suggested

Janek Kozicki has suggested the release of Sawfish-1.3.4, perhaps the end of this July or so.

To help him for the release, votes for patches are welcomed. - Teika kazura 08:19, 14 July 2008 (UTC)


2008 02 18: Sawfish 1.3.3 released

With our great community effort we have managed to make together the 1.3.3 sawfish release. This version includes several bugfixes. Window titles with UTF-8 are working and no more openoffice crashes, correct handling of pango fonts, inform the running theme when window title length has changed so that the theme can adjust and workaround some problems with KDE not always using freedesktop.org protocol in KDE tray.

This release was brought to you by Timo Korvola, Rodrigo Gallardo, Yuuki Harano and Harald van Dijk. Kudos to them!

See a list of accepted patches for details.


2008 02 05: Bugfix release 1.3.3 in two weeks

sawfish 1.3.3, soon[]

Due to several problems with release 1.3.2 a new bugfix release will be made around 17 february. Two patches, Utf 8 names fix and Titlebar updates shall supposedly fix problems reported at:

This is a bugfix release so patches which add new functionality are unlikely to be added here. However I'm still encouraging you to do the usual patch testing:

  1. pick a particular patch and test it in your sawfish, by applying it to your sawfish installation and checking how it works.
  2. edit the patch page and put there either {{yes}}, {{no}} or {{wtf}}, with a small comment how well/bad it performs.

sawfish-pager 0.7, soon[]

In related news, I have contacted the sawfish-pager autor, Daniel Pfeiffer, and he was glad to hear that we want to make a new release with few bugfixes. So from now on sawfish-pager will be hosted on our wiki site, and expect a 0.7 release soon, most likely altogether with sawfish 1.3.3 release.

Janek Kozicki 20:00, 5 February 2008 (UTC)


2008 01 20: Sawfish 1.3.2 released

We are pleased to announce the 1.3.2 sawfish release. This version includes patches submitted by sawfish community.

In this release strings are re-encoded in UTF-8 thus window titles will be set correctly regardless of title encoding and documentation was updated. Other bugfixes: nautilus can now restore its desktop window size, the 64 bit client messages were fixed, KDE system tray no longer fights with sawfish to reparent a tray icon, QT applications no longer lose focus when menu is active, window placement was corrected in xinerama/dualhead and few others.

See a list of accepted patches for details.


2008 01 14: One week patches deadline for 1.3.2

Sawfish 1.3.2 will be released around 20 january and all submitted Patches will be considered for inclusion into this release. However it is not possible to make an uninformed choice. Your votes are really necessary to make a decision. If you are a sawfish user concerned about sawfish release 1.3.2 please do following:

  1. pick a particular patch and test it in your sawfish, by applying it to your sawfish installation and checking how it works.
  2. edit the patch page and put there either {{yes}}, {{no}} or {{wtf}}, with a small comment how well/bad it performs.

Patches that I'm unable to verify (be it positively or negatively) will remain in submitted patches waiting for next release. All the other patches will be either accepted and included in 1.3.2 release or rejected.

Your input in this wiki and the mailing list is really important, it's all of you who drives sawfish releases. I'm just humbly making it happen ;)

Janek Kozicki 15:42, 14 January 2008 (UTC)


2007 07 27: Sawfish 1.3.1 released

Sawfish 1.3.1 is the first release after the Sawfish author, John Harper, resigned from Sawfish maintainership and the Sawfish community took over.

The release 1.3.1 is to let people know about the revival of Sawfish development and that the process of collecting patches for the next release 1.3.2 has started. Please send your local or distribution-specific patches to the sawfish mailing list for consideration. Documentation was updated with v0.11 from Derek Upham, a tool for automatic screenshot generation of huge number of themes from Scott Scriven was added and a detection for Xrandr extension from Philip Langdale was added.


2007 07 03: Sawfish goes to the community

Sawfish's author, John Harper, has decided to resign from maintainership of Sawfish and currently the project is completely within the hands of Sawfish community. A group of people from the Sawfish mailing list gathered together to work on a new wiki website, and to make a new sawfish release 1.3.1.

A volunteer Janek Kozicki took the lead in the sense that he will have access to the SVN repository (and can give it to others), has administering privileges of Sawfish mailing list, has access to Sawfish website on sourceforge.net and freshmeat.net. With this power he will be able to help in managing the community's effort to make Sawfish releases, patching the code in the SVN repository and improving it (like adding an XComposite extension or tabs support to windows). But since he is not a Sawfish coder (no lisp skills, poor C skills, excellent C++ skills ─ not useful in developing Sawfish), he will rely heavily on input from other people, to get the work done.

For more information see History and People.