diff options
| author | Peter Geissler <peter@haxx.in> | 2026-09-20 20:23:23 +0200 |
|---|---|---|
| committer | Peter Geissler <peter@haxx.in> | 2026-09-20 20:23:23 +0200 |
| commit | 07e1adf1124657aaea4fa32874282812281e4889 (patch) | |
| tree | ab63600e4438260e3e5c650bc711645fe21d066a /include/config.h | |
| parent | sidebar: a status can have more than one row (tab_bar_status_lines) (diff) | |
| download | slosh-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.h | 8 |
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 |
