summaryrefslogtreecommitdiff
path: root/docs/tags.md
diff options
context:
space:
mode:
authorGabriel Schneider <[email protected]>2026-09-24 09:45:50 -0300
committerGabriel Schneider <[email protected]>2026-10-01 00:12:14 -0300
commita39fb20cb770c3adb911cec7d1f3d033669ed1bb (patch)
treee7bb88af15990e502b5f4deac5493ea2957e8b24 /docs/tags.md
parent39cdba439c1ae47dbc7c3243a9273aa011c6affa (diff)
downloadpardes-a39fb20cb770c3adb911cec7d1f3d033669ed1bb.tar.gz
pardes-a39fb20cb770c3adb911cec7d1f3d033669ed1bb.zip
Light a held column grip, and rail its landing beside the rule where the GUI shows it
The column grip worked in the GUI but showed nothing anyone could see. Driving the real SDL window with pixel mouse events, press, drag and release all reach the core and reorder or resize the column; the feedback is what failed. The grip kept its muted color while held, and a reorder's insertion rail was drawn in the gutter cell at the destination edge. The GUI paints that cell as the column's scroll rail, and at the window's left edge, the common case of moving the right column first, the dashes were lost in it. From the leftmost column, a drag short of a neighbour's middle shows no rail, rightly, since nothing would move, but nothing said the grip was even held. A held grip now lights in column_box, the accent its muted color is mixed from, and the rail takes that color. The rail runs in the seam cell left of where the column's rule will land, where a border drag's rail runs, for a reorder and a left-edge move alike; at the window's left edge, which has no seam, it runs just past the scroll rail, leaving column 0's grip and pane boxes whole. A carried column's pointer aims at a place, not a word, so the column tags no longer light the word under it, and a release snaps the layout as a border drag's does rather than animating it. The preview and the release both ask layout.columnDrop where the column goes, so the rail stands where the release puts the edge, and the drag no longer carries its unused column index. The GUI test feed takes ESC]777;mouse;<down|up|motion>;<button>;<x>;<y> in window pixels and dispatches it as an SDL event. test/column_grip.py uses it to drive the grip through the same pixel-to-cell and tag hit path as a hand on the mouse, and checks the grip, the rail and the result against GPU captures and the 9P grid. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
Diffstat (limited to 'docs/tags.md')
-rw-r--r--docs/tags.md12
1 files changed, 8 insertions, 4 deletions
diff --git a/docs/tags.md b/docs/tags.md
index c4e93bc6..8b1d3bf6 100644
--- a/docs/tags.md
+++ b/docs/tags.md
@@ -10,10 +10,14 @@ Pane and column command text leave a small gap after their aligned drag grips.
GUI pane mode symbols are centered by their visible ink; changing the font or
its size refreshes the cached measurements.
The column grip has a different
-color from a pane grip. It stays blank and muted even when its column is active.
-Drag it left or right to move the whole column; the
-insertion line previews its destination. Only columns between the old and new
-positions shift. Each column keeps its width, panes and command text.
+color from a pane grip. It stays blank and muted even when its column is active,
+and lights in its full accent while it is held.
+Drag it past a neighbour's middle to move the whole column there; dropped short
+of that, it moves the column's left edge instead, as a border drag would. While
+it is held, a dashed rail in the grip's accent stands where the column's left
+edge will land, beside the rule as a border drag's rail does. Only columns
+between the old and new positions shift. Each column keeps its width, panes and
+command text.
When Look opens the first document and its source column is too narrow for
a new column, it splits below the originating pane, just like `Tty`, instead