diff options
| author | srdusr <[email protected]> | 2026-07-13 19:43:00 +0200 |
|---|---|---|
| committer | srdusr <[email protected]> | 2026-07-13 19:43:00 +0200 |
| commit | 5ef39bd041c64c66f629f9fac53ecc0cdd7aff11 (patch) | |
| tree | fd7afcfa5ca5f6d8e7aad15cf8837f88f598cb8a /config | |
| parent | a6f98eba60f71f7250f4383e76642a901c5b8439 (diff) | |
| download | srdwm-5ef39bd041c64c66f629f9fac53ecc0cdd7aff11.tar.gz srdwm-5ef39bd041c64c66f629f9fac53ecc0cdd7aff11.zip | |
Give every window an outward resize band, so a borderless one can be grabbed
Reported as resizing working "from one direction" and feeling "very cheap".
The outward half of the grab zone was `border_width` alone. The inward half
is deliberately narrow - 3px on an undecorated window, narrowed on purpose
because a wider band was stealing clicks from Nemo's own tab-close and
minimize buttons near the edges. So a borderless window's entire resize
target was that 3px, which is missed far more often than hit and reads as an
edge that only sometimes resizes. Turning borders off for the macOS look
made it strictly worse: the border had been quietly providing the only
outward reach.
The fix belongs outside the frame, not inside it. Pixels beyond a window's
own edge have no client content to steal a click from, so the band there can
be generous regardless of border width. RESIZE_OUTSET is now a floor on the
outward reach, with the drawn border used instead when it is wider. macOS
and GNOME both let a pointer grab slightly outside a window's visible edge
for the same reason.
An existing test asserted the old behaviour - that with no border a point
outside the frame is not a hit - so it was rewritten to exercise a border
wider than the new band rather than have its assertion quietly flipped. Two
tests added: that a borderless window is grabbable across the whole band and
one pixel past it is not, and that the band reaches all four edges rather
than just the left.
533 tests pass, clippy clean.
Diffstat (limited to 'config')
0 files changed, 0 insertions, 0 deletions