
Todo:
	- Support multiple root menus.
	- Add window list root menu item.
	- Make the window menu configurable (other languages, order, etc.).
	- Add mouse bindings.
	- Add the ability to drag windows to different desktops.

20070112:
	- No longer shows empty menus.
	- Fix handling of empty menu items.

20070104:
   - Retain maximized status when moving windows.

20070103:
   - Background setting ability based on the current desktop.

20061230:
   - Fixed a bug that caused trays to not be drawn sometimes.

20061226:
   - Added the ability to move windows with the pager.

20061223:
	- Changed the look.

20061223:
	- Released JWM v1.8.

20061222:
	- Fix a bug where moving windows could cause the window to jump
	  to the upper left corner of the screen.
	- Fix Dock when restarting.
	- Fix a Swallow on startup.
	- Focus transients of active windows when they appear.
	- Make submenus appear on the left if there isn't enough room on
	  the right (mdsama).

20061104:
	- Improved _NET_WM_STATE_FULLSCREEN support.
	- Fixed StartupCommands and Swallow items.
	- Released v1.8rc4.

20061027:
	- Trim leading and trailing space from configuration options.

20061023:
	- Fix some seg faults with invalid configuration files.

20061022:
	- Fix an issue with auto-hide trays hidding when they shouldn't.
	- Released v1.8rc3.

20061019:
	- Fix a bug that caused windows to be mapped incorrectly when started
	  at the same time as JWM.

20061018:
	- Fix a bug that caused a seg fault after a client was killed.

20061008:
	- Released v1.8rc2.

20061001:
	- More warning messages about incorrectly configured tray buttons and
	  key bindings that specify a root menu.

20060826:
	- Add support for _NET_WM_STATE_FULLSCREEN.

20060819:
	- Unmaximize maximized windows that resize themselves.

20060817:
	- Hide popups if 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.

20060813:
	- Fix key bindings to keycodes.
	- Released v1.8rc1.
	- Fix seg fault caused by tray buttons pointing to invalid root menus.

20060810:
	- Add RestartCommand.

20060808:
	- Allow window operations in root menus.

20060807:
	- Reduce flicker in the border by clipping the areas that need redrawing.
	- Support for multiple root menus.

20060805:
	- Fix click propagation through popups.

20060731:
	- Improve aspect ratio resizing.

20060728:
	- Add the ability to move a window with alt+click (Jeremy Reed).
	- Fix a bug with raising shaded windows from a task list.
	- Preserve the shaded status when minimizing.

20060704:
	- Remove "Icons" tag.
	- Add stack allocations.
	- Use mouseClickDelta for checking menu selection mode.
	- Support multiple startup/shutdown commands.

20060427:
	- Released v1.7.

20060425:
	- Fixed clock redrawing issue.
	- Fixed Tray valign attribute.
	- Don't un-maximize on a single click to the title bar.

20060423:
	- Released v1.6.

20060422:
	- 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 (lior2b).
	- Clock draw optimization (lior2b).

20060418:
	- New window buttons (lior2b).
	- New minimized icon (lior2b).
	- Put brackets around minimized items (lior2b).

20060408:
	- A second click on a "showdesktop" button will restore minimized windows.

20060407:
	- 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.
	- Fix bug with key masks.

20060402:
	- Fix a key binding issue with keycode.
	- Fix a bug involving maximized windows and the clock.
	- Decreased the default popup delay to 600 ms.
	- Added a 3 pixel border to popups.

20060318:
	- Fix key binding issue on shutdown/restart (lior2b).

20060317:
	- Fix a bug related to removing Dock and restarting.
	- Don't pause waiting for Swallow items. 
	- Fix FriBidi UTF conversion (lior2b).

20060315:
	- Fix snap-to-screen with Xinerama.
	- Make it possible to fix the width of the clock.
	- Added "coordinates" attribute to MoveMode and ResizeMode.

20060314:
	- Fix a Xinerama window placement issue.
	- Fix shading of shaped windows.

20060313:
	- Fix a bug causing JWM to lose the state of withdrawn windows.

20060312:
	- Ignore caps lock and num lock for key bindings.
	- Released v1.5.

