summaryrefslogtreecommitdiffstats
path: root/default-plugins/status-bar/src/main.rs
diff options
context:
space:
mode:
Diffstat (limited to 'default-plugins/status-bar/src/main.rs')
-rw-r--r--default-plugins/status-bar/src/main.rs87
1 files changed, 50 insertions, 37 deletions
diff --git a/default-plugins/status-bar/src/main.rs b/default-plugins/status-bar/src/main.rs
index 471c45c76..27e549d1c 100644
--- a/default-plugins/status-bar/src/main.rs
+++ b/default-plugins/status-bar/src/main.rs
@@ -81,56 +81,64 @@ pub struct ColoredElements {
// plus here we can add new sources in the future, like Theme
// that can be defined in the config perhaps
fn color_elements(palette: Palette) -> ColoredElements {
+ let background = match palette.theme_hue {
+ ThemeHue::Dark => palette.black,
+ ThemeHue::Light => palette.white,
+ };
+ let foreground = match palette.theme_hue {
+ ThemeHue::Dark => palette.white,
+ ThemeHue::Light => palette.black,
+ };
match palette.source {
PaletteSource::Default => ColoredElements {
- selected_prefix_separator: style!(palette.gray, palette.green),
- selected_char_left_separator: style!(palette.black, palette.green).bold(),
+ selected_prefix_separator: style!(background, palette.green),
+ selected_char_left_separator: style!(background, palette.green).bold(),
selected_char_shortcut: style!(palette.red, palette.green).bold(),
- selected_char_right_separator: style!(palette.black, palette.green).bold(),
- selected_styled_text: style!(palette.black, palette.green).bold(),
- selected_suffix_separator: style!(palette.green, palette.gray).bold(),
- unselected_prefix_separator: style!(palette.gray, palette.fg),
- unselected_char_left_separator: style!(palette.black, palette.fg).bold(),
+ selected_char_right_separator: style!(background, palette.green).bold(),
+ selected_styled_text: style!(background, palette.green).bold(),
+ selected_suffix_separator: style!(palette.green, background).bold(),
+ unselected_prefix_separator: style!(background, palette.fg),
+ unselected_char_left_separator: style!(background, palette.fg).bold(),
unselected_char_shortcut: style!(palette.red, palette.fg).bold(),
- unselected_char_right_separator: style!(palette.black, palette.fg).bold(),
- unselected_styled_text: style!(palette.black, palette.fg).bold(),
- unselected_suffix_separator: style!(palette.fg, palette.gray),
- disabled_prefix_separator: style!(palette.gray, palette.fg),
- disabled_styled_text: style!(palette.gray, palette.fg).dimmed(),
- disabled_suffix_separator: style!(palette.fg, palette.gray),
- selected_single_letter_prefix_separator: style!(palette.gray, palette.green),
+ unselected_char_right_separator: style!(background, palette.fg).bold(),
+ unselected_styled_text: style!(background, palette.fg).bold(),
+ unselected_suffix_separator: style!(palette.fg, background),
+ disabled_prefix_separator: style!(background, palette.fg),
+ disabled_styled_text: style!(background, palette.fg).dimmed(),
+ disabled_suffix_separator: style!(palette.fg, background),
+ selected_single_letter_prefix_separator: style!(background, palette.green),
selected_single_letter_char_shortcut: style!(palette.red, palette.green).bold(),
- selected_single_letter_suffix_separator: style!(palette.green, palette.gray),
- unselected_single_letter_prefix_separator: style!(palette.gray, palette.fg),
- unselected_single_letter_char_shortcut: style!(palette.red, palette.fg).bold(),
- unselected_single_letter_suffix_separator: style!(palette.fg, palette.gray),
- superkey_prefix: style!(palette.white, palette.gray).bold(),
- superkey_suffix_separator: style!(palette.gray, palette.gray),
+ selected_single_letter_suffix_separator: style!(palette.green, background),
+ unselected_single_letter_prefix_separator: style!(background, palette.fg),
+ unselected_single_letter_char_shortcut: style!(palette.red, palette.fg).bold().dimmed(),
+ unselected_single_letter_suffix_separator: style!(palette.fg, background),
+ superkey_prefix: style!(foreground, background).bold(),
+ superkey_suffix_separator: style!(background, background),
},
PaletteSource::Xresources => ColoredElements {
- selected_prefix_separator: style!(palette.gray, palette.green),
+ selected_prefix_separator: style!(background, palette.green),
selected_char_left_separator: style!(palette.fg, palette.green).bold(),
selected_char_shortcut: style!(palette.red, palette.green).bold(),
selected_char_right_separator: style!(palette.fg, palette.green).bold(),
- selected_styled_text: style!(palette.gray, palette.green).bold(),
- selected_suffix_separator: style!(palette.green, palette.gray).bold(),
- unselected_prefix_separator: style!(palette.gray, palette.fg),
- unselected_char_left_separator: style!(palette.gray, palette.fg).bold(),
+ selected_styled_text: style!(background, palette.green).bold(),
+ selected_suffix_separator: style!(palette.green, background).bold(),
+ unselected_prefix_separator: style!(background, palette.fg),
+ unselected_char_left_separator: style!(background, palette.fg).bold(),
unselected_char_shortcut: style!(palette.red, palette.fg).bold(),
- unselected_char_right_separator: style!(palette.gray, palette.fg).bold(),
- unselected_styled_text: style!(palette.gray, palette.fg).bold(),
- unselected_suffix_separator: style!(palette.fg, palette.gray),
- disabled_prefix_separator: style!(palette.gray, palette.fg),
- disabled_styled_text: style!(palette.gray, palette.fg).dimmed(),
- disabled_suffix_separator: style!(palette.fg, palette.gray),
+ unselected_char_right_separator: style!(background, palette.fg).bold(),
+ unselected_styled_text: style!(background, palette.fg).bold(),
+ unselected_suffix_separator: style!(palette.fg, background),
+ disabled_prefix_separator: style!(background, palette.fg),
+ disabled_styled_text: style!(background, palette.fg).dimmed(),
+ disabled_suffix_separator: style!(palette.fg, background),
selected_single_letter_prefix_separator: style!(palette.fg, palette.green),
selected_single_letter_char_shortcut: style!(palette.red, palette.green).bold(),
selected_single_letter_suffix_separator: style!(palette.green, palette.fg),
- unselected_single_letter_prefix_separator: style!(palette.fg, palette.gray),
+ unselected_single_letter_prefix_separator: style!(palette.fg, background),
unselected_single_letter_char_shortcut: style!(palette.red, palette.fg).bold(),
- unselected_single_letter_suffix_separator: style!(palette.fg, palette.gray),
- superkey_prefix: style!(palette.gray, palette.fg).bold(),
- superkey_suffix_separator: style!(palette.fg, palette.gray),
+ unselected_single_letter_suffix_separator: style!(palette.fg, background),
+ superkey_prefix: style!(background, palette.fg).bold(),
+ superkey_suffix_separator: style!(palette.fg, background),
},
}
}
@@ -189,9 +197,14 @@ impl ZellijPlugin for State {
let first_line = format!("{}{}", superkey, ctrl_keys);
let second_line = self.second_line(cols);
- // [48;5;238m is gray background, [0K is so that it fills the rest of the line
+ let background = match self.mode_info.style.colors.theme_hue {
+ ThemeHue::Dark => self.mode_info.style.colors.black,
+ ThemeHue::Light => self.mode_info.style.colors.white,
+ };
+
+ // [48;5;238m is white background, [0K is so that it fills the rest of the line
// [m is background reset, [0K is so that it clears the rest of the line
- match self.mode_info.style.colors.gray {
+ match background {
PaletteColor::Rgb((r, g, b)) => {
println!("{}\u{1b}[48;2;{};{};{}m\u{1b}[0K", first_line, r, g, b);
}