aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authoruser <user@clank>2026-09-10 16:10:33 +0200
committeruser <user@clank>2026-09-10 16:10:33 +0200
commitfca50377124202217c9cf5071d346f1bb30907bb (patch)
tree5c3530974568e88ae4794387e5f7d9f88f9fe6ee /include
parentdocs: the tab bar's new shapes, written down (diff)
downloadslosh-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.h6
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