because it no longer works with the version of openbox in pkgsrc.
Meanwhile, upstream seems to have decided that they don't need to make
releases any more, so there's no prospect of a new version being
available, only random development version taken directly from their
SCM.
If anyone actually uses this or cares about it, please try to persuade
upstream to cut a release, or even just tar up a snapshot that they
think is stable.
At that point we can reimport the package.
recent OpenBox. Meanwhile, upstream seems to have decided that they
don't need to make releases any more, so there's no prospect of a new
version being available, only random development versions taken
directly from their SCM.
If anyone actually uses this or cares about it, please try to persuade
upstream to cut a release, or even just tar up a snapshot that they
think is stable.
If nothing develops, the package will be removed sometime after 2012Q2
is branched.
1.0.7:
This minor maintenance release includes a bunch of fixes from static
analysis of the twm code with various compilers & tools, as well as
other pro-active work attempting to reduce potential bugs, and a set
of build configuration improvements.
1.0.6:
This minor build fix release solves a problem introduced in 1.0.5
that prevented configure from completing when cross-compiling.
1.0.5:
This minor maintenance release provides the last two years'
Worth of build configuration improvements, janitorial cleanups, &
Makefile.am support for automake-1.11 silent builds.
DESTDIR support was not complete for this package. Attempts to create /usr/pkg/include and
/usr/pkg/lib directory were being made. This was discovered while trying to build under a
non-root user. After updating patch-aa, a non-root user can install this package without issue.
Changes from 2.0.1 (per http://joewing.net/programs/jwm/history.shtml )
JWM v2.1.0 <> 20110925
* Revision 502
* Fixed several window handling issues.
* Fixed an issue with key bindings and modifiers.
* Added some more key bindings.
* Changed the way the "next" and "nextstacked" key bindings behave.
* Merged some user-contributed patches.
* Rounded window corners (Patriot).
* Support for transparent menus, trays, and windows (Patriot).
* New borders for buttons (Patriot).
* User-replaceable window button masks (Patriot).
* gxine fullscreen fix (Patriot).
* Fix for windows loosing focus when switching desktops (Patriot).
* More key bindings (Dougal).
* Transparent group (Dougal).
* Some code cleanups.
* Added the ability to resize from the top of windows.
* Added support for pager labels.
Remove devel/py-ctypes (only needed by and supporting python24).
Remove PYTHON_VERSIONS_ACCEPTED and PYTHON_VERSIONS_INCOMPATIBLE
lines that just mirror defaults now.
Miscellaneous cleanup while editing all these files.
From Bug Hunting in PR pkg/45737
Changes in the 6.0:
- several Xinerama fixes;
- a new approach to hide clients into negative space rather than positive;
- the return of the nmaster functionality (Mod1-i, Mod1-d);
- better EWHM support for floating windows;
- fixed sloppy focussing of empty screens;
- a new default color scheme (actually a new old one, now bluedark rather than
bluegray).
The session.o object contains the IceProcessMessages symbol which wasn't
previously directly linked with libICE. This is another imake-based
package so libICE is now directly linked by all platforms.
Bugs fixed
- Vita Cizek fixed a bug that caused pekwm to crash on startup when another
windowmanager was already running.
- #252 "Resize code should consume last ButtonRelease event" reported and fixed
by wallex
- #259 "Window ghosting with xcompmgr shaded windows" reported by
kevin.clevenger and fixed by Claes Nästén and Andreas Schlic
- #297 "MRU window selection does not honour 'Skip=FocusToggle'" reported and
fixed by wallex
- #298 "MRU list should be refreshed on workspace change" reported and fixed by
wallex
User visible changes
- #290 "Allow autoproperties to set the decor" fixed by Andreas Schlick
- #268 "allow maximizing of client windows" reported by marin and fixed by
Andreas Schlick
#118 "Set decor name based on hints: _NET_WM_DEMANDS_ATTENTION and
WM_CLIENT_MACHINE"
Compatibility fixes Configuration changes
New autoproperty "Decor". You can use this autoproperty to give windows a
specific decor.
Theme changes
Themes can specify a special decor "ATTENTION" that is used for clients
that set the urgency/demands-attention hint.
* Stop to treat NetBSD's sed as GNU sed, not full compatible.
* Then, no need to reset TOOLS_PLATFORM.gsed for NetBSD if USE_TOOLS+=gsed and
real GNU sed is required.
* In addition, convert simple USE_TOOLS+=gsed to conditionally, without NetBSD.
* convert {BUILD_,}DEPENDS+=gsed to USE_TOOLS, all tools from gsed are real gsed.
Notion is a tiling, tabbed window manager for the X window system:
Tiling: you divide the screen into non-overlapping 'tiles'.
Every window occupies one tile, and is maximized to it
Tabbing: a tile may contain multiple windows - they will be
'tabbed'
Static: most tiled window managers are 'dynamic', meaning they
automatically resize and move around tiles as windows appear
and disappear. Notion, by contrast, does not automatically
change the tiling. You're in control.
just a man page and asciidoc is fairly harmless, and it's not entirely
clear how to disable the test, run with it: add a build depend on
asciidoc, plus USE_TOOLS+=gzip, and update the plist. PKGREVISION -> 2.
* Respect maximise states while resizing
* Add basic .desktop file
* Add configuration file
$HOME/.evilwmrc - options are one per line, omitting leading dash.
* Add long alternatives to -g, -v and -s
-geometry, -vdesk and -sticky.
* Record pre-maximisation dimensions in evilwm-specific window properties
_EVILWM_UNMAXIMISED_HORZ and _EVILWM_UNMAXIMISED_VERT.
* Extensive EWMH support. See doc/standards.html for details.
* Mostly new Makefile
* Clean up terminology: use "fixed" instead of "sticky": EWMH uses
the term "sticky" to mean something different.
* Add ability to toggle visible state of docks with Ctrl+Alt+D
Usually apps like pagers or launch bars.
* Add -dock option to force app to be considered a dock
* Snap-to-border and colourmap support no longer optional
Though -snap still defaults to 0 (off).
* fix: drawing window outline with border_width > 1 [David Flynn]
(bottom and right edges wouldn't encompass the border)
* build: enable out-of-tree builds [David Flynn]
* build: enable ISO c99 [David Flynn]
* Fix snapping on multiple screens [Ben Stern]
* Window gravity behviour fixes.
* Remove warning about strict-aliasing rules [Larry Doolittle]
which is provided by the "imlib-gtk" package. As nobody seems to be
missing support for that library there is probably no point in adding
this dependency.
Upstream changes:
Release-0 1 13
Bugs fixed
User visible changes
* #248 "PekWM support for setting NET_WM_WINDOW_OPACITY hint" (partially?) reported by wallex
* #254 "Make 'smart' placing smarter: Skip maximized windows." reported by wallex and fixed by Claes Nästén
* #260 "Tell NETWM panels about all the windows in a group" reported by augustl and fixed by Claes Nästén
* #266 "numpad key doesn't work in cmd/run dialog" reported by barkat1407 and fixed by Claes Nästén
* #270 "Panels are movable" reported by Markand and fixed by Claes Nästén
* #272 "PekWM in Fedora repos" reported by german and fixed by Claes Nästén
* #275 "run go to exit" reported by darkdog and fixed by Claes Nästén
* #283 "allow dialog windows to appear over fullscreen app" reported by Dreamkey
* #284 "Variable evaluation in variable value" reported by atler and fixed by Claes Nästén
* #293 "GropingDrag Crash" reported by moebius and fixed by Claes Nästén
* #295 "Last opened window and panel" reported by Thom1 and fixed by Andreas Schlick
Nice NETWM-compatible panel for X11. Features:
* Look'n'feel customization via themes.
* A bunch of widgets: desktop switcher, taskbar, launchbar, systray,
clock, decor, empty.
* Pseudo-transparency support.
* Written in C with speed and clarity in mind.
* Small number of dependencies, briefly: glib2, cairo, pango,
libX11.
* Small memory footprint (about 2-4 megabytes).
* Small executable (80 kilobytes at the moment).
Just a simple and highly customizable quick-launch tool.
Features
* It's coded in C++
* It uses Imlib2 to do the image processing
* It rides just on top of Xlib, no other toolkits.
PyTyle is a manual tiling manager that can slide into any EWMH
compliant window manager, inspired by XMonad. It will allow you to
enable/disable tiling on a per screen per workspace basis, and
continually tile your windows.
Features include:
* Built in multi-monitor support (using Xinerama)
* Continuous tiling behavior similar to that of XMonad.
* Manual tiling on a per screen per workspace basis. Have tiling
on one screen/workspace and not the other.
* Comes pre-packaged with a variety of tiling layouts ready for
use. Also, PyTyle's object oriented design makes it incredibly easy
to add or customize your own tiling layouts.
* Some configuration options include:
* Adding margins on a per-screen basis (to force PyTyle to ignore
docks/panels).
* Tell PyTyle to ignore certain windows from tiling.
* Configure defaults layouts on a per screen per workspace basis.
* Completely customize all of PyTyle's key bindings.
* Dynamically reload configuration file.
with minor two fixes.
PR#44987 by Bug Hunting
5.8.2 30 May 2010
Changes: Implemented better fullscreen handling.
5.8.1 29 May 2010 18:29
Changes: Yesterday's fullscreen fixes broke certain fullscreen capabilities
that worked correctly for mplayer and other tools. This is fixed in this
release.
5.8 28 May 2010 15:11
Changes: This release fixes several fullscreen application bugs and contains
various code cleanups.
* Bug fixes:
- fvwm-convert-2.6: Don't double-up comma separated options to
conditional commands if they're already delimited by commas.
- Correctly report a window's height and width if the window has
incomplete resize increment set.
- Maintain any State hints on a window when used with WindowStyle.
- FvwmIconMan now correctly handles sticky windows.
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]
alternative from mk/jpeg.buildlink3.mk
This allows selection of an alternative jpeg library (namely the x86 MMX,
SSE, SSE2 accelerated libjpeg-turbo) via JPEG_DEFAULT=libjpeg-turbo, and
follows the current standard model for alternatives (fam, motif, fuse etc).
The mechanical edits were applied via the following script:
#!/bin/sh
for d in */*; do
[ -d "$d" ] || continue
for i in "$d/"Makefile* "$d/"*.mk; do
case "$i" in *.orig|*"*"*) continue;; esac
out="$d/x"
sed -e 's;graphics/jpeg/buildlink3\.mk;mk/jpeg.buildlink3.mk;g' \
-e 's;BUILDLINK_PREFIX\.jpeg;JPEGBASE;g' \
< "$i" > "$out"
if cmp -s "$i" "$out"; then
rm -f "$out"
else
echo "Edited $i"
mv -f "$i" "$i.orig" && mv "$out" "$i"
fi
done
done
1.6.3.1 "Acid Folk"
===================
* Fixed a possible compilation-error in prompt.jl [Harald van Dijk]
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]
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]
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]
1.6.0 "Sound Of Thunder"
========================
* 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, as shrink/yank still lacks it.
- 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]
*** Changes between 1.0.0 and 1.0.1:
Wed Mar 11 15:41:02 GMT 2009 Ciaran Anscomb <evilwm@6809.org.uk>
* XFlush() shouldn't be required in interruptibleXNextEvent()
Thu Nov 20 11:17:07 GMT 2008 Larry Doolittle <>
* Fix interaction with X and signal handler
Larry Doolittle encountered a problem with the signal handler's
interaction with later versions of X.org and submitted this patch. It
adds an interruptible version of XNextEvent() borrowed from the Blender
source code (copyright Mark J. Kilgard) that allows a more graceful
exit from the main event loop rather than getting the signal handler to
do it.
(missed those and *emacs* the first time round because they pull
in their png dependencies via default-on options; they were included
in the test bulk build though)
3.4.11.2:
* Updated Estonian and Portuguese translations.
* Fix a rare crash involving moving fullscreen windows to different monitors
* Fix a more common crash involving pressing right in a menu
* Support libpng 1.4.0's slightly newer API.
* Don't lazy match AnyContext when printing out bindings and the contexts
they apply to with "PrintInfo Bindings".
3.4.11.1:
* Updated Polish translation.
* Fixed bug #4519 (Incorrect focus in reused windows).
* Lower the default submenu open/hide delay from 200ms to 100ms.
* Fix some more problems with gnome integration.
* Update Clearlooks theme.
* Some other small fixes.
Changelog:
Bugs fixed
* #187 "Keyboard layout disability", reported by flatr0ze, fixed by Idares
* #196 "separator as last (sub)menu entry gets drawn on top of first menu \
entry", reported by Jyri Jokinen and fixed by Andreas
* #200 "pekwm not supporting additional mouse buttons", reported by Dusty \
Phillips and fixed by Andreas
* #202 "Tabs change order after restart", reported by Thomas and fixed by \
Claes Nästén
* #215 "pekwm crashes when opening new Opera 10", fixed by Claes Nästén
* #155 "Autogrouping "global = true" should check versus target workspace,\
not current one.", reported by Walther and fixed by Claes Nästén
* #234 "Windows which start out iconified are not properly managed.",\
reported by Christopher A. Oliver and fixed by Andreas
* #201 "Title set to ``<INVALID> when one or more characters cannot be\
translated by iconv", reported by Martin Tournoij and fixed by Claes Nästén
* Bugfix for a use after free bug by Andreas.
* #244 "bug in PScreen.cc (PScreen::MODIFIER_TO_MASK_NUM is 0)" reported\
and fixed by Idares
* #245 "Fullscreen command Doesn't work with gtk builds of emacs, also\
gnome-terminal", reported by joe higton and fixed by Claes Nästén.
* #174 "xcompmgr and gnome-do", reported by Emmanuele Massimi and fixed by\
Claes Nästén.
* #253 "NET_ACTIVE_WINDOW messages shouldn't cause a workspace switch for\
sticky windows", reported and fixed by Walther.
User visible changes
* #191 "making window events pass along a window ID", reported by Mathias\
and fixed by Claes Nästén
* #221 "PekWM package for Fedora", Germán A. Racca provided a rpm .spec\
file for pekwm
* #74 "Tab completion for CmdDialog", reported and fixed by Claes Nästén.
While here, claim maintainership.
0.4.3 Ungrab keyboard after a key press 2010-04-02
0.4.2.1 Fix GCC warning on FreeBSD. 2010-03-22
0.4.2 Add some debug for buttons. 2010-03-21
0.4.1 This one should fix title problems 2010-03-12
Changes since last version are unknown.
pkgsrc changes:
* Update HOMEPAGE and MASTER_SITES to new location.
* Add dependency on x11/dmenu, using for menus
* Honor package supplied Makefiles, fixes PR#42790.
Build and run tested with NetBSD-i386-5.0.2 with modular X, and
build tested with OpenBSD-i386-4.6 (not tested with Darwin).
3.4.11:
* Update Hungarian, Japanese, and Latvian translations.
* Make xdg-autostart use the OPENBOX environment by default, so you can use
OnlyShowIn=OPENBOX in an autostart .desktop and it will work as expected.
* Don't close the menu when you hold control and execute something.
* Fix bug #4503 (Adjust who shows up in the Alt-Tab list using SKIP_TASKBAR).
* Fix flickering window when moving maximized window between monitors of
different sizes.
* Fix bug #4355 (Allow multiple escaped _'s in a menu label and allow
a menu shortcut to come after an escaped _).
* Remember the maximized state of a window when it goes fullscreen, and
restore it when leaving fullscreen state.
* Fix bug #4072 (Openbox is stopped by terminal applications writing to
stdout).
* Fix bug #4492 (Mistake in openbox-gnome-session check while setting up).
* Fix obxprop to make --root and --id work correctly.
* Add _OB_APP_ROLE/CLASS/NAME/TYPE properties (replaces _OB_ROLE/CLASS/NAME).
* Make the focus cycling popup dynamic when windows appear/disappear.
* Fix bug #4411 (Crash when window appears during focus cycling).
* Allow the user to specify which properties should be shown by obxprop.
* Fix tilde expansion in the Execute action
* Make Home and End keys move to the top/bottom of the active menu.
* Use the submenuShowDelay when navigating menus with the keyboard.
3.4.10:
* Improve keyboard navigation in Openbox menus.
* Add a --root option and a manpage for obxprop.
* Use a negative value for submenuShowDelay and submenuHideDelay to
cause an infinite delay. This means you have to click to show a
submenu, rather than just hover over it.
* Improved code for submenu show/hide delay. Added the submenuHideDelay
config file option, under the "menu" section.
* Fixed bug #4464 (Typo in openbox-gnome-session script).
* Fixed bug #4436 (Focusing a window used to stop focus cycling).
* Renamed obprop to obxprop due to collision with Open Babel (See bug
#4419).
3.4.9:
* Allow focus to move while inside an Openbox menu, or during an
interactive action such as window cycling.
* Fixed bug #3717 (Empty dock interfered with move/grow to edge actions).
* Fixed bug #4411 (Crash when switching desktops and window cycling).
* Fixed bug #4377 (Window resistance against struts).
* Fixed bug #4035 (Prevent focus from moving under the mouse after
activating a window with an Openbox menu.
* Correct the value provided by the _NET_WORKAREA hint, so desktop icons
will place across all monitors.
* Don't hide submenus immediately when moving through the parent menu.
(Resolves request #3762).
* Fix for showing Openbox menus with multiple monitors, don't restrict
them to the monitor where the mouse is.
* Fixed bug #4023 (Allow the user to have multiple keys which perform the
same function in Openbox menus/move/resize. E.g. two keys which are
both bound to Escape.
* Add a new obprop tool, which can be used to read the _OB_ROLE,
_OB_NAME, and _OB_CLASS (as well as any other UTF-8 window properties)
off of a window.
* Add _OB_ROLE, _OB_NAME, and _OB_CLASS hints on each window that show
the respective values for use in the rc.xml applications section, to
modify the window when it appears.
* Improve Openbox interoperability with gnome-session >= 2.24.
* Fixed bug #4040 (Remove desktop hints set by gdm in the openbox-session
scripts, so that Openbox can set the number of desktops (assuming
gnome-settings-daemon doesn't first)).
* Fix a bug in xdg-autostart preventing some .desktop files from working.
* Show the desktop pager popup on the primary monitor instead of on all
monitors.
* Add a new primaryMonitor config option, which is where Openbox popups
will appear. Defaults to a fixed monitor, but can be made to behave as
before with the "active" value for it.
* Correct edge detection for move/grow to edge to properly use monitor
edges for multi-monitor setups.
* Change default window placement policy to stay on the active monitor
for multi-monitor setups.
* Fixed bug #1149 (Crash with some window icon sizes).
* Respond to all strut changes, fixes moving/hiding panels.
* Fix internal code to focus windows on other desktops correctly (Fixes
bug #4413).
* Focus correctness fixups for switching desktops.
* Fixed bug #4373 (Decoration bug for shaded maximized windows).
* Fixed bug #4350 (Allow a window to be made skip_taskbar but still get
focused by the user's rc.xml).
* Fixed bug #4307 (Set a minimum time for screenEdgeWarpTime).
* Fixed bug #4253 (Support for Solaris in openbox-session scripts).
* Fixed bug #3851 (Allow transient windows to be above helper windows).
Window flickering on tag switches caused by maps/unmaps was mostly
fixed. A bug in infloating layout that caused explicit CPU usage
on multi-head machines was fixed. Focus issues with toggleview were
resolved, and panels are now handled much better then before.
3.4.8:
* Updated translations: Slovak.
* Allow windows to change their decorations at any time (Fix for
Google Chrome).
* Make openbox-session to respect the $XDG_CONFIG_HOME environment variable.
* Fixed bug #4344 where borders were given to windows that should not have
them.
* Merge the SessionLogout and Exit actions. They now test if connected to a
session manager and ask it to exit if so, or simply kill Openbox if not.
* Further tweaks to the _NET_ACTIVE_WINDOW message handling. Use the same
logic for focus-stealing as is used when mapping a new window.
* Don't go out of our way any more to prevent focus from moving while the
keyboard is grabbed.
* Fix openbox-gnome-session when using gnome-session > 2.22.