20060311:
	- Added popup for TrayButton.
	- The clock now resizes itself as needed.
	- Fixed window maximization with tray autohide.
	- Fixed tray autohide with window menu and root menus.
	- Added "enabled" and "delay" PopupStyle attributes.
	- Fixed a bug in the way JWM handled shape events.

20060310:
	- Much faster color allocation.
	- Constrain client requested resizes.

20060305:
	- Use ResizeRedirect instead of ConfigureNotify for resizing swallow items.
	- Resize to 1 pixel in the tray when a swallow item dies.
	- Support right-to-left text using FriBidi.

20060304:
	- Now to run a program from TrayButton, the program needs to be preceeded
	  with "exec:".
	- Added a "showdesktop" action for TrayButton. This will minimize all
	  programs on the current desktop.
	- Support for UTF-8.
	- Added support for resizing of swallowed clients (lior2b).
	- Allow "keycode" to be specified instead of "key" for key bindings.

20060226:
	- Fixed an issue with menu includes.
	- Patch, v1.4p1.

20060208:
	- Added "valign" and "halign" attributes for Tray.
	- Released v1.4.

20060203:
	- Make tray menus popup in a more natural location.
	- Made menu sizes specified in terms of the size of icons.
	- Make the tray figure out its layout from its size if the layout
	  isn't given explicitly.
	- Fixed swallow items getting more space than requested.
	- Made Swallow more sane when an error is encountered.
	- Now supports windows without a border, but with a title bar.
	- Fixed a key binding issue on restart.
	- Don't show X errors unless in debug mode.

20060114:
	- Added support for _NET_WM_WINDOW_TYPE_DOCK.
	- Added support for sending _NET_CURRENT_DESKTOP to root.
	- Added the "pignore" group option.
	- Added the "maximized", "minimized", and "shaded" group options.
	- Released v1.3.

20060110:
	- Added more descriptive error messages for configuration parsing.

20060109:
	- Fixed the centering of icons in tray buttons.
	- Fixed a bug where TrayButtonStyle was being used for task lists.
	- Handle really small window borders/buttons in a more sane manner.
	- Make vertical trays size-to-fit.
	- Fixed size computation of fixed-size trays.
	- Center tray button text when no icon is present.

20060108:
	- Added Dock item for Tray. This adds support for programs to dock
	  in the tray via _NET_SYSTEM_TRAY_Sn.

20060107:
	- Added support for _NET_CLIENT_LIST and _NET_CLIENT_LIST_STACKING.
	- Added support for _NET_WM_STRUT and _NET_WM_STRUT_PARTIAL.
	- Added support for _NET_MOVERESIZE_WINDOW.

20060101:
	- Updates to configure.in to check if _XOPEN_SOURCE can safely be used.
	- Fix some compiler warnings.
	- Grab keys for trays.
	- Fix a potential issue with bad PNG icons.
	- Improved loading of swallowed clients.
	- Don't use alpha blending for icons on color depths less than 24 bits.
	- Fix resize when resizing a window that specifies an aspect ratio.
	- Now sends WM_DELETE_WINDOW to swallowed clients before exiting.
	- Fixed a problem with swallowing some programs (notably GTK+ programs).
	- Released v1.2.

20051120:
	- Added "nextstacked" key binding.
	- Released v1.1.

20051119:
	- Added ClockStyle, TrayButtonStyle, and TrayStyle options.
	- Now icon aspect ratios are preserved when resized.

20051116:
	- Added button border to TrayButtons.
	- Added Clock.

20051114:
	- Fixed task list overflow.
	- Fixed minimization on restart.

20051113:
	- Released v1.0.

20051112:
	- Make maximization work in a more sane manner.

20051111:
	- Focus next client in the stacking order when the active client is closed.
	- Added "Desktops" root menu item.
	- Fixed key actions with click-to-focus.
	- Improved window placement.

20051110:
	- Now desktops can be named, changes to the configuration for this.

20051109:
	- Send ClientMessage instead of PropertyNotify for _JWM commands.
	- More EWMH support.
	- Fix label attribute for RootMenu.
	- Added menu includes (rarsa).
	- Fix a minor menu bug.

20051106:
	- Restore maximization status on restart.

20051027:
	- Fix byte-order issue with PNG images.

