diff options
| author | user <user@clank> | 2026-09-10 15:42:17 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-09-10 15:42:17 +0200 |
| commit | ecf609e3f903e05690ef21bb4f7dbd08e6d8e91d (patch) | |
| tree | ddf7b66b4e5938f9205e4a901899e23fb3ea4537 /include/config.h | |
| parent | sidebar: a row of air on top (tab_bar_pad), indicators under the labels' inset (diff) | |
| download | slosh-ecf609e3f903e05690ef21bb4f7dbd08e6d8e91d.tar.gz slosh-ecf609e3f903e05690ef21bb4f7dbd08e6d8e91d.tar.xz slosh-ecf609e3f903e05690ef21bb4f7dbd08e6d8e91d.zip | |
sidebar: what each tab's panes are saying, said under the tab (tab_bar_status)
Panes already announce a one-line status over OSC 5577, and it rendered
in exactly two places -- both inside the pane's own frame, which is the
one place you are not looking when you most want it. The sidebar has
the vertical room the top strip never had: under each tab, up to
tab_bar_status rows of what the panes inside said, in tree order, dim
like the pane count. A dead pane's row says how it died instead
(exit_words), the same substitution its own frame makes.
The cap's last row is spent on an ellipsis rather than one more status
pretending the list is complete, and a status cut to the sidebar's
width ends in one too -- 'building 3' is a different fact than
'building 3/7'. Each row is a find: hit, the verb that already means
'go to this pane', so clicking a status jumps to the pane that said it,
across tabs. Freshness costs nothing new: an OSC status marks the pane
dirty, the same path the bell indicator rides out of background tabs.
Diffstat (limited to '')
| -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 70596ec..b01d4a6 100644 --- a/include/config.h +++ b/include/config.h @@ -326,6 +326,12 @@ 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; + /* 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 + * 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; 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 |
