Calm slate. Living color.
Living Code for bottom: native TOML styles for CPU, memory, network, batteries, graphs, tables and selected widgets.
|
Night Dark · full palette
|
Frost Dark · softer chroma
|
|
Paper Light · near-white slate
|
Signal Dark · teal accent
|
Select any preview to view the image at full size.
flavor=night # night, frost, paper, or signal
curl -fsSL --create-dirs -o "${XDG_CONFIG_HOME:-$HOME/.config}/bottom/themes/living-code-$flavor.toml" "https://raw.githubusercontent.com/living-code-theme/bottom/main/themes/living-code-$flavor.toml"
btm --config "${XDG_CONFIG_HOME:-$HOME/.config}/bottom/themes/living-code-$flavor.toml"This leaves your normal bottom.toml untouched. To retain its monitor layout and process settings, merge the downloaded file’s [styles] tables into that config instead. Remove duplicate style tables and do not pass a built-in --color override.
Expand a flavor for its full-size preview and activation instructions.
Night · Dark · full palette
btm --config "${XDG_CONFIG_HOME:-$HOME/.config}/bottom/themes/living-code-night.toml"Frost · Dark · softer chroma
btm --config "${XDG_CONFIG_HOME:-$HOME/.config}/bottom/themes/living-code-frost.toml"Paper · Light · near-white slate
btm --config "${XDG_CONFIG_HOME:-$HOME/.config}/bottom/themes/living-code-paper.toml"Signal · Dark · teal accent
btm --config "${XDG_CONFIG_HOME:-$HOME/.config}/bottom/themes/living-code-signal.toml"The file contains only [styles] and its child tables. Remove existing duplicates before merging. Do not pass --color when testing the custom palette: a built-in-theme command-line override takes precedence. CPU, temperature and GPU series use a consistent set of Living Code semantic hues. Widget text and selected text use explicit foreground/background pairs.
Targets bottom’s current [styles] format, verified against its complete upstream valid-style fixture. Older releases using different styling keys are not claimed. Truecolor is recommended. Tests parse TOML, check section/field names against the fixture and verify foreground/selection contrast; the native application is also captured automatically.
Previews are captured programmatically from the actual application in an isolated profile. See capture/app.py for the app-owned recipe and images/capture.json for runtime, palette and image provenance. No mock interface is drawn.
Found a problem? Open an issue with the app version, the flavor and a screenshot. Want Living Code somewhere else? Request a port.
Pull requests are welcome. Keep this README, port.json and images/ in sync, and use real screenshots of the app, never mockups.
🦎 One chameleon, many habitats. Part of Living Code.



