aboutsummaryrefslogtreecommitdiffstats
path: root/src/server.c
diff options
context:
space:
mode:
authorsl0p <sl0p@sl0p.foo>2026-08-14 00:28:57 +0200
committersl0p <sl0p@sl0p.foo>2026-08-14 00:28:57 +0200
commit61ac1318eaad46363235d41e9cbc31eb7e3e2f84 (patch)
treeef9b88ec45dbb7227ad15736f80aa22c3354c6ab /src/server.c
parentsl0ptty: the border is the button — click an edge to split toward it (diff)
downloadslosh-61ac1318eaad46363235d41e9cbc31eb7e3e2f84.tar.gz
slosh-61ac1318eaad46363235d41e9cbc31eb7e3e2f84.tar.xz
slosh-61ac1318eaad46363235d41e9cbc31eb7e3e2f84.zip
sl0ptty: fix the split guide describing the layout from before the split
Which border the pointer is over was remembered from the last motion event, so after a click split the guide stayed attached to the old pane and the old edge until the mouse moved and corrected it. It is derived during the paint now: draw_split_guide asks the hit list where the pointer is, using the entries that same pass just registered for that pane. Drawing and hit-testing already could not disagree; now drawing and the layout cannot either. The pointer position is the only thing kept. Same lesson as the hit list, one level up: do not remember what you can derive from the frame you are drawing. Regression test splits by clicking a border and then deliberately does not move the mouse, asserting exactly one pane shows a guide, that it is the pane the pointer is actually inside, and that it is on the edge the pointer is on. 391 checks green.
Diffstat (limited to 'src/server.c')
0 files changed, 0 insertions, 0 deletions