20051026:
	- Fix lockup issue when restoring transient windows.
	- Added a separator to the window menu before kill/close.

20051024:
	- Fix 64-bit X server issues.

20051016:
	- Tray button can now execute external programs (or show the root menu).

20051013:
	- Support for vertical trays, pagers, and task lists.

20051012:
	- Added the ability to swallow applications in the tray.

20051010:
	- Overhaul of the tray. Multiple trays now supported.
	  [The configuration file changed]

20051007:
	- Large windows are now handled in a more sane manner.

20051003:
	- Flush the X connection before closing it.
	- Make status windows show on the screen with the mouse.
	- Fixed an off-by-one error drawing the load.

20051001:
	- Can now use XRender for rendering icons.
	- Added support for PNG icons (optional).
	- Icons are now scaled independently for title bars and the task bar.
	- Added "height" attribute to RootMenu and Menu.

20050925:
	- Now uses Xft for antialiasing, which can be disabled at compile time.
	- Made drawing of border double-buffered.

20050924:
	- Added "enabled" option to Pager.
	- Fixed a bug with loading icons.
	- Attempted to fix color issues on 64-bit X-Servers.

20050922:
	- Added noborder, border, notitle, and title options to Group.
	- Added "layer" attribute to Tray.
	- Now restacks the clients after startup.
	- Released v0.24.

20050920:
	- Added an "enabled" option to Load.
	- Added an "enabled" option to Clock.

20050915:
	- Fixed the tray using the wrong colors for the button outlines.
	- Fixed the confirm dialog using the wrong color for the background.

20050913:
	- Added the "tarball" option to make and made "distclean" do more cleaning.

20050905:
	- Fixed (?) mouse clicks going through some windows.

20050904:
	- "make install" no longer installs a .jwmrc to $HOME.
	- Fixed a bug with moving shaded windows with snapping.

20050901:
	- Updated the man page with many changes from Joe Wiles.
	- Made restarting and exiting more responsive.

20050828:
	- Fixed a bug related to stacking order with "click" focus.
	- Added the ability to restart and exit JWM by sending the _JWM_RESTART
	  and _JWM_EXIT hints respectively.
	- Added the ability to have "jwm" send _JWM_RESTART and _JWM_EXIT via
	  the -restart and -exit command line options respectively.

20050826:
	- Added the ability to have menu labels with labeled="true".
	- Added the ability to disable clicking the root to show the
	  root menu with onroot="false".
	- Added some Xinerama support.
	- Added StartupCommand and ShutdownCommand to the configuration as 
	  commands to be run when JWM starts and stops respectively.
	- Added a slight border to the tray.

20050803:
	- Fixed memory leaks that happen when JWM is unable to start.

20050524:
	- Changed "VERISON=" to "VERSION=" in the slackware Makefile.in.

20050522:
	- Added key bindings for "exit" and "restart".
	- Added the ability to parse environment variables within "Include" tags.
	- Released v0.23.

20050520:
	- Fixed menu alignment problem on empty desktops (toomyem).
	- Fixed --disable-confirm.
	- Fixed 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.

20050423:
	- Now maximizing a window takes advantage of the whole screen if
	  the tray is set to auto hide (Michael Rogers).
	- Improved startup/shutdown order. This fixes a intermittent bug
	  that could cause a crash on restart or exit.
	- Added the ability to specify a clock format.

20050328:
	- Fixed compile-time warning in border.c.
	- Added the "nolist" group option.
	- Fixed memory leak in icon.c.

20050327:
	- Fixed icon loading in menus when the icon is nonexistent.

20050206:
	- 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 tray.

20050205:
	- Added a configuration option to disable the exit confirm dialog.
	- Fixed a minor error in the calculation of the load bars for the
	  load graph.

20050117:
	- Fixed menu offsets when submenus are below a separator.
	- Added a compile-time option to disable confirm dialogs for
	  exiting and killing windows.

20050112:
	- Released v0.21.

20050110:
	- Improved the icon support to be more platform independent.
	- Added a group option: "icon:".

20050107:
	- Now makes the directory for system.jwmrc if it doesn't already
	  exist for "make install".

20050106:
	- Released v0.20.

