diff --git a/default-plugins/status-bar/src/main.rs b/default-plugins/status-bar/src/main.rs index 7a8ccebc..8b13e763 100644 --- a/default-plugins/status-bar/src/main.rs +++ b/default-plugins/status-bar/src/main.rs @@ -34,7 +34,7 @@ impl Display for LinePart { #[derive(Clone, Copy)] pub struct ColoredElements { - // slected mode + // selected mode pub selected_prefix_separator: Style, pub selected_char_left_separator: Style, pub selected_char_shortcut: Style, @@ -65,117 +65,62 @@ pub struct ColoredElements { pub superkey_suffix_separator: Style, } -impl ColoredElements { - #[allow(clippy::too_many_arguments)] - pub fn new( - selected_prefix_separator: Style, - selected_char_left_separator: Style, - selected_char_shortcut: Style, - selected_char_right_separator: Style, - selected_styled_text: Style, - selected_suffix_separator: Style, - unselected_prefix_separator: Style, - unselected_char_left_separator: Style, - unselected_char_shortcut: Style, - unselected_char_right_separator: Style, - unselected_styled_text: Style, - unselected_suffix_separator: Style, - disabled_prefix_separator: Style, - disabled_styled_text: Style, - disabled_suffix_separator: Style, - selected_single_letter_prefix_separator: Style, - selected_single_letter_char_shortcut: Style, - selected_single_letter_suffix_separator: Style, - unselected_single_letter_prefix_separator: Style, - unselected_single_letter_char_shortcut: Style, - unselected_single_letter_suffix_separator: Style, - superkey_prefix: Style, - superkey_suffix_separator: Style, - ) -> Self { - Self { - selected_prefix_separator, - selected_char_left_separator, - selected_char_shortcut, - selected_char_right_separator, - selected_styled_text, - selected_suffix_separator, - unselected_prefix_separator, - unselected_char_left_separator, - unselected_char_shortcut, - unselected_char_right_separator, - unselected_styled_text, - unselected_suffix_separator, - disabled_prefix_separator, - disabled_styled_text, - disabled_suffix_separator, - selected_single_letter_prefix_separator, - selected_single_letter_char_shortcut, - selected_single_letter_suffix_separator, - unselected_single_letter_prefix_separator, - unselected_single_letter_char_shortcut, - unselected_single_letter_suffix_separator, - superkey_prefix, - superkey_suffix_separator, - } - } -} - // I really hate this, but I can't come up with a good solution for this, // we need different colors from palette for the default theme // 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 { match palette.source { - PaletteSource::Default => ColoredElements::new( - style!(palette.bg, palette.green), - style!(palette.black, palette.green).bold(), - style!(palette.red, palette.green).bold(), - style!(palette.black, palette.green).bold(), - style!(palette.black, palette.green).bold(), - style!(palette.green, palette.bg).bold(), - style!(palette.bg, palette.fg), - style!(palette.bg, palette.fg).bold(), - style!(palette.red, palette.fg).bold(), - style!(palette.bg, palette.fg).bold(), - style!(palette.black, palette.fg).bold(), - style!(palette.fg, palette.bg), - style!(palette.bg, palette.fg), - style!(palette.bg, palette.fg).dimmed(), - style!(palette.fg, palette.bg), - style!(palette.fg, palette.green), - style!(palette.red, palette.green).bold(), - style!(palette.green, palette.fg), - style!(palette.fg, palette.bg), - style!(palette.red, palette.fg).bold(), - style!(palette.fg, palette.bg), - style!(palette.white, palette.bg).bold(), - style!(palette.bg, palette.bg), - ), - PaletteSource::Xresources => ColoredElements::new( - style!(palette.bg, palette.green), - style!(palette.fg, palette.green).bold(), - style!(palette.red, palette.green).bold(), - style!(palette.fg, palette.green).bold(), - style!(palette.bg, palette.green).bold(), - style!(palette.green, palette.bg).bold(), - style!(palette.bg, palette.fg), - style!(palette.bg, palette.fg).bold(), - style!(palette.red, palette.fg).bold(), - style!(palette.bg, palette.fg).bold(), - style!(palette.bg, palette.fg).bold(), - style!(palette.fg, palette.bg), - style!(palette.bg, palette.fg), - style!(palette.bg, palette.fg).dimmed(), - style!(palette.fg, palette.bg), - style!(palette.fg, palette.green), - style!(palette.red, palette.green).bold(), - style!(palette.green, palette.fg), - style!(palette.fg, palette.bg), - style!(palette.red, palette.fg).bold(), - style!(palette.fg, palette.bg), - style!(palette.bg, palette.fg).bold(), - style!(palette.fg, palette.bg), - ), + PaletteSource::Default => ColoredElements { + selected_prefix_separator: style!(palette.bg, palette.green), + selected_char_left_separator: style!(palette.black, 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.bg).bold(), + unselected_prefix_separator: style!(palette.bg, palette.fg), + unselected_char_left_separator: style!(palette.bg, palette.fg).bold(), + unselected_char_shortcut: style!(palette.red, palette.fg).bold(), + unselected_char_right_separator: style!(palette.bg, palette.fg).bold(), + unselected_styled_text: style!(palette.black, palette.fg).bold(), + unselected_suffix_separator: style!(palette.fg, palette.bg), + disabled_prefix_separator: style!(palette.bg, palette.fg), + disabled_styled_text: style!(palette.bg, palette.fg).dimmed(), + disabled_suffix_separator: style!(palette.fg, palette.bg), + 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.bg), + unselected_single_letter_char_shortcut: style!(palette.red, palette.fg).bold(), + unselected_single_letter_suffix_separator: style!(palette.fg, palette.bg), + superkey_prefix: style!(palette.white, palette.bg).bold(), + superkey_suffix_separator: style!(palette.bg, palette.bg), + }, + PaletteSource::Xresources => ColoredElements { + selected_prefix_separator: style!(palette.bg, 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.bg, palette.green).bold(), + selected_suffix_separator: style!(palette.green, palette.bg).bold(), + unselected_prefix_separator: style!(palette.bg, palette.fg), + unselected_char_left_separator: style!(palette.bg, palette.fg).bold(), + unselected_char_shortcut: style!(palette.red, palette.fg).bold(), + unselected_char_right_separator: style!(palette.bg, palette.fg).bold(), + unselected_styled_text: style!(palette.bg, palette.fg).bold(), + unselected_suffix_separator: style!(palette.fg, palette.bg), + disabled_prefix_separator: style!(palette.bg, palette.fg), + disabled_styled_text: style!(palette.bg, palette.fg).dimmed(), + disabled_suffix_separator: style!(palette.fg, palette.bg), + 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.bg), + unselected_single_letter_char_shortcut: style!(palette.red, palette.fg).bold(), + unselected_single_letter_suffix_separator: style!(palette.fg, palette.bg), + superkey_prefix: style!(palette.bg, palette.fg).bold(), + superkey_suffix_separator: style!(palette.fg, palette.bg), + }, } } diff --git a/default-plugins/tab-bar/src/tab.rs b/default-plugins/tab-bar/src/tab.rs index 27b4ad94..cbe74446 100644 --- a/default-plugins/tab-bar/src/tab.rs +++ b/default-plugins/tab-bar/src/tab.rs @@ -1,5 +1,5 @@ use crate::{LinePart, ARROW_SEPARATOR}; -use ansi_term::{ANSIStrings, Color::RGB, Style}; +use ansi_term::ANSIStrings; use zellij_tile::prelude::*; pub fn active_tab(text: String, palette: Palette) -> LinePart { diff --git a/src/common/mod.rs b/src/common/mod.rs index b17fce34..28446d2e 100644 --- a/src/common/mod.rs +++ b/src/common/mod.rs @@ -259,7 +259,6 @@ pub fn start(mut os_input: Box, opts: CliArgs, config: Config) { let send_app_instructions = send_app_instructions.clone(); let max_panes = opts.max_panes; let colors = os_input.load_palette(); - // debug_log_to_file(format!("{:?}", colors)); move || { let mut screen = Screen::new( receive_screen_instructions, diff --git a/zellij-tile/src/data.rs b/zellij-tile/src/data.rs index 845385ca..86100e7a 100644 --- a/zellij-tile/src/data.rs +++ b/zellij-tile/src/data.rs @@ -72,23 +72,23 @@ pub enum Theme { Light, Dark, } +impl Default for Theme { + fn default() -> Theme { + Theme::Dark + } +} #[derive(Clone, Copy, Debug, Serialize, Deserialize, PartialEq, Eq, Hash)] pub enum PaletteSource { Default, Xresources, } -pub mod colors { - pub const WHITE: (u8, u8, u8) = (238, 238, 238); - pub const GREEN: (u8, u8, u8) = (175, 255, 0); - pub const GRAY: (u8, u8, u8) = (68, 68, 68); - pub const BRIGHT_GRAY: (u8, u8, u8) = (138, 138, 138); - pub const RED: (u8, u8, u8) = (135, 0, 0); - pub const ORANGE: (u8, u8, u8) = (215, 95, 0); - pub const BLACK: (u8, u8, u8) = (0, 0, 0); +impl Default for PaletteSource { + fn default() -> PaletteSource { + PaletteSource::Default + } } - -#[derive(Clone, Copy, Debug, Serialize, Deserialize, PartialEq, Eq, Hash)] +#[derive(Clone, Copy, Debug, Serialize, Deserialize, PartialEq, Eq, Hash, Default)] pub struct Palette { pub source: PaletteSource, pub theme: Theme, @@ -105,26 +105,6 @@ pub struct Palette { pub orange: (u8, u8, u8), } -impl Default for Palette { - fn default() -> Palette { - Palette { - source: PaletteSource::Default, - theme: Theme::Dark, - fg: colors::BRIGHT_GRAY, - bg: colors::BLACK, - black: colors::BLACK, - red: colors::RED, - green: colors::GREEN, - yellow: colors::GRAY, - blue: colors::GRAY, - magenta: colors::GRAY, - cyan: colors::GRAY, - white: colors::WHITE, - orange: colors::ORANGE, - } - } -} - /// Represents the contents of the help message that is printed in the status bar, /// which indicates the current [`InputMode`] and what the keybinds for that mode /// are. Related to the default `status-bar` plugin.