Some code cleanups.
Added the ability to resize from the top of windows.
Added support for pager labels.
JWM v2.1.1 <> ?
- JWM v0.1 <> 20031221
- JWM v0.2 <> 20031228
- JWM v0.3 <> 20040101
- JWM v0.4 <> 20040105
- Added "Alt+Tab" shortcut to switch windows
- Added support for virtual desktops
- Added a simple pager to the tray
- Added a window menu
- JWM v0.5 <> 20040110
- Added some support for GNOME and WM Spec hints
- Added a graphical pager
- Added support for window layers
- JWM v0.6 <> 20040114
- JWM now uses autoconf
- New window decorations
- Fixed most XErrors
- Improved shape extension support
- libXpm is no longer needed
- Added load status support for Linux
- Fixed a bug in the configuration lexer
- JWM v0.7 <> 20040304
- Fixed a bug in the configuration lexer
- Now only mouse buttons 1, 2, and 3 will raise a window
- Fixed an off-by-one error when calculating a border action
- Fixed a potential error when a window becomes unmanaged
- Fixed the stacking order on startup/restart/exit
- Fixed mouse cursor behavior with some programs (swmgr)
- Fixed startup/restart not focusing the window under the mouse
- Should now be able to manage screens other than 0
- JWM v0.8 <> 20040408
- Now restacks after a new window is mapped
- Improved move/resize/menu so that the time/load updates
- Fixed a focus problem after displaying menus
- Fixed window gravity
- Now supports the standard XML entities in the configuration
- Fixed window title overriding the title buttons
- Fixed submenu behavior when mouse is on the edge of the
- JWM v0.9 <> 20040504
- Added the ability to shade/unshade windows
- Added a configuration option for border size
- Fixed a bug when a ConfigureRequest is sent to a shaped
- Added load status support for Solaris
- Added the ability to resize/move windows with the keyboard
- Added the ability to map keys to window functions
- Added a "kill" option to the window menu
- Can now use the mouse to move windows when using the
- Can now use the mouse to resize windows when using the
- Now hides the menu before executing a menu command
- JWM v0.10 <> 20040514
- Now restacks clients after changing desktops
- Correctly updtes the "stick" desktop hint on
- Reads the current desktop hint from the root window at
- Added text antialiasing
- Fixed a compiler warning in event.c
- Added an option to enable antialiasing in the configuration
- Added the ability to change the height of title bars
- Added arrows to indicate submenus
- Now menus listen for a button release instead of a button
- Fixed a stacking problem when a window was above the tray in
the stacking order
- Can now use the scroll wheel to move through menus
- Now correctly grabs the root window and tray
- Can now change desktops with [modifiers]+[number]
- Improved the way colors for the border outlines are
- Changed the look of the pager
- Mouse now activates window buttons on release instead of
- Expose events are now handed for menus
- Made the separator on the menus look better
- Improved shape extension support
- Now configure does a proper check for MwmUtils.h
- Added a default configuration file in a standard location for
users that don't have a local configuration file
- JWM v0.11 <> 20040520
- Fixed the load/time so that it no longer flickers
- Fixed a type consistancy issue in font.c
- Improved menu selections over slow X11 connections
- Fixed a bug in the menu code which caused segfaults
- Added load status support for MacOS X
- JWM v0.12 <> 20040626
- Fixed "make install"
- Fixed an off-by-one-pixel problem when drawing the tray
- No longer shows marks on the edges of windows that can't
- Added a confirm dialog for killing a window and for closing
windows that don't listen for the WM_DELETE_WINDOW hint
- Added a confirm dialog for exiting JWM
- Improved resizing so windows aren't redrawn unnecessarily
- Now accepts PropertyNotify for the WM_PROTOCOLS hint
- Now makes an extra attempt at checking for WM_DELETE_WINDOW
before resorting to killing a client
- Fixed behavior for move on title bars without any buttons
- No longer displays title buttons if they won't fit
- Added debug checkpoints for Xlib functions
- Now debug mode compiles with -pedantic and -ansi
- Made the menus look 3d
- Cleaned up window hints stuff (still more to do)
- Changed the color of the "JWM" button
- Fixed a bug which caused high CPU loads (PropertyNotify loop)
- Fixed loading of a default configuration file
- JWM v0.13 <> 20040717
- Improved the look of the move/resize window
- Fixed reading of _NET_WM_STATE
- Cleaned up and fixed hint stuff. This fixes a lot of bugs!
- Fixed a few bugs related to Configure events
- More hint support
- Improved the speed of internal window lookups
- Improved layer support
- JWM v0.14 <> 20040803
- Improved handling of expose events
- Mouse scroll wheel now scrolls through desktops when over
- Fixed mouse cursor issue with some applications (xpdf)
- Optimized the drawing of border buttons
- Minimized windows now have a small icon instead of brackets
- No longer shows marks on shaded window borders
- Fixed behaviour of cursor over a shaded frame
- Added a configuration option for the height of the tray
- JWM v0.15 <> 20040901
- Fixed the configure script to recognized platforms
without GNU tr
- Added support for the WM_COLORMAP_WINDOWS hint
- Improved the configuration file to be cleaner and allow more
- Improved antialiasing to use fewer colormap entries
- Fixed a potential bug in lex.c
- Fixed a layering issue that could crash JWM
- Fixed a bug in os/sunos.c
- Other improvements to the configure script
- JWM v0.16 <> 20040919
- Fixed another layering issue
- Fixed a bug in computing the colors for antialiasing
- Added the option for "click to focus"
- Added "autohide" option for the tray
- Changed "focus next" so that it no longer raises
- JWM v0.17 <> 20041009
- Added the option to run a program when the load status or
clock is clicked.
- Window placement for windows with an unspecified starting
position now attempts to cascade windows.
- Added the ability to build IRIX tardists to configure. Also
added experimental support for Solaris packages and Slackware
- Fixed an issue with minimizing windows with unmapped
- Created a man page.
- Added configurable popup status windows to the tray.
- Fixed an issue with key bindings.
- JWM v0.18 <> 20041127
- Fixed time format on the clock popup
- Snap to edge of screen implemented for moving windows
- Added configuration options for snap mode and distance
- Fixes to click-to-focus model
- FocusNext now skips transients
- Added snap-to-border snap mode
- Fixed a problem with restarting JWM that caused some borders
to not be redrawn
- Fixed an error in the calculation of time differences
- Fixed the problem with text overflowing with
- Fixed font antialiasing with 8-bit color
- Now skips out-dated mouse motion events
- Added "exec:" key binding.
- No longer double-buffers drawing borders
- The load status display's width is now proportional to
the tray height
- JWM v0.19 <> 20041215
- Added program groups based on title and/or class.
Sticky, desktop, and layer options supported.
- Fixed the problem with long window titles running into the
- Added the ability to change the root menu button label.
- The clock is now the correct width.
- Minor fix to the snap-to-border algorithm.
- Clicking a tray button now only minimizes the client if it is
at the top level of its layer (and active).
- Removed the dependence on Xm/MwmUtil.h.
- Exit and Restart menu items can now have different labels.
- FocusNext no longer focuses minimized or shaded windows.
- Tray is now one pixel when hidden instead of two.
- Added to option to move and/or resize with only an outline.
- Added the ability to start another window manager via the
exit menu item.
- Added support for _NET_WM_WINDOW_TYPE_DESKTOP. This allows
graphical file managers such as Nautilus to control the root.
- JWM v0.20 <> 20050106
- Added icon support.
- Added "Width" and "Alignment" options
for the tray.
- Added the ability to disable the "Start" button
by specifying a blank label without an icon for the RootMenu.
- JWM v0.21 <> 20050112
- Now makes the directory for system.jwmrc if it doesn't already
exist for "make install".
- Improved icon support to make it more platform independent.
- Added a group option: "icon:".
- JWM v0.22 <> 20050424
- Fixed menu offsets when submenus are below a separator.
- Added a compile-time option to disable confirm dialogs
for exiting and killing windows.
- Added a configuration option to disable the exit confirm
- Fixed a minor error in the calculation of the load bars for
the load graph.
- Changed menu icons so they are no longer scaled.
- Added the ability to specify a max width for tray items.
- Added the ability to specify how items are added to the
- Fixed icon loading in menus when the icon is nonexistent.
- Fixed a compile-time warning in border.c.
- Added the "nolist" group option.
- Fixed a memory leak in icon.c.
- Now maximizing a window takes advantage of the whole screen if
the tray is set to auto hide (Michael Rogers).
- Fixed an intermittent bug that caused crashing on restart and
- Added the ability to specify a clock format.
- JWM v0.23 <> 20050522
- Fixed menu alignment problem on empty desktops (toomyem).
- Fixed "--disable-confirm" compile-time option.
- Fixed a problem with the entire tray not showing up when JWM
is started with no windows.
- Now menus that are too big to fit on the screen will go over
the task bar.
- Added key bindings for "exit" and
- Added the ability to parse environment variables within the
"Include" tag of the configuration file.
- JWM v0.24 <> 20050922
- Changed "VERISON=" to "VERSION=" in the
- Fixed memory leaks that happen when JWM is unable to start.
- Added the ability to have menu labels.
- Added the ability to disable clicking the root to show the
- Added Xinerama support.
- Added StartupCommand and ShutdownCommand to the configuration
as commands to be run with JWM starts and stops respectively.
- Added a slight border to the tray.
- Fixed a bug releated to stacking order with "click"
- Added the ability to restart and exit JWM by sending the
_JWM_RESTART and _JWM_EXIT hints repectively.
- Added the ability to have "jwm" send _JWM_RESTART and
_JWM_EXIT via the command line.
- Updated the man page with many changes from Joe Wiles.
- Made restarting and exiting more reponsive.
- Fixed a bug with moving shaded windows and snapping.
- Fixed some clicks going through windows.
- Fixed the tray using the wrong colors for the button
- Fixed the confirm dialog using the wrong color for the
- Added "enabled" options to Load and Clock.
- Added noborder, border, notitle, and title options to Group.
- Added a layer attribute to Tray.
- Now restacks the clients after startup.
- JWM v1.0 <> 20051113
- Note that the configuration file has changed significantly and
is not backwards compatible.
- Fixes for 64-bit X-servers.
- Support for XFT for antialiasing, true-type, and UTF-8 fonts.
- Border drawing is again double-buffered.
- Added support for Xrender for alpha blended icons.
- Added support for PNG icons.
- Icons are now scaled independently.
- Added height attribute to RootMenu and Menu.
- Made status windows show on the screen with the mouse.
- Better window placement.
- Completely redesigned the way the tray works. Now multiple
trays are supported and programs can be swallowed.
- Fixed lockup issue when restore transient windows.
- Added a separator to the window menu.
- Now restores maximization status on restart.
- Now sends ClientMessage instead of PropertyNotify for _JWM
- More EWMH support.
- Added menu includes (rarsa).
- Now desktops can be named.
- Added a Desktops menu item.
- Fixed key actions with click-to-focus.
- JWM v1.1 <> 20051120
- Fixed task list overflow.
- Fixed minimization on restart.
- Added button border to TrayButton.
- Added Clock.
- Added ClockStyle, TrayButtonStyle, and TrayStyle options.
- Now icon aspect ratios are preserved when resized.
- Added "nextstacked" key binding.
- JWM v1.2 <> 20060101
- Updates to configure.in to (hopefully) eliminate problems caused
by defining _XOPEN_SOURCE.
- Fixed some compiler warnings.
- Grab keys for trays.
- Fixed a potential issue with bad PNG icons.
- Improved loading of swallowed clients. Now swallowed clients
are all started at the same time and then JWM waits for them to
appear rather than starting them one at a time.
- Disabled alpha blending of icons for color depths of less than
24 bits. Alpha blending at 16 bits and lower was causing garbled
- Fixed a resize issue when resizing windows that specified an
- Now JWM sends WM_DELETE_WINDOW to swallowed clients before
- Fixed a problem with swallowing some programs (notably GTK+
- JWM v1.3 <> 20060114
- Added support for the following extended window manager hints:
- Added support for clients sending _NET_CURRENT_DESKTOP to
the root window.
- Added a Dock item for Tray. This adds support for programs to
dock in the tray via the _NET_SYSTEM_TRAY_Sn selection.
- Fixed the centering of icons in tray buttons.
- Fixed a bug where TrayButtonStyle was being used for task
- Now handles really small window borders and buttons in a more
- Now vertical task lists are size-to-fit.
- Fixed the size computation of fixed-size trays.
- Tray button text is now centered when no icon is present.
- Added more descriptive error messages for configuration
- Added the following group options:
- JWM v1.4 <> 20060208
- Tray menus now popup in a more natural location.
- Menu sizes are now specified in terms of size of an
icon that would appear for the item instead of the actual height
of the item.
- Trays now attempt to figure out layout from its size.
- Fixed swallow items getting too much space.
- Made Swallow more sane when an error is encountered.
- Added support for windows without a border but with a title
- Fixed root key bindings on restart.
- X errors aren't shown anymore unless JWM is compiled with
- Added "valign" and "halign" Tray
- JWM v1.5 <> 20060312
- Fixed an issue with menu includes.
- Made it so TrayButton can do more things. "exec:" for
running programs, "showdesktop" to minimize all windows
on the desktop, and "root" (the default) to show the
- Added support for UTF-8.
- Added support for resizing of swallowed clients (lior2b).
- Now "keycode" can be specified instead of
"key" for key bindings allowing the use of keys which
don't have a key symbol.
- Swallow items now resize to 1 pixel if the client dies.
- Support for right-to-left text using FriBidi.
- Much faster color allocation.
- Client requested resizes are now constrained.
- Added "popup" attribute for TrayButton.
- The clock now resizes itself as needed.
- Fixed window maximization with tray autohide.
- Fixed tray autohide with menus.
- Added "enabled" and "delay" PopupStyle
- Fixed a bug in the way shape events are handled.
- Caps lock and num lock are now ignored with key bindings.
- JWM v1.6 <> 20060423
- Fixed a bug that caused JWM to lose the state of withdrawn
- Fixed a Xinerama window placement issue.
- Fixed shading of shaped windows.
- Fixed snap-to-screen with Xinerama.
- It is now possible to fix the width of the clock.
- Added "coordinates" attribute to MoveMode and
- Fixed a bug related to removing the Dock and restarting.
- No longer waits for Swallow items at startup.
- Fixed FriBidi UTF conversion (lior2b).
- Fixed a key binding issue on shutdown/restart (lior2b).
- Fixed a key binding issue with keycode.
- Fixed a bug involving maximized windows and the clock.
- Decreased the default popup delay to 600 ms.
- Added a 3 pixel border to popups.
- Scrollwheel now switches windows when over the task list.
- Scrollwheel now switches desktops over the root window.
- Scrollwheel now shades/unshades when over title bars.
- Double clicking now maximizes/restores when over title bars.
- Fixed a bug with key masks.
- A second click on a "showdesktop" button will now
restore minimized windows.
- New window buttons (lior2b).
- New minimized icon (lior2b).
- Put brackets around minimized items (lior2b).
- Scroll menus that are too big for the screen.
- Moving a maximized window now un-maximizes it.
- Resizing a maximized window now un-maximizes it (lior2b).
- Left clicking on a window icon now shows the window menu
- JWM v1.7 <> 20060427
- Fixed clock redrawing issue.
- Fixed Tray valign attribute.
- No longer un-maximizes on a single click to title bars.
- JWM v1.8rc1 <> 20060813
- 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
- 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.
- JWM v1.8rc2 <> 20061008
- Fixed a seg fault when tray buttons point to invalid root
- 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
- 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
- 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
- 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)
- 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 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.
New borders for buttons (Patriot).
- Rounded window corners (Patriot).
- Support for transparent menus, trays, and windows
- User-replaceable window button masks (Patriot).
- gxine fullscreen fix (Patriot).
- Fix for windows loosing focus when switching desktops
- More key bindings (Dougal).
- Transparent group (Dougal).
- Fix some issues discovered by
(patches from Lauri Kasasen, r506).
- Fix a bug with opening tabs in maximized windows for some
- Add support for _NET_SHOWING_DESKTOP (r509).
- Remove GNOME hint support (r511).
- Add support for _NET_WM_ACTION_ABOVE/BELOW (r512).
- Use XRender scaling if available (r518).
- Some performance improvements (r522).
- Fix an input focus problem with some applications (r525).
- Fix IRIX build problems (r524).
- Fix desktop wrapping (r527).
- Add native language support (r530).
- Fix computation of text width (r531).
- Disable edge resistance when holding mod1 (r535).
- Change the behavior of group settings to require a name and
clsas match if both are specified (r541).
- Add support for rounded windows when Xmu support is disabled
and disable Xmu on IRIX by default (r543).