20050103:
	- Added "Width" and "Alignment" options for the tray.
	- Added the ability to disable the "Start" button by specifying an
	  empty label without an icon.

20041231:
	- Added icon support.

20041215:
	- Released v0.19.

20041214:
	- Added support for _NET_WM_WINDOW_TYPE_DESKTOP. This allows graphical
	  file managers such as Nautilus to control the root.

20041210:
	- Added the option to move and/or resize with only an outline.
	- Added the ability to start another window manager via the exit
	  menu item.

20041207:
	- Added group option for layer and desktop.

20041203:
	- 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.

20041201:
	- 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 (as well as active).

20041128:
	- Added program groups based on title and class. Sticky option supported.
	- Fixed the problem with long window titles running into the buttons.

20041127:
	- Released v0.18.

20041126:
	- 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.

20041125:
	- Fixed the problem with text overflowing with 'antialias="false"'

20041113:
	- Added snap-to-border snap mode ("border" option).
	- Fixed a problem with restarting JWM that caused borders to not
	  be redrawn.
	- Fixed an error in the calculation of time differences.

20041030:
	- Fixes to click-to-focus model (Terry Loveall).
	- FocusNext now skips transients.

20041029:
	- Added configuration options for snap mode and and snap distance.

20041024:
	- Snap to edge of screen implemented for moving windows (Terry Loveall).

20041010:
	- Fixed time format on the clock popup.

20041009:
	- Released v0.17.

20041003:
	- Added configurable popup status windows to the tray.
	- Fixed an issue with key bindings.

20040926:
	- Added the ability to build IRIX tardists to configure.
	- Fixed (?) an issue with minimizing windows with unmapped transients.
	- Created a man page.

20040923:
	- Window placement for windows with an unspecified starting position
	  now attempts to cascade windows.

20040922:
	- Added the option to run a program when the load status is clicked
	  or when the clock is clicked.

20040919:
	- Released v0.16.

20040918:
	- Changed behavior of "FocusNext" so it no longer raises minimized
	  windows. (Suggested by Terry Loveall.)

20040914:
	- Added the option for "click to focus" (Terry Loveall).
	- Added configuration option for focus model: "click" or "sloppy".
	- Added "autohide" option for the tray (Terry Loveall).

20040907:
	- Fixed a bug in computing the colors for antialiasing.

20040905:
	- Fixed another layering issue.

20040831:
	- Fixed a layering issue that could crash JWM.
	- Improved the configure script.
	- Released v0.15.

20040828:
	- Fixed a potential bug in lex.c.

20040823:
	- Improved antialiasing to use fewer colormap entries.

20040822:
	- Improved configuration to be cleaner and allow more options.

20040821:
	- Added support for WM_COLORMAP_WINDOWS.

20040820:
	- Fixed the configure script to recognize platforms without GNU tr.

20040803:
	- Released v0.14.

20040802:
	- Added a configuration option for the height of the tray.

20040801:
	- Minimized windows now have a small icon instead of brackets.
	- Improved drawing of borders.
	- No longer shows marks on shaded window borders.
	- Fixed behaviour of cursor over a shaded frame.

20040731:
	- Fixed mouse cursor issue with some applications (xpdf).
	- Optimized drawing of border buttons.

20040730:
	- Mouse scroll wheel can now scroll through desktops when over the pager.

20040718:
	- Improved handling of Expose events.

20040717:
	- Released v0.13.

20040716:
	- Improved layer support.

20040715:
	- Improved the speed of interal window lookups.

20040713:
	- Fixed a few bugs related to Configure events.
	- More hint support.

20040709:
	- Cleaned up/fixed hint stuff. This fixes many problems.

20040705:
	- Fixed reading of the _NET_WM_STATE hint.

20040630:
	- Improved the look of the move/resize window.

20040626:
	- Fixed loading of a default configuration file when a local one is
	  not found.
	- Released v0.12

20040625:
	- Fixed a bug which caused high CPU loads (PropertyNotify loop).

20040611:
	- Cleaned up window hints stuff. Still more to do.
	- Changed the color of the "JWM" button.

20040610:
	- Now debug mode compiles with -pedantic and -ansi.
	- Made the menus look 3d.

20040609:
	- Added debug checkpoints for Xlib functions.

