aboutsummaryrefslogtreecommitdiffstats
path: root/include/config.h
diff options
context:
space:
mode:
authorPeter Geissler <peter@haxx.in>2026-09-20 20:23:23 +0200
committerPeter Geissler <peter@haxx.in>2026-09-20 20:23:23 +0200
commit07e1adf1124657aaea4fa32874282812281e4889 (patch)
treeab63600e4438260e3e5c650bc711645fe21d066a /include/config.h
parentsidebar: a status can have more than one row (tab_bar_status_lines) (diff)
downloadslosh-07e1adf1124657aaea4fa32874282812281e4889.tar.gz
slosh-07e1adf1124657aaea4fa32874282812281e4889.tar.xz
slosh-07e1adf1124657aaea4fa32874282812281e4889.zip
sidebar: air between tabs (tab_gap)
A tab carrying three rows of wrapped status and the tab under it carrying three more read as one column of text: the labels are in there, but the list has stopped looking like a list. tab_gap is the blank rows between them, 0 by default, which is exactly what the sidebar has always drawn. It is the space *between* tabs and nothing else. Above the first tab is tab_bar_pad's and before the button is newtab_pad's, so the gap is applied before each label except the first and none of the three is ever paid twice. Given up a row at a time when the list is short of room, ahead of every label and the button, which is the same order the pad and the statuses already follow: a gap that pushed a tab off the bottom would be spacing costing you the thing it spaces. Paint rather than layout, so tuning it repaints without reflowing any pane. Sidebars only -- the top strip is one row, and the space between tabs there is the label's own padding.
Diffstat (limited to 'include/config.h')
-rw-r--r--include/config.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/config.h b/include/config.h
index d0aeccd..b6cbc86 100644
--- a/include/config.h
+++ b/include/config.h
@@ -339,6 +339,14 @@ typedef struct {
* own window buttons when the multiplexer fills a borderless window.
* Ignored for top, which has exactly one row and no air to give. */
uint16_t tab_bar_pad;
+ /* Blank rows between one tab and the next, so a list of tabs each carrying
+ * a paragraph of status reads as separate entries rather than as one
+ * column of text. Sidebars only: the top strip is a single row, where the
+ * space between tabs is the label's own padding and there is none to give.
+ * Paint, not layout -- the panes' rectangle is the same at 0 as at 3 --
+ * and dropped a row at a time when the list is short of room, because the
+ * gap must never be what costs you the tab it was separating. */
+ uint16_t tab_gap;
/* Status rows under each of a sidebar's tabs: what the panes inside said
* through OSC 5577 (or how they died), at most this many rows per tab with
* an ellipsis when there was more. The sidebar is what makes this possible