diff options
| author | user <user@clank> | 2026-09-22 11:59:10 +0200 |
|---|---|---|
| committer | user <user@clank> | 2026-09-22 11:59:10 +0200 |
| commit | cb0d993fa284005d5679b628bb08d51f12812b8c (patch) | |
| tree | 9d28b86f925255a24adb27306c6dde62e9f86292 /include | |
| parent | sidebar: air between tabs (tab_gap) (diff) | |
| download | slosh-cb0d993fa284005d5679b628bb08d51f12812b8c.tar.gz slosh-cb0d993fa284005d5679b628bb08d51f12812b8c.tar.xz slosh-cb0d993fa284005d5679b628bb08d51f12812b8c.zip | |
tabs: a plate under the ones you are not in (tab_idle_bg)
The active tab has been filled with the accent since the strip existed; every
other tab was words on the background. That leaves the strip with one shape on
it and nothing to compare it against -- where a tab ends, how far the row you
are about to click reaches, and in the sidebar which rows are tabs rather than
statuses, all had to be read off the text.
tab_idle_bg fills them. Barely off the background and in the label's own grey,
because this is not a second highlight: it gives a tab edges, and it gives the
accent something to be brighter than, which on a strip of short labels is most
of how the eye finds the tab it is in. Hover keeps it for the same reason the
active tab keeps its fill -- losing the plate under the pointer would read as
the tab going away -- so hovering still lands on the text, and the bell mark
sits on the plate rather than punching a hole in it.
Derived a third of the way from default_bg to tab_idle when nobody names it,
the same bargain tab_status_fg and tab_status_stripe already make: both ends
are colours every theme in contrib defines, so each gets a plate in its own
family -- paper lightens, phosphor greens, mono stays grey -- without a line
added to any of them. Naming it wins, and naming your own background is how
you ask for the bare tabs back.
The `+ new tab` button and the gaps between tabs stay unpainted: the button is
the one row in the list that does not mean "go here", and tab_gap is air
between plates, which is what makes them read as separate tabs at all.
Diffstat (limited to 'include')
| -rw-r--r-- | include/app_internal.h | 1 | ||||
| -rw-r--r-- | include/config.h | 8 |
2 files changed, 9 insertions, 0 deletions
diff --git a/include/app_internal.h b/include/app_internal.h index 97f6028..5b750ab 100644 --- a/include/app_internal.h +++ b/include/app_internal.h @@ -388,6 +388,7 @@ extern config_t CFG; #define TAB_ACTIVE_BG (CFG.tab_active_bg) #define TAB_ACTIVE_HOVER_FG (CFG.tab_active_hover_fg) #define TAB_IDLE (CFG.tab_idle) +#define TAB_IDLE_BG (CFG.tab_idle_bg) #define TAB_HOVER (CFG.tab_hover) #define PREFIX_FG (CFG.prefix_fg) #define PREFIX_BG (CFG.prefix_bg) diff --git a/include/config.h b/include/config.h index b6cbc86..a042141 100644 --- a/include/config.h +++ b/include/config.h @@ -468,6 +468,14 @@ typedef struct { * the tab you are in -- so its hover shows in the text instead. */ color_t tab_active_hover_fg; color_t tab_idle, tab_hover; + /* The fill under every tab that is not the active one, so a tab reads as a + * plate rather than as words floating on the background -- and so the + * active tab's fill reads as *this one* against the rest, which is a + * comparison it could not make against nothing. Derived a third of the way + * from the background to `tab_idle`, the tab's own label grey, so it stays + * in a theme's family without any theme naming it. Set it to the theme's + * `default_bg` for the old bare look. */ + color_t tab_idle_bg; color_t prefix_fg, prefix_bg; /* the "C-a" badge */ color_t tab_count; /* how many panes in the session */ /* The sidebar's status rows. Their distinction from the labels above them |