20040608:
	- No longer displays title buttons if they won't fit.

20040602:
	- Improved resizing so windows aren't redrawn unnecessarily.
	- Now accepts PropertyNotify for WM_PROTOCOLS hint.
	- Now makes an extra attempt at sending WM_DELETE_WINDOW before
	  resorting to killing the client.
	- Fix behavior for move on title bars without any buttons.

20040530
	- 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.

20040528:
	- No longer shows marks on the edges of windows that can't be resized.

20040525:
	- Fixed "make install"
	- Fixed an off-by-one-pixel problem when drawing the tray.

20040519:
	- Fixed a bug in the menu code.
	- Added load status support for MacOS X.
	- Released v0.11.

20040518:
	- Fixed a type consistancy issue in font.c.
	- Improved menu selections over slow X11 connections.

20040516:
	- Fixed the load/time so that it no longer flickers.

20040514:
	- Made the separator on the menus look better.
	- Improved shape extension support, still some issues.
	- 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.
	- Released v0.10.

20040513:
	- Mouse now activates window buttons on release rather than press.
	- Handle expose event on menus.

20040511:
	- Now correctly grabs the root window and tray.
	- Can now change desktops with [modifiers]+[number] ('#').
	- Improved the way colors for the border outlines are calculated.
	- Changed the look of the pager.

20040510:
	- Fixed a compiler warning in event.c
	- Added option to enable antialiasing in the configuration file.
	- Added the ability to change the height of the title bar.
	- Added arrows to indicate submenus.
	- Now menus listen for a button release rather than a button press.
	- 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.

20040509:
	- Now restacks clients after changing desktops.
	- Correctly updates the "sticky" desktop hint on client windows.
	- Reads the current desktop hint from the root window at startup.
	- Added text antialiasing.

20040504:
	- Can now use the mouse to move windows when using the keyboard.
	- Can now use the mouse to resize windows when using the keyboard.
	- Now hides the menu before executing a menu command.
	- Released v0.9.

20040502:
	- Added "Kill" option to the window menu.
	- Removed some unnecessary code.
	- Improved memory usage for window stacking.

20040427:
	- Added the ability to map keys to window functions.

20040424:
	- Added the ability to resize/move windows with the keyboard.

20040423:
	- Added load status support for Solaris.

20040420:
	- Added the ability to shade/unshade windows (double click title).
	- Added a configuration option for border size.
	- Fixed a bug when a ConfigureRequest is sent to a shaped window.

20040408:
	- Now supports internal XML entities.
	- Fixed window title overridding the title buttons.
	- Fixed submenu behavior when mouse is on the edge of the parent menu.
	- Released v0.8.

20040329:
	- Fixed(?) window gravity.

20040325:
	- Fixed a focus problem after displaying menus.

20040323:
	- Now restacks after a new window is mapped.
	- Impoved move/resize/menu so that the time/load updates.

20040304:
	- Released v0.7.

20040303:
	- Fixed an off-by-one error when calculating the border action type.
	- Fixed a potential error when a window becomes unmanaged.
	- Fixed 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.

20040229:
	- Fixed a bug in the configuration lexer.
	- Now only mouse buttons 1,2,3 will raise a window.

20040228:
	- Fixed a stacking bug related to transient windows.

20040226:
	- Resize now resizes the window as you move the mouse.

20040225:
	- Now supports aspect ratios for resizing windows.

20040114:
	- libXpm is no longer needed.
	- Added load status support for Linux.
	- Fixed a bug in the configuration lexer.
	- Released v0.6.

20040112:
	- New window decorations.
	- Fixed most XErrors.
	- Improved shape extension support.

20040111:
	- Now JWM uses autoconf.

20040110:
	- Bug fixes.
	- Released v0.5.

20040109:
	- Added some support for GNOME hints.
	- Added support for window layers.

20040106:
	- Fixed a bug involving window stacking when switching desktops.
	- Made desktop-switching "more" ICCCM compliant.

20040105:
	- Added a graphical pager.

20040105:
	- Minor bug fixes.
	- Released v0.4.

20040104:
	- Added "Alt+Tab" shortcut to switch windows.
	- Added support for virtual destops
	- Added a simple pager to the tray.
	- Added a window menu.

