diff options
| author | user <user@clank> | 2026-08-14 20:32:16 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-08-14 20:32:16 +0200 |
| commit | 686421cee2ebf7dac0d4da28cfa23fe201272352 (patch) | |
| tree | bb3c46b23a378323c33845fa532300f135d5d1de /config | |
| parent | sl0ppty: plain ASCII for the frame's buttons (diff) | |
| download | slosh-686421cee2ebf7dac0d4da28cfa23fe201272352.tar.gz slosh-686421cee2ebf7dac0d4da28cfa23fe201272352.tar.xz slosh-686421cee2ebf7dac0d4da28cfa23fe201272352.zip | |
sl0ppty: the status line says what the pointer is on
The frame's affordances are nearly all one character wide, and the widest one
is invisible: a border that splits when you click it looks exactly like a
border. Hovering anything now puts a word in the middle of the status line.
Read off the hit list rather than tracked. Anything that registers a hit gets a
hint by being named in one table, and nothing has to remember to raise or clear
one — which also means the hint cannot disagree about what is under the pointer
with the thing that would actually be clicked, since both are the same lookup.
The status line is drawn after everything else has registered, so the list is
complete by the time it asks.
It is centred in what is left between the two ends rather than in the row.
Centring it in the row would put it under the session name on a narrow screen,
and a hint that overwrites the thing it is explaining is worse than no hint; it
is simply not drawn when it does not fit, which has a test with a deliberately
long pane title.
Two of that test's checks were wrong before they were right, in the ordinary
way: one searched for a substring that also occurs in the text on the right,
and one assumed forty-four columns was too narrow to fit a hint when it was
not. Both now assert against measured positions rather than my guess at them.
Diffstat (limited to 'config')
| -rw-r--r-- | config/config.kdl | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/config/config.kdl b/config/config.kdl index 689c7c9..db272a4 100644 --- a/config/config.kdl +++ b/config/config.kdl @@ -51,6 +51,15 @@ title_inset 2 // still done by clicking an edge. They do cost six columns of every frame, so // this turns them off -- the keybindings (C-a z, C-a x) are unaffected, because // the setting is about the affordance and not the verb. +// A word in the middle of the status line for whatever the pointer is on: +// which way a border would split, what a one-character button does, that the +// gap between two panes can be dragged. The frame's affordances are mostly one +// character wide and a border that splits when clicked looks exactly like a +// border, so this is where they say so. It gives way to the rest of the line +// when there is no room between the two ends -- a hint that overwrites what it +// is explaining is worse than no hint. +hints true + pane_buttons true // Plain single-width ASCII, after box-drawing and block characters were each |
