diff options
| author | user <user@clank> | 2026-08-14 20:18:23 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-08-14 20:18:23 +0200 |
| commit | 373931bf85fa92bc326f2ab68edf14a5bc15b260 (patch) | |
| tree | 61399ade7c707800c86ef1c02ba72123fc2c3be6 /config | |
| parent | sl0ppty: pick a minimise mark that fills its cell (diff) | |
| download | slosh-373931bf85fa92bc326f2ab68edf14a5bc15b260.tar.gz slosh-373931bf85fa92bc326f2ab68edf14a5bc15b260.tar.xz slosh-373931bf85fa92bc326f2ab68edf14a5bc15b260.zip | |
sl0ppty: minimised panes get one row between them, and ASCII marks
The strip was a row per minimised pane, which let putting things away cost more
room than leaving them out. It is one row now, shaped like the tab strip and
for the same reason: a list of names you click to go somewhere. Three panes put
away leave the survivor exactly as tall as one did, and there is a test that
says so, because that is the whole change.
The panes on it are no longer laid out at all — the bar draws them, so they
have no rect. The row the bar occupies is worked out by the layout and stored,
rather than by the drawing working it out again from the same inputs; two
copies of that sum is how a click lands somewhere the eye did not.
The frame's marks are plain ASCII now. Spacing has been reported twice and the
cells were even both times: what is uneven is the glyphs. A light character
floating in a mostly empty cell hands that space to the gap beside it, and the
fix of picking heavier glyphs only holds for fonts I can see. ASCII has neither
that problem nor the double-width one, and "[]" and "][" say maximise and
restore about as clearly as anything.
That needed the button width measured rather than assumed. It was hardcoded to
three cells, which was fine while every mark was one character and silently
wrong the moment one was two: the mark would have been drawn over its
neighbour, and the neighbour's hit would have covered a cell it did not draw.
Also fixes a case that could not happen with a row each: when there is no room
for the bar at all, the tab flattens rather than leaving minimised panes with
no rect and nobody drawing them.
Diffstat (limited to 'config')
| -rw-r--r-- | config/config.kdl | 19 |
1 files changed, 10 insertions, 9 deletions
diff --git a/config/config.kdl b/config/config.kdl index 2567060..f2437a4 100644 --- a/config/config.kdl +++ b/config/config.kdl @@ -53,16 +53,17 @@ title_inset 2 // the setting is about the affordance and not the verb. pane_buttons true -// Emoji are drawn two columns wide by many terminals while chrome here is -// booked as one, so these default to narrow glyphs. Pick marks of similar -// visual weight: the buttons are evenly spaced, but a glyph that floats in a -// mostly-empty cell donates that space to the gap and looks further off than -// its neighbours. Put the character itself +// Plain ASCII by default. The buttons are evenly spaced whatever is in them, +// but how even they *look* depends on the glyphs: a light character floating +// in a mostly-empty cell donates that space to the gap beside it, and emoji are +// drawn two columns wide by many terminals while chrome here is booked as one. +// ASCII has neither problem. A mark may be more than one character -- the +// button is measured, not assumed -- so "[]" and "][" work. Put the character itself // here; this file has no \u escape. -zoom_mark "□" -zoom_on_mark "▣" -close_mark "×" -min_mark "▁" +zoom_mark "[]" +zoom_on_mark "][" +close_mark "x" +min_mark "_" bell_indicator true |
