20080614.01:
  - Several bug fixes and feature additions suggested by Yuri D'Elia.
  - Sync xdotool library to 20080606
  - Added default key binding Ctrl+[ as 'end' (requested by Luke Macken)
  - New command: 'sh' - Executes shell commands.
    Example keynavrc: ctrl+x sh "xterm -bg black -fg white"
  - New command: 'history-back' - Undo a window change operation
    Example keynavrc: a history-back
    + Such operations include: cut-*, grid, cell-select, move-*
    + The history size is currently hard-coded at 100 entries. 
    + If you exceed 100 moves, the oldest entry will be removed.
    + Every time keynav is activated, the history is wiped.
  - Fix: Any command starting with "start" is now bound globally.
  - Fix: All rendering is delayed until after the end of the current command
    sequence. This fixes (in order of annoyance, worst first):
    1) Crash when a 'start' and 'end' exist in the same command sequence.
    2) Visible 2x2 grid first, before a 3x3 grid when the start command is
       'start, grid 3x3'
    3) Rendering blinking a full white window on the screen before clipping to
       the grid.
    4) Visible blink when "cut-left,cut-up" and such are run simultaneously.
  - Fix: If the 'start' command is invoked again while keynav is active, then
    the default arrangement is set (full screen and 2x2 grid). Previously, the
    'start' command was a no-op if keynav was active.

20080522:
  - Sync xdotool library to 20080521.
  - Added 2 grid examples to keynavrc
  - Applied patches from Richard Kolkovich
    + Fix backwards math when calculating Nth cell when using 'cell-select N'
    + Fix dislexia when doing 'cell-select NxM'
    + Abort update() calls when app is inactive.
  - Now warns you if you try to execute an invalid command.

20080509:
  Feature request: Grid support.
  * New command: 'grid NxM' N and M are row and columns, respectively.
    You can divide the screen into any number of rows and columns.
    The default is 2x2.
  * New command: 'cell-select N' or 'cell-select NxM'
    With this command you can select a specific cell to zoom to.
    Usage: cell-select N
      Selects the Nth cell, counting from top left to bottom right. 
      The order of a 3x3 grid would be:
        1 2 3
        4 5 6
        7 8 9
    Usage: cell-select NxM
      Selects the specific cell at NxM. '2x2' will select row 2 column 2.

  Other important changes:
  - Whitespace before command names works now.
  - Added a pile of new examples in keynavrc.

20080508:
  Bug fix:
    If you tried to override an existing key binding, it would add a 2nd
    binding for that key instead of actually overriding it.
  Reported by Tim Schumacher.

20080501:
  Patches from Mark (20080501)
   * ~/.keynavrc extends defaults rather than replacing them
   * "clear" in ~/.keynavrc resets keybindings
   * comments can appear anywhere on a line

  Patches from Eric (20080501)
   * If the move or size value is greater than 1.0, then assume it is an absolute value.

  Patches from Lukas Mai (20080429)
   * Fixes a few minor bugs
   * Clean up to compile without most warnings when -pendantic and -Wall are enabled.

20071031:
  - Fix support when NumLock/ScrollLock/CapsLock is on.

20071023:
  - Add support for {Super,Hyper}_{R,L} modifiers (aka Mod4Mask)

20070903:
  - Drag is now working. Problem was KeyEvent.state contains masks such as
    | Button1Mask which is set when mouse button 1 is held, so keybindings stopped
    | working. Ignoring Button[1-5]Mask in this value fixes the problem.
  - Drag takes two optional arguments: a button followed by a keysequence to fire.
    | 'drag 1 alt' will do an alt+leftclick drag.
    | 'drag 2' will do a middleclick drag.
  - sync to xdotool@20070903
  - Fix a bug in parse_mods and parse_keysym where it was destructively changing the string.
  - Fix a bug where I was using the loop iterator 'i' inside another for loop. Oops.
  - Add to defaults my nethack-vi-style diagonal keybindings


20070814:
  - Arguments for {move,cut}_{up,left,down,right} in form of percentage values.
    Default for cut is 0.5 (cut the window in half)
    Default for move is 1.0 (move the full width/height of the window)
  - More examples in distributed keynavrc
  - sync to xdotool-20070812

20070705:
  - Report when keysyms or keycodes cannot be looked up for whatever reason.

20070703:
  - Include COPYRIGHT (bsd license) and a sample keynavrc in the release.

20070629:
  - Correctly use defaults if no $HOME and no $HOME/.keynavrc is found (patch from wxs)
  - Clean target is now recursive
20070627:
  - Config file support. Loads ~/.keynavrc
    + The config file lets you much more than the original keynav.
  - Uses xdo for mouse activity
  - Some drawing fixes
