wip: tab bar coloring

This commit is contained in:
denis 2021-04-24 11:42:40 +03:00
parent c44de89350
commit de72d3d2fb
8 changed files with 16 additions and 19 deletions

View file

@ -3,15 +3,12 @@ mod second_line;
use ansi_term::{Color::RGB, Style};
use std::{
fmt::{Display, Error, Formatter},
};
use zellij_tile::{prelude::*};
use std::fmt::{Display, Error, Formatter};
use zellij_tile::prelude::*;
use first_line::{ctrl_keys, superkey};
use second_line::keybinds;
pub mod colors {
use ansi_term::Colour::{self, Fixed};
pub const WHITE: Colour = Fixed(255);

View file

@ -192,7 +192,12 @@ pub fn tab_line(
}
tab_line.append(&mut tabs_to_render);
if !tabs_after_active.is_empty() {
add_next_tabs_msg(&mut tabs_after_active, &mut tab_line, cols - prefix.len, palette);
add_next_tabs_msg(
&mut tabs_after_active,
&mut tab_line,
cols - prefix.len,
palette,
);
}
tab_line.insert(0, prefix);
tab_line

View file

@ -43,7 +43,7 @@ impl ZellijPlugin for State {
fn update(&mut self, event: Event) {
match event {
Event::ModeUpdate(mode_info) => self.mode_info.mode = mode_info.mode,
Event::ModeUpdate(mode_info) => self.mode_info = mode_info,
Event::TabUpdate(tabs) => self.tabs = tabs,
_ => unimplemented!(), // FIXME: This should be unreachable, but this could be cleaner
}

View file

@ -1,11 +1,10 @@
use crate::colors::{BLACK, BRIGHT_GRAY, GRAY, GREEN};
use crate::{LinePart, ARROW_SEPARATOR};
use ansi_term::{ANSIStrings, Color::RGB, Style};
use zellij_tile::data::Palette;
pub fn active_tab(text: String, palette: Palette) -> LinePart {
let left_separator = Style::new()
.fg(RGB(palette.fg.0, palette.fg.1, palette.fg.2))
.fg(RGB(palette.bg.0, palette.bg.1, palette.bg.2))
.on(RGB(palette.green.0, palette.green.1, palette.green.2))
.paint(ARROW_SEPARATOR);
let tab_text_len = text.chars().count() + 4; // 2 for left and right separators, 2 for the text padding
@ -30,7 +29,7 @@ pub fn active_tab(text: String, palette: Palette) -> LinePart {
pub fn non_active_tab(text: String, palette: Palette) -> LinePart {
let left_separator = Style::new()
.fg(RGB(palette.fg.0, palette.fg.1, palette.fg.2))
.fg(RGB(palette.bg.0, palette.bg.1, palette.bg.2))
.on(RGB(palette.bg.0, palette.bg.1, palette.bg.2))
.paint(ARROW_SEPARATOR);
let tab_text_len = text.chars().count() + 4; // 2 for left and right separators, 2 for the padding
@ -40,7 +39,7 @@ pub fn non_active_tab(text: String, palette: Palette) -> LinePart {
.bold()
.paint(format!(" {} ", text));
let right_separator = Style::new()
.fg(RGB(palette.fg.0, palette.fg.1, palette.fg.2))
.fg(RGB(palette.bg.0, palette.bg.1, palette.bg.2))
.on(RGB(palette.bg.0, palette.bg.1, palette.bg.2))
.paint(ARROW_SEPARATOR);
let tab_styled_text = format!(

View file

@ -18,7 +18,7 @@ use std::{
collections::{BTreeMap, HashSet},
};
use std::{io::Write, sync::mpsc::channel};
use zellij_tile::data::{colors, Event, InputMode, ModeInfo, Palette};
use zellij_tile::data::{Event, InputMode, ModeInfo, Palette};
const CURSOR_HEIGHT_WIDTH_RATIO: usize = 4; // this is not accurate and kind of a magic number, TODO: look into this

View file

@ -27,7 +27,6 @@ use crate::common::input::config::Config;
use crate::layout::Layout;
use crate::panes::PaneId;
use async_std::task_local;
use colors_transform::{Color, Rgb};
use command_is_executing::CommandIsExecuting;
use directories_next::ProjectDirs;
use errors::{
@ -45,10 +44,7 @@ use wasm_vm::PluginEnv;
use wasm_vm::{wasi_stdout, wasi_write_string, zellij_imports, PluginInstruction};
use wasmer::{ChainableNamedResolver, Instance, Module, Store, Value};
use wasmer_wasi::{Pipe, WasiState};
use xrdb::Colors;
use zellij_tile::data::{EventType, InputMode, ModeInfo, Palette, Theme};
use self::utils::logging::debug_log_to_file;
use zellij_tile::data::{EventType, InputMode, ModeInfo};
#[derive(Serialize, Deserialize, Debug)]
pub enum ApiCommand {

View file

@ -6,7 +6,7 @@ use strip_ansi_escapes::strip;
use colors_transform::{Color, Rgb};
use xrdb::Colors;
use zellij_tile::data::{Palette, Theme, PaletteSource};
use zellij_tile::data::{Palette, PaletteSource, Theme};
fn ansi_len(s: &str) -> usize {
from_utf8(&strip(s.as_bytes()).unwrap())

View file

@ -74,7 +74,7 @@ pub enum Theme {
#[derive(Clone, Copy, Debug, Serialize, Deserialize)]
pub enum PaletteSource {
Default,
Xresources
Xresources,
}
pub mod colors {
pub const WHITE: (u8, u8, u8) = (238, 238, 238);