2010 10 02: sawfish 1.7.0 released

773pages on
this wiki
Add New Page
Add New Page Talk0

Available is Sawfish- 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 Edit

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.


Tar/BZ2: 3,56 MB


Tar/XZ : 2,38 MB


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

          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

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

          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

        - 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

        - 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

          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

        - 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

             * `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.

          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

     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

          Icon is now provided. (If it doesn't show up, first run

          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 `' [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)

Also on Fandom

Random Wiki