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.