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
