Pkgsrc changes:
- use ${PREFIX} for icon path in example.jwmrc
- rename patch files per new format
- add patch comments
- take maintainership
Upstream changes list from
http://joewing.net/projects/jwm/release-2.3.shtml
JWM v2.3 Release Notes
This is a collection of major changes between JWM v2.2 and JWM v2.3.
Version 2.3.0 was released 20150618.
You can download the latest snapshot of JWM here: jwm-1356.tar.xz.
New Features
* Added support for client requested XRaiseWindow (issue #117).
* Added native language support for the confirm dialog.
* Added support for _NET_RESTACK_WINDOW (issue #118).
* Added key binding to send the current window to a different desktop (issue
#119).
* Support the specification of an alternate configuration file (patch from
Brian Bidulock)
* Added Corner option to configure the roundedness of windows.
* Updated the look of borders around menus and trays.
* Add support for _NET_WM_MOVERESIZE (issue #142).
* Add the fullscreen group option (patch from George Shaw).
* Made window style configuration more consistent (may break old
configuration files).
* Add scale background type.
* Added group options: nomin, nomax, noclose, nomove, noresize (issue #152),
and nofullscreen (issue #163).
* Added the Outline tag to MenuStyle to specify the color of menu outlines
(issue #31).
* Added the Outline tag to TrayStyle to specify the color of tray outlines.
* To conform with GNU standards, running "make install" no longer strips the
executable. To strip the executable, "make install?strip" can be used
instead.
* Added the ability to swallow the same client into a tray multiple times.
* Added the ability to specify where the tray is hidden when auto-hide is
enabled (issue #34).
* Menu Includes are now loaded dynamically when a menu is shown rather than
when JWM starts.
* Added the sendu, sendd, sendl and sendr key bindings to send a window to a
different desktop (issue #119).
* Added the maxh, maxv, maxtop, maxbottom, maxleft and maxright key bindings
(issues #120 and #157).
* Added the ability to have separate actions per mouse button for tray
buttons (issue #171). This is accomplished using the Button tag. For
example:
<TrayButton label="My Button">
<Button mask="1">
exec:program_for_left_click
</Button>
<Button mask="45">
exec:program_for_scroll_wheel
</Button>
</TrayButton>
The Button tags are optional. By default the action will use mouse button
mask 123.
* Add the ability to have separate actions per mouse button for clock tray
components (issue #171) and the ability to have clock tray components run
actions like tray buttons (issue #172).
* Add support for more than 10 menus. Now 26 additional menus can be defined
using the letters a through z.
Configuration Changes
The following XSLT is available to update JWM v2.2 configuration files for use
with JWM v2.3: jwm-2.3.xslt.
To convert an existing v2.2 configuration file using xsltproc, run:
cp ~/.jwmrc ~/.jwmrc.old
xsltproc jwm-2.3.xslt ~/.jwmrc.old > ~/.jwmrc
If you have multiple configuration files, it may be necessary to apply the XSLT
to some or all of them depending on what configuration options are stored in
the file.
A summary of configuration changes follows.
* The ActiveBackground and ActiveForeground tags have been replaced by
Background and Foreground under the Active tag. This applies to TrayStyle,
TaskListStyle, TrayButtonStyle, PagerStyle, and MenuStyle.
* The Inactive tag under WindowStyle has been removed. The tags that used to
go within this tag now go directly under the WindowStyle tag.
* The autohide attribute in Tray now determines where the tray should be
hidden (left, right, top, bottom, or off) instead of true or false.
* Now actions in the Clock tag must be prefixed with exec: to run an external
program.
See the configuration documentation for documentation on all configuration
options.
Bug Fixes
* ICCCM 2.0 WM_S selection compliance (patch from Brian Bidulock).
* Fixed client window position after maximize/restore (issue #115, patch from
Biran Bidulock).
* Fixed window mapping bug with show desktop (issue #114).
* Give focus to the top-most window after show desktop (issue #64).
* Fix uninitialized memory when loading images (patch from Brian Bidulock).
* Fix overlapping string issue with FriBidi (patch from Brian Bidulock).
* Fixed non-UTF8 locales (issue #56).
* Fixed transparency issue with some applications (issue #130).
* Fixed focus after key events (patch from Brian Bidulock).
* Fixed loss of focus after restoring windows (issue #131).
* Fix setting of _NET_WM_STATE_HIDDEN when a window is minimized (issue #133,
patch from Brian Bidulock).
* Grab input focus at startup if not already set (issue #148).
Updated Translations
* Russian (Aleksandr Samusenko)
* French (Pierrick)
* Italian (Flavio aka Man from Mars)
* Spanish (Pablo Lezaeta)
Changes in 2.3.1 (20150628)
* Added an option to group windows by class in the task bar. (the group
attribute of the TrayStyle tag).
* Fixed an issue with menus showing up across monitors when Xinerama is
enabled.
* Added the ability to show Motif-style handles on windows (the decorations
attribute of WindowStyle).
* Fixed an issue where the next/prev key bindings would not advance past a
window that does not accept input focus.
* Fixed the behavior of the Include tag within menus so that it no longer
creates a submenu.
* Menus included using Include are no longer loaded each time the menu is
accessed.
* Added a Dynamic submenu that will re-load its menu contents each time it is
accessed.
Changes in 2.3.2 (20150913)
* Restored the ability to specifiy that windows should not have an icon
(using the "icon:" group option).
* JWM will now try several common extensions when loading icons.
* Fixed the height and default label for dynamic menus (issue #188).
* Improved handling of colormaps for pseudo-color displays.
* Fixed handling of WM_STATE on big-endian machines.
* Fixed an issue with menus getting stuck open.
* Removed the TaskListStyle, TrayButtonStyle, and ClockStyle configuration
options. These options are now set from TrayStyle.
* Added the Hungarian translation (from Hermit).
* Added the ability to give a 3D look to menus and trays by specifying
decorations="motif" in MenuStyle and TrayStyle respectively.
* Fixed an issue where JWM key bindings would not be available to
applications (issue #201).
* JWM now highlights the first menu item when opening a menu with the
keyboard (issue #102).
* Add the ability to selectively enable popups (issue #189).
* Various other fixes.
Changes in 2.3.3 (20151118)
* JWM windows now set _NET_WM_WINDOW_TYPE (issue #223).
* Added the Chinese translation (from Christopher Meng).
* Added the height attribute to TaskList (issue #227).
* Fixed tray button mouse bindings for the scroll wheel buttons (issue #229).
* Added the restore key binding (issue #233).
* Made middle-click on a task list item close the window (issue #232).
* Added support for tooltips in menus (issue #111).
* Added Portuguese (Brazil) translation (from Holmes).
* Fixed an issue where the dock would change size if its size was not
explicitly set (issue #238).
* Fixed the height calculation of vertical trays (issue #228).
Changes in 2.3.4 (20151122)
* Now a negative tray width/height can be specified to subtract from the
screen width/height (issue #250).
* Added the list configuration option to TrayStyle to allow displaying
windows from all desktops (all) or only the current desktop (the default,
desktop) in task lists.
* Improved scaling of JPEG and SVG images (issue #253).
* Fixed the rendering of fixed-aspect background images.
* Added the drag group option (issue #235).
* Fixed rendering of window borders without a title bar.
Problems found with existing distfiles:
distfiles/fvwm-1.24r.tar.gz
Otherwise, existing SHA1 digests verified and found to be the same on
the machine holding the existing distfiles (morden). All existing
SHA1 digests retained for now as an audit trail.
Changes from Relase Notes page:
http://www.joewing.net/projects/jwm/release-2.2.shtml
Changes in 2.2.1
* JWM no longer waits for an X11 event when exiting. This fixes an issue
where Control+C didn't cause JWM to exit immediately (issue #104).
* Fixed a crash if a window went away while a JWM confirm dialog was active
for the window.
* Fixed some issues related to aspect ratios (issue #106).
* Fixed handling of window gravity for _NET_MOVERESIZE_WINDOW.
* Added support for XBM icons (issue #107).
* Fixed an issue with resizing of dock icons.
* Fixed an issue with command line argument parsing.
Changes in 2.2.2
* More efficient handling of gradient backgrounds.
* Fixed an issue _NET_WM_STATE not being updated (issue #109).
* Improved the performance of moving/resizing windows.
* Made it possible to switch desktops immediately while dragging a window if
mod1 is pressed (issue #12).
* Fixed an issue with windows mapping behind other windows (issue #110).
* Fixed an issue where JWM would attempt to process the last X event multiple
times before exiting or restarting.
* Made newer desktop background settings override older settings.
* Fixed a memory leak with invalid configuration files.
Changelog per http://joewing.net/projects/jwm/release-2.2.shtml
New Features
Added support for _NET_SHOWING_DESKTOP, _NET_WM_ACTION_ABOVE, _NET_WM_ACTION_BELOW, _NET_WM_STATE_SKIP_PAGER, and _NET_REQUEST_FRAME_EXTENTS.
JWM now uses xrender for image scaling
Added native language support using GNU gettext.
Added a fullscreen keybinding.
Added the "-reload" command line option to force JWM to reload the menus without restarting.
Added a width attribute to docks.
Better tray support for multiple monitors.
Added a tray spacer component (Spacer).
Added support for changes in root window resolution/orientation.
JWM now supports resizable icons for window border buttons
Add support for SVG icons using libRSVG and Cairo.
Added the noshade group option
Minor changes to mouse bindings on window frames.
Added support for the urgency hint as well as a group option, noturgent to disable it. JWM will now flash the borders of windows that set the urgency hint set unless the noturgent option is set.
Added centered and tiled window placement group options.
Added the iignore group option to ignore increment size hint when maximizing a window.
Added support for gradients in trays.
Add the constrain group option to prevent windows from moving themselves off screen.
It is now possible to use icons of any type for title bar buttons.
Configuration Changes
The way windows are associated with groups has changed. Now within a Group tag, if one or more Name tags is specified, a client window must match at least one to be considered part of the group. Likewise, if one or more Class tags is specified, a program must match at least one. If no tag is specified, all client windows will match.
The name and class fields in Group tags are now treated as POSIX regular expressions.
The number of supported window layers has been reduced to 3. Rather than a number between 0 and 12, JWM now uses above, normal, and below.
JWM no longer allows custom window buttons. These buttons are now custom drawn to an appropriate size using X graphics primitives.
The information in TrayButtonStyle is now inherited from TrayStyle instead of TaskListStyle. This means that tray buttons now get defaults from the tray instead of from the task list. In addition, it is now possible to specify ActiveBackground and ActiveForeground in TrayStyle. This makes it possible to set defaults for both tray buttons and task list buttons in TrayStyle.
New Translations
Dutch (by Bert)
French (by Pierrick Pinot)
German (by fido <L18L@puppy.forum>)
Italian (by Man from Mars)
Polish (by Mis Uszatek)
Portuguese/Portugal (by Vitor Lopes)
Russian (by Aleksandr Samusenko)
Spanish (by Victor Martinez)
Bug Fixes
Fixed issues with maximize and fullscreen
Fixed issues with input focus
Fixed issues with mapping of windows in some applications
Fixed some timezone issues
Fixed an issue with docks when JWM restarts
Windows can now be made larger than the root screen
Set _NET_CURRENT_DESKTOP at startup
Rendering changes to allow JWM to run in Xnest
Fixed a bug with XML entity parsing
Fixed bi-directional text rendering
Performance improvements
to address issues with NetBSD-6(and earlier)'s fontconfig not being
new enough for pango.
While doing that, also bump freetype2 dependency to current pkgsrc
version.
Suggested by tron in PR 47882
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.
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
(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)
# JWM v2.0 <> 20070624
* New look.
* Background support on a per-desktop basis.
* Veritcal/horizontal maximization support.
* Added the ability to move windows with the pager.
* Many bug fixes.
# JWM v2.0.1 <> 20070704
* Fix a file descriptor leak when JPEG is enabled.
* Give swallow windows time to map when restarting.
# JWM v1.8rc2 <> 20061008
* Fixed a seg fault when tray buttons point to invalid root menus.
* Hide popups when the mouse moves over them.
* Fix alt+left click window moving so windows don't jump.
* Allow windows to be lowered with alt+right click.
* When maximizing, place the window on the screen of its center point.
* Unmaximize maximized windows that resize themselves.
* Add support for _NET_WM_STATE_FULLSCREEN.
* More warning messages about incorrectly configured root menus.
# JWM v1.8rc3 <> 20061022
* Fixed a bug that caused strange things to happen after a client was killed.
* Fixed a bug that caused windows to be mapped incorrectly when started at the same time as JWM.
* Fixed an issue with auto-hide trays hidding when they shouldn't.
# JWM v1.8rc4 <> 20061104
* Fixed some seg faults with invalid configuration files.
* Trim leading and trailing spaces from configuration options.
* Improved _NET_WM_STATE_FULLSCREEN support.
* Fixed StartupCommands and Swallow items.
# JWM v1.8 <> 20061223
* Fixed a bug when moving windows that could cause the window to jump to the upper left corner of the screen.
* Fixed a Dock issue when restarting.
* Fixed a Swallow issue on startup.
* Transient windows of active windows now get focus when they are first created.
* Submenus now appear on the left if there isn't enough room on the right (mdsama)
packages with the modular Xorg equivalent. Those are falling back
to the old location by default, so this commmit doesn't change
dependencies.
graphics/xpm ==> x11/libXpm
fonts/Xft2 ==> x11/libXft
x11/Xfixes ==> x11/libXfixes
x11/xcursor ==> x11/libXcursor
x11/Xrender ==> x11/libXrender
x11/Xrandr ==> libXrandr
* Removed the "Icons" tag. Now "IconPath" is specified within
the "JWM" tag instead.
* Now "DoubleClickDelta" is used to determine if the mouse
moved after a menu pops up.
* Added support for multiple startup and shutdown commands.
* Added the ability to move a window with Alt+click (Jeremy Reed).
* Now shaded status is preserved when minimizing windows.
* Reduced border flicker.
* Support for multiple root menus.
* Allow window operations in root menus.
* Add "RestartCommand".
* Fixed a key binding issue with key codes.
This was packaged by pip88nl of gmail.com with some minor changes
by me.
JWM is a light-weight window manager for the X11 Window System.
It provides a menu, taskbar, key binding, system notification tray,
pager, a dock, and simple customizations. JWM is written in C and
uses only Xlib and the shape extension, libXpm and (optionally)
libpng. It can support some MWM, GNOME, and WM Spec hints.
(This software needs some work, but I import to official pkgsrc
so it will get more usage. I have been using it for a couple
months now. With its built-in features, it is a smaller than
blackbox with add-ons.)