ports · Multiplexers
SP Night for herdr
The agent sidebar, panes, tabs and toasts — including the four colours that say what each agent is doing.
the repository ↗ herdr ↗ herdr.toml.tmpl ↗
Preview
All three are dark, by decision. The previews below are synthetic — drawn from the palette itself, so they can never drift from what you install.
Install
~/.config/herdr/config.toml ~/.config/herdr/config.toml ~/.config/herdr/config.toml Those are the paths for the flavour selected in the header — switch it and they follow.
herdr keeps everything in one file, ~/.config/herdr/config.toml, and a
custom theme is a [theme.custom] table inside it. There is no theme file
to drop in and no include to point at one.
Open the flavour you want and paste its [theme.custom] block at the end
of your config:
curl -L https://raw.githubusercontent.com/sp-night/herdr/main/themes/sp_night_noite.toml Then apply it without restarting anything:
herdr server reload-config What gets themed
| `theme.custom` token | role | what it is |
|---|---|---|
text / subtext0 | ui.fg / ui.fg_dim | primary and secondary labels |
overlay1 / overlay0 | ui.fg_dim / ui.fg_muted | the two quiet steps — overlay0 also marks an agent whose state is unknown |
sidebar_bg | ui.panel | the sidebar is permanent furniture, so it sits on exposed concrete |
panel_bg | ui.float | modals and overlays drop to the vão, separating by depth rather than by a border |
surface0 / surface1 | ui.selection / ui.line | the selected row in vidro, the merely active one a step below |
surface_dim | ui.border | fiação, the wiring between panes |
accent | ui.accent | the focused border, in sódio — the lamp this whole palette is named for |
red / yellow | diagnostic.error / diagnostic.warn | an agent Blocked, an agent Working — the two you look for first |
teal / green | diagnostic.hint / diagnostic.ok | finished and not yet seen, then finished and acknowledged. herdr distinguishes the two, so the theme does |
blue | diagnostic.info | the toast that says a run finished |
mauve | syntax.type | branch names and the special labels beside them |
peach | ui.accent | set for completeness. herdr defines it in every built-in theme and accepts an override, but nothing in the interface paints with it today |
herdr.toml.tmpl is the full record of which theme.custom token means which
role — the table above in complete form. The files in
themes/ are what it resolves to, one per flavour.
You never need it to use the theme: the shipped files are plain text and final. It is here so the mapping survives, and so a retuned palette can be rolled through this port without anyone re-deciding what the four agent-state colours mean.
Where the colours come from
No hex in this repo was picked by hand. Every value comes from the
SP Night palette through its role layer,
both published as data:
palette.json and
roles.json. The contrast floors those
colours have to clear are written down in the spec
and enforced in CI.