Sawfish

Software Screenshot:
Sawfish
Software Details:
Version: 1.10
Upload Date: 20 Feb 15
Developer: John Harper
Distribution Type: Freeware
Downloads: 7

Rating: nan/5 (Total Votes: 0)

Sawfish (previously known as Sawmill) is an open source, minimal and extensible window manager for Linux and UNIX-like operating systems, using a Lisp-based scripting language.

Sawfish’s aim is to allow users to easily manage windows in the most attractive and flexible manner possible. It features powerful key-bindings, event hooking, window matching, and flexible theming.

Even if it’s highly extensible, Sawfish does not implement application launchers, desktop backgrounds, or other similar components that are available on more powerful desktop environment as separate applications.

Sawfish is cross-platform, thus supported on Linux and BSD operating systems.

What is new in this release:

  • The dimension window-matcher now properly restores a window's size, tabbing remains usable when a window marked for tabbing is destroyed before doing so, and some minor fixes.
  • New features concentrate on tabs: windows marked for tabbing now have a different color, and tabs support viewport/workspace-sticky.
  • There are updated Debian packaging scripts.

What is new in version 1.8.2:

  • More robustness for get-window-by-* functions.
  • Fixes all issues in higher-level functions, like failing jump-or-exec.
  • Doing cursor-warping to a shaded window now warps to the correct position.
  • Manager selection handling has been fixed.
  • Failing to generate an application menu, while parsing incorrect .desktop files, has been fixed.
  • In EdgeActions, HotSpot, HotMove, and EdgeFlip are prevented from being invoked multiple times a time.
  • This release fixes Debian packaging scripts and makes compilation with makepp instead of GNU make work.

What is new in version 1.8.0:

  • The apps-menu is now fully configurable via filters.
  • EdgeActions have been added, providing a centralized structure to setting up actions for your screen-borders.
  • The Tab-System has been greatly improved; manual adjustment of themes, for example, is no longer required.
  • StyleTab is the new default theme, in favor of Crux.
  • The following translations were updated: Spanish, Czech, German, Chinese (Simplified), Norwegian Bokmal, Slovenian, and French.
  • Several minor bug fixes and documentation updates were made.

What is new in version 1.7.0:

  • 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".

What is new in version 1.6.3.1:

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

What is new in version 1.6.2:

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

What is new in version 1.5.3:

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

What is new in version 1.5.2:

  • This release is compatible with rep-gtk 0.90.0.
  • In the Crux Theme, inactive Windows have a black font color for better readability.
  • News for 1.5.0 has been improved.
  • There are two small autotools fixes.

What is new in version 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]

Screenshots

sawfish_1_73847.jpg
sawfish_2_73847.jpg

Similar Software

LXQt
LXQt

22 Jun 18

wmjump
wmjump

11 May 15

Comments to Sawfish

Comments not found
Add Comment
Turn on images!