Jump to content
Compatible Support Forums
Sign in to follow this  
news

[ANNOUNCE] Sawfish 1.8.0

Recommended Posts

Hi all,

 

a new version of Sawfish is available now.

 

Sawfish 1.8.0 "æ€Âã„やり (Omoiyari)"

 

What's Sawfish?

===============

 

Sawfish is an extensible window manager using a Lisp-based scripting language. Its

policy is very minimal compared to most window managers. Its aim is simply to manage

windows in the most flexible and attractive manner possible. All high-level WM

functions are implemented in Lisp for future extensibility or redefinition.

 

These are some of the features that set Sawfish apart from other window managers:

 

* Powerful key-binding: Virtually every functionality provided by Sawfish can be

bound to keys (or mouse buttons).

 

* Event hooking: For many events (moving windows etc.) you can customize the way

Sawfish will respond.

 

* Window matching: When windows are created you can match them to a set of rules and

automatically perform actions on them.

 

* Flexible theming: Sawfish allows for very different themes to be created and a

variety of third-party themes are readily available.

 

Sawfish was formerly known as Sawmill but then renamed to Sawfish due to pending

patents on the name Sawmill. It's original Author is John Harper who got employed by

Apple which prohibited him to continue working on Sawfish (and librep/rep-gtk). In

Mid 2007 Janek 'The Re-Animator' Kozicki overtook the development of Sawfish. In Mid

2008 Christopher 'Flashrider' Bratusek overtook development of librep and rep-gtk,

followed by Sawfish and SawfishPager in December 2008.

 

Where to get more infos/news ?

Where to get in contact with the community?

============================

 

Homepage (Wiki): http://sawfish.wikia.com

Mailing-List: http://mail.gnome.org/mailman/listinfo/sawfish-list

BugZilla: http://bugzilla.gnome.org

IRC: sawfish ( -at -) freenode

Twitter: ( -at -) nanolx

 

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!

Chris

_______________________________________________

 

Share this post


Link to post

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
Sign in to follow this  

×