
Some BUGS:
    - keyboardfocus stays in window, if cursor is over it and herbstluftwm-focus goes away
    - set range for some integer-setting-values
    - don't always re-layout all if only one thing changes (e.g. border_color)
    - don't reset border width on each layouting
    - herbstclient: add timeout if server doesnot respond
    - herbstclient: errorstatus2string2stderr
    - herbstclient: -h
    - add function to put window into tag (and use it in manage, merge_tag, move)
    - reduce flicker on load command by blocking the usage of monitor_apply_layout()
    - the default panel.sh spawns too many shells and doesnot clean them up
      properly at quit. you should do something like killall panel.sh when
      logging out (this is only a workaround!).
    - Ensure stacking order is right (TODO: frame_restack())
    - separate layout.[hc] into modules: layout, monitor, tag
    - raise_on_click doesn't work if raise_on_click and numlock is enabled
    - raise_on_click doesn't work with gnome-settings-daemon
    - window_gap actually should be called frame_gap
    - window_focus is called twice when switching desktops (before mapping
      windows and after mapping them). TODO: only do it once.

Planned features:
    - dump/load floating values
    - jumpto urgent
    - completion for keybind (recursive!)
    - completion for keyunbind
    - (optional) move cursor after focus change
    - optional focus selection after frame_split
    - focus_follows_mouse based on frames/monitors
    - mouse bindings in tiling mode
    - better xcompmgr support
    - keybind with keycodes
    - chain keys/key chains/...
    - lastfocused{window,frame,tag} - commands
    - cycle_tags command
    - double window border to give a good contrast to dark backgrounded and
      light backgrounded windows.

