Windows will change regions based on the cursor location or, if being
moved by a key binding, window center.
Add 'soft boundary' window containment behavior to region boundaries.
When moving a window past the region boundary, the window will 'snap' to
the region boundary until it is moved more than boundary_width distance
beyond the edge.
Add constraint to ensure windows always have at least 1 pixel in a
region.
Add new boundary_width configuration option.
Disable the window containment behavior by setting this option to 0.
Fix floating window stacking order issue on multiple-region setups.
Eliminate unneeded region parameter on load_float_geom() and
store_float_geom().
When a region is empty, input focus is now set to the invisible input
window in the region. This enables programs (e.g. dmenu) to correctly
determine which monitor has focus.
Don't change focus to the window when it gets mapped on the screen.
Add new quirk FOCUSONMAP_SINGLE.
When the window is mapped, change focus if it is the only mapped window
on the workspace using the quirk entry.
Change validation behavior for default 'optional' applications.
Overriding the binding will no longer cause validation.
Validation will only occur when the program call is overridden.
Add details in spectrwm.conf on how to disable the default programs.
Improve man page PROGRAMS section.
Added details on default program validation and how to disable/override.
Change bar_extra_update to return 1 if bar_ext was changed; otherwise 0.
Call draw_bar in main instead of bar_extra_update.
Remove redundant bar_extra_running variable.
Use STDIN_FILENO/STDOUT_FILENO macros instead of 0/1.
Default is M-Keypad_<1-9>
Add move window to region bindings 'mvrg_<n>'
Default is M-S-Keypad_<1-9>
Add invisible input window to each region for handling region focus.
On unfocused regions, set the bar border color to color_unfocus.
Add function to handle MotionNotify events on region input windows.
Fix default focus on (re)start.
Fix region-related function and macro naming.
Names referred to 'screen' instead of 'region'
Rename screen_* bindings to rg_*.
screen_* is now an alias for rg_*; old config files will still work.
Fix screen/region wording in manpage.
Sort setkeybinding calls in setup_keys.
Cleanup redundant calls when setting up the bar.
Rename bar_fmt_print to bar_draw.
Change all bar_update calls to bar_draw, except in main.
Rename bar_update to bar_extra_update.
To clarify, bar_extra_update reads the external bar script output and
redraws the bar if needed; bar_draw only redraws the bar with the
current external bar script output.