diff options
| author | user <user@clank> | 2026-09-10 16:10:33 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-09-10 16:10:33 +0200 |
| commit | fca50377124202217c9cf5071d346f1bb30907bb (patch) | |
| tree | 5c3530974568e88ae4794387e5f7d9f88f9fe6ee /include | |
| parent | docs: the tab bar's new shapes, written down (diff) | |
| download | slosh-fca50377124202217c9cf5071d346f1bb30907bb.tar.gz slosh-fca50377124202217c9cf5071d346f1bb30907bb.tar.xz slosh-fca50377124202217c9cf5071d346f1bb30907bb.zip | |
sidebar: framed like a pane, and in compact mode framed *with* it (tab_bar_chrome)
A list of tabs sitting in bare columns beside a framed layout reads as
text that wandered in from outside. So the sidebar gets a frame of its
own -- and in compact mode not its own: its inner vertical lands on the
tab area's ring column, and because the lines are strokes that union
with whatever is already in the cell, the corners become tees without
anyone computing a junction. The sidebar and the layout come out as one
figure, which is the whole point.
Classic mode gets a free-standing frame in the idle frame colour,
rounded or square with everything else. The frame costs a column each
side and a row top and bottom, taken from the sidebar's own budget --
and dropped entirely, before the list is, when the sidebar is too small
to afford it: chrome must not displace what it is chrome for.
The content box (cx/cw) now feeds the labels, the status rows, their
hits and the truncation budget alike, so the frame cannot disagree with
where the clicks land.
Diffstat (limited to 'include')
| -rw-r--r-- | include/config.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/config.h b/include/config.h index b01d4a6..1849014 100644 --- a/include/config.h +++ b/include/config.h @@ -332,6 +332,12 @@ typedef struct { * at all -- the top strip has one row and no room to say any of it. 0 turns * it off. */ uint16_t tab_bar_status; + /* Frame the sidebar the way panes are framed, so it reads as part of the + * chrome rather than as text floating beside it. In compact mode its lines + * are shared with the tab area's outer ring -- the same junction-forming + * strokes the dividers use -- so the two are one figure. Ignored for top, + * which has no chrome to flow into. */ + bool tab_bar_chrome; bool status_line; /* the line along the bottom: what you are looking at */ /* How far the strip and the line are held off the left and right edges. * Separate from `gap`, which is the space around the *panes*: the two happen |
