redbear-power: add nord, gruvbox, solarized-dark themes (6 total)

New theme presets selectable via --theme:
  nord           cyan borders, light-blue governor
  gruvbox        green borders, yellow governor
  solarized-dark blue borders, magenta governor

Help text updated with all 6 theme names.
This commit is contained in:
2026-07-07 01:44:06 +03:00
parent 2fc7d20f73
commit 59c9ec8ed8
2 changed files with 32 additions and 1 deletions
@@ -2044,7 +2044,8 @@ OPTIONS:
Requires redbear-sessiond to be running. If the
session bus is not reachable, the TUI continues
without D-Bus (a warning is printed to stderr).
--theme MODE Color theme: dark (default), light, high-contrast.
--theme MODE Color theme: dark (default), light, high-contrast,
nord, gruvbox, solarized-dark.
Overrides [theme].mode in the config file.
--config PATH Load configuration from PATH instead of the
standard locations. The file must be valid TOML.
@@ -58,6 +58,9 @@ impl Theme {
match mode {
"light" => Self::light(),
"high-contrast" => Self::high_contrast(),
"nord" => Self::nord(),
"gruvbox" => Self::gruvbox(),
"solarized-dark" => Self::solarized_dark(),
_ => Self::dark(),
}
}
@@ -88,6 +91,33 @@ impl Theme {
cursor_highlight: Style::new().white().on_black().bold(),
}
}
pub fn nord() -> Self {
Self {
border_focused: Style::new().cyan().bold(),
border_dim: Style::new().dark_gray(),
header_governor: Style::new().light_blue().bold(),
cursor_highlight: Style::new().bold(),
}
}
pub fn gruvbox() -> Self {
Self {
border_focused: Style::new().green().bold(),
border_dim: Style::new().dark_gray(),
header_governor: Style::new().yellow().bold(),
cursor_highlight: Style::new().bold(),
}
}
pub fn solarized_dark() -> Self {
Self {
border_focused: Style::new().blue().bold(),
border_dim: Style::new().dark_gray(),
header_governor: Style::new().magenta().bold(),
cursor_highlight: Style::new().bold(),
}
}
}
impl Default for Theme {