Co-authored-by: @ahesford
The direction of resizing was determined based on the hovered ssd
component (e.g. left border, top-left extent), but it caused problems when
trying to start resizing by pressing the corners of the window border; the
resizing direction was always unidirectional at bottom corners and
resizing cannot be started by pressing top corners.
This commit fixes this weirdness by determining resize directions only
based on the window geometry and the cursor position. The corner extents
are removed as they are not longer needed.
This commit also adds <resize><cornerRange> which configures the range of
corner resizing on the borders/extent.
This fixes the ugly look of SSD for tiny windows (e.g. "xterm -geometry
1x1") due to the early return in `ssd_update_geometry()`. Now SSDs are
rendered correctly for those windows by hiding some buttons when the
window width is smaller than the total width of buttons. Additionally for
windows smaller than (button width)*2, the corners are un-rounded so a
small titlebar can be rendered with a scene-rect.