From 1017850a6cc91328abc1127bdb117495f5e909d8 Mon Sep 17 00:00:00 2001 From: Jack Wills <32690432+mrjackwills@users.noreply.github.com> Date: Thu, 28 Apr 2022 21:25:27 +0000 Subject: [PATCH 01/20] feat: refactored centered box to diplay in any of 9 areas --- README.md | 13 +++-- src/app_error.rs | 25 +++------ src/input_handler/mod.rs | 35 ++++++++++++- src/main.rs | 2 + src/ui/draw_blocks.rs | 68 ++++++++++++++++++------- src/ui/gui_state.rs | 106 +++++++++++++++++++++++++++++++++------ src/ui/mod.rs | 10 +++- 7 files changed, 202 insertions(+), 57 deletions(-) diff --git a/README.md b/README.md index ae524e6..4610130 100644 --- a/README.md +++ b/README.md @@ -21,14 +21,21 @@

-## Download +## Download & install See releases +install +```bash +INSTALL_DIR="${HOME}/.local/bin" +tar xzvf oxker_linux_x86_64.tar.gz oxker +install -Dm 755 oxker -t "$INSTALL_DIR" +rm oxker_linux_x86_64.tar.gz oxker +``` ## Run -```./oxker``` +```oxker``` available command line arguments | argument|result| @@ -56,7 +63,7 @@ requires docker & error!("Unable to access docker daemon"), - Self::DockerInterval => error!("Docker update interval needs to be greater than 0"), - Self::InputPoll => error!("Unable to poll user input"), - Self::Terminal => error!("Unable to draw to terminal"), - Self::DockerCommand(s) => { - let error = format!("Unable to {} container", s); - error!(%error); - } - } - } -} - /// Convert errors into strings to display impl fmt::Display for AppError { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { @@ -39,6 +22,10 @@ impl fmt::Display for AppError { Self::InputPoll => "Unable to poll user input".to_owned(), Self::Terminal => "Unable to draw to terminal".to_owned(), Self::DockerCommand(s) => format!("Unable to {} container", s), + Self::MouseCapture(x) => { + let reason = if *x { "en" } else { "dis" }; + format!("Unable to {}able mouse capture", reason) + } }; write!(f, "{}", disp) } diff --git a/src/input_handler/mod.rs b/src/input_handler/mod.rs index 3e14fb5..610c0f5 100644 --- a/src/input_handler/mod.rs +++ b/src/input_handler/mod.rs @@ -4,7 +4,12 @@ use std::sync::{ }; use bollard::{container::StartContainerOptions, Docker}; -use crossterm::event::{KeyCode, MouseButton, MouseEvent, MouseEventKind}; +use crossterm::{ + event::{ + DisableMouseCapture, EnableMouseCapture, KeyCode, MouseButton, MouseEvent, MouseEventKind, + }, + execute, +}; use parking_lot::Mutex; use tokio::sync::broadcast::Receiver; use tui::layout::Rect; @@ -25,6 +30,7 @@ pub struct InputHandler { gui_state: Arc>, is_running: Arc, rec: Receiver, + mouse_capture: bool, } impl InputHandler { @@ -42,6 +48,7 @@ impl InputHandler { gui_state, is_running, rec, + mouse_capture: true, }; inner.start().await; } @@ -69,6 +76,7 @@ impl InputHandler { async fn button_press(&mut self, key_code: KeyCode) { let show_error = self.app_data.lock().show_error; let show_info = self.gui_state.lock().show_help; + if show_error { match key_code { KeyCode::Char('q') => { @@ -98,6 +106,31 @@ impl InputHandler { KeyCode::Char('h') => { self.gui_state.lock().show_help = true; } + KeyCode::Char('m') => { + if self.mouse_capture { + match execute!(std::io::stdout(), DisableMouseCapture) { + Ok(_) => self + .gui_state + .lock() + .set_info_box("Mouse capture disabled".to_owned()), + Err(_) => self + .app_data + .lock() + .set_error(AppError::MouseCapture(false)), + } + } else { + match execute!(std::io::stdout(), EnableMouseCapture) { + Ok(_) => self + .gui_state + .lock() + .set_info_box("Mouse capture enabled".to_owned()), + Err(_) => self.app_data.lock().set_error(AppError::MouseCapture(true)), + } + todo!("tokio spawn for x seconds and then reset, probably need to take in an arc clone for self.gui_state") + // execute!(stdout, EnableMouseCapture).unwrap(); + }; + self.mouse_capture = !self.mouse_capture; + } KeyCode::Tab => self.gui_state.lock().next_panel(), KeyCode::BackTab => self.gui_state.lock().previous_panel(), KeyCode::Home => { diff --git a/src/main.rs b/src/main.rs index 97a3e50..112118a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,3 +1,5 @@ +#![allow(unused)] + use app_data::AppData; use app_error::AppError; use bollard::Docker; diff --git a/src/ui/draw_blocks.rs b/src/ui/draw_blocks.rs index f3ac6c9..28830b0 100644 --- a/src/ui/draw_blocks.rs +++ b/src/ui/draw_blocks.rs @@ -19,6 +19,7 @@ use crate::{ app_error::AppError, }; +use super::gui_state::BoxLocation; use super::{GuiState, SelectablePanel}; const NAME_TEXT: &str = r#" @@ -497,7 +498,7 @@ pub fn draw_help_box(f: &mut Frame<'_, B>) { .border_type(BorderType::Rounded) .border_style(Style::default().fg(Color::Black)); - let area = centered_info(lines as u16, max_line_width as u16, f.size()); + let area = draw_popup(lines as u16, max_line_width as u16, f.size(), BoxLocation::MiddleCentre); let split_popup = Layout::default() .direction(Direction::Vertical) @@ -560,38 +561,67 @@ pub fn draw_error(f: &mut Frame<'_, B>, error: AppError, seconds: Op .block(block) .alignment(Alignment::Center); - let area = centered_info(lines as u16, max_line_width as u16, f.size()); + let area = draw_popup(lines as u16, max_line_width as u16, f.size(), BoxLocation::MiddleCentre); + f.render_widget(Clear, area); + f.render_widget(paragraph, area); +} + +/// Show info box in bottom right corner +pub fn draw_info(f: &mut Frame<'_, B>, text: String) { + let block = Block::default() + .title("") + .title_alignment(Alignment::Center) + .borders(Borders::NONE); + + // Add a blank line, so that the text is verticall centered + let text = format!("\n{}", text); + + let mut max_line_width = 0; + text.lines().into_iter().for_each(|line| { + let width = line.chars().count(); + if width > max_line_width { + max_line_width = width; + } + }); + + let mut lines = text.lines().count(); + + // Add some horizontal & vertical margins + max_line_width += 8; + lines += 3; + + let paragraph = Paragraph::new(text) + .style(Style::default().bg(Color::Blue).fg(Color::White)) + .block(block) + .alignment(Alignment::Center); + + let area = draw_popup(lines as u16, max_line_width as u16, f.size(), BoxLocation::BottomRight); f.render_widget(Clear, area); f.render_widget(paragraph, area); } /// draw a box in the center of the screen, based on max line width + number of lines -fn centered_info(number_lines: u16, max_line_width: u16, r: Rect) -> Rect { +fn draw_popup(text_lines: u16, text_width: u16, r: Rect, box_location:BoxLocation) -> Rect { // This can panic if number_lines or max_line_width is larger than r.height or r.width - let blank_vertical = (r.height - number_lines) / 2; - let blank_horizontal = (r.width - max_line_width) / 2; + let blank_vertical = (r.height - text_lines) / 2; + let blank_horizontal = (r.width - text_width) / 2; + + let vertical_constraints = box_location.get_vertical_constraints(blank_vertical, text_lines); + let horizontal_constraints = box_location.get_horizontal_constraints(blank_horizontal, text_width); + + let indexes = box_location.get_indexes(); let popup_layout = Layout::default() .direction(Direction::Vertical) .constraints( - [ - Constraint::Max(blank_vertical), - Constraint::Max(number_lines), - Constraint::Max(blank_vertical), - ] - .as_ref(), + vertical_constraints ) .split(r); Layout::default() .direction(Direction::Horizontal) .constraints( - [ - Constraint::Max(blank_horizontal), - Constraint::Max(max_line_width), - Constraint::Max(blank_horizontal), - ] - .as_ref(), + horizontal_constraints ) - .split(popup_layout[1])[1] -} + .split(popup_layout[indexes.0])[indexes.1] +} \ No newline at end of file diff --git a/src/ui/gui_state.rs b/src/ui/gui_state.rs index eb53924..7ee205e 100644 --- a/src/ui/gui_state.rs +++ b/src/ui/gui_state.rs @@ -1,5 +1,5 @@ use std::{collections::HashMap, fmt}; -use tui::layout::Rect; +use tui::layout::{Constraint, Rect}; #[derive(Debug, PartialEq, std::hash::Hash, std::cmp::Eq, Clone, Copy)] pub enum SelectablePanel { @@ -7,7 +7,78 @@ pub enum SelectablePanel { Commands, Logs, } -#[derive(Debug)] + +#[derive(Debug, Clone, Copy)] +pub enum BoxLocation { + TopLeft, + TopCentre, + TopRight, + MiddleLeft, + MiddleCentre, + MiddleRight, + BottomLeft, + BottomCentre, + BottomRight, +} + +impl BoxLocation { + pub fn get_indexes(&self) -> (usize, usize) { + match self { + Self::TopLeft => (0, 0), + Self::TopCentre => (0, 1), + Self::TopRight => (0, 2), + Self::MiddleLeft => (1, 0), + Self::MiddleCentre => (1, 1), + Self::MiddleRight => (1, 2), + Self::BottomLeft => (2, 0), + Self::BottomCentre => (2, 1), + Self::BottomRight => (2, 2), + } + } + + // Should combine and just return a tupple? + pub fn get_horizontal_constraints(&self, blank_vertical: u16, text_width: u16) -> [Constraint; 3] { + match self { + Self::TopLeft | Self::MiddleLeft | Self::BottomLeft => [ + Constraint::Max(text_width), + Constraint::Max(blank_vertical), + Constraint::Max(blank_vertical), + ], + Self::TopCentre | Self::MiddleCentre | Self::BottomCentre => [ + Constraint::Max(blank_vertical), + Constraint::Max(text_width), + Constraint::Max(blank_vertical), + ], + Self::TopRight | Self::MiddleRight | Self::BottomRight => [ + Constraint::Max(blank_vertical), + Constraint::Max(blank_vertical), + Constraint::Max(text_width), + ], + } + } + pub fn get_vertical_constraints(&self, blank_vertical: u16, number_lines: u16) -> [Constraint; 3] { + match self { + Self::TopLeft | Self::TopCentre | Self::TopRight => [ + Constraint::Max(number_lines), + Constraint::Max(blank_vertical), + Constraint::Max(blank_vertical), + ], + Self::MiddleLeft | Self::MiddleCentre | Self::MiddleRight => [ + Constraint::Max(blank_vertical), + Constraint::Max(number_lines), + Constraint::Max(blank_vertical), + ], + Self::BottomLeft | Self::BottomCentre | Self::BottomRight => [ + Constraint::Max(blank_vertical), + Constraint::Max(blank_vertical), + Constraint::Max(number_lines), + ], + } + } + +} + +#[derive(Debug, Clone)] pub enum Loading { One, Two, @@ -34,20 +105,9 @@ impl Loading { Self::Eight => Self::Nine, Self::Nine => Self::Ten, Self::Ten => Self::One, - // Self::Five => Self::One } } } -// "⠋", -// "⠙", -// "⠹", -// "⠸", -// "⠼", -// "⠴", -// "⠦", -// "⠧", -// "⠇", -// "⠏" impl fmt::Display for Loading { fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result { @@ -92,7 +152,7 @@ impl SelectablePanel { } /// Global gui_state, stored in an Arc -#[derive(Debug)] +#[derive(Debug, Clone)] pub struct GuiState { // Think this should be a BMapTree, so can define order when iterating over potential intersects // Is an issue if two panels are in the same space, sush as a smaller panel embedded, yet infront of, a larger panel @@ -101,6 +161,8 @@ pub struct GuiState { loading: Loading, pub selected_panel: SelectablePanel, pub show_help: bool, + // show_info_panel: bool, + pub info_box_text: Option, } impl GuiState { @@ -111,6 +173,8 @@ impl GuiState { loading: Loading::One, selected_panel: SelectablePanel::Containers, show_help: false, + // show_info_panel: false, + info_box_text: None, } } @@ -158,4 +222,18 @@ impl GuiState { pub fn reset_loading(&mut self) { self.loading = Loading::One; } + + pub fn set_info_box(&mut self, text: String) { + self.info_box_text = Some(text); + // self.show_info_panel = true; + + // Should spawn and after 10 seconds close? + // Need to copy whatever we're doing with parsing logs icon + } + + pub fn reset_info_box(&mut self) { + // self.loading = Loading::One; + self.info_box_text = None; + // self.show_info_panel = false; + } } diff --git a/src/ui/mod.rs b/src/ui/mod.rs index 002175a..65f3291 100644 --- a/src/ui/mod.rs +++ b/src/ui/mod.rs @@ -11,6 +11,7 @@ use std::{ sync::{atomic::Ordering, Arc}, }; use tokio::sync::broadcast::Sender; +use tracing::error; use tui::{ backend::{Backend, CrosstermBackend}, layout::{Constraint, Direction, Layout}, @@ -50,7 +51,7 @@ pub async fn create_ui( terminal.show_cursor().unwrap(); if let Err(err) = res { - err.disp() + error!(%err); } Ok(()) } @@ -126,6 +127,7 @@ fn ui( let log_index = app_data.lock().get_selected_log_index(); let selected_panel = gui_state.lock().selected_panel; let show_help = gui_state.lock().show_help; + let info_text = gui_state.lock().info_box_text.clone(); let whole_layout = Layout::default() .direction(Direction::Vertical) @@ -198,11 +200,17 @@ fn ui( show_help, ); + + // only draw charts if there are containers if has_containers { draw_chart(f, lower_main[1], app_data, log_index); } + if let Some(info) = info_text { + draw_info(f, info); + } + // Check if error, and show popup if so if show_help { draw_help_box(f); From b10f927481c9e38a48c1d4b94e744ec48e8b6ba6 Mon Sep 17 00:00:00 2001 From: Jack Wills <32690432+mrjackwills@users.noreply.github.com> Date: Fri, 29 Apr 2022 01:03:06 +0000 Subject: [PATCH 02/20] feat: show id column --- src/app_data/container_state.rs | 16 ++++---- src/input_handler/mod.rs | 21 +++++++--- src/ui/draw_blocks.rs | 71 +++++++++++++++++++++++---------- src/ui/gui_state.rs | 15 +++++-- src/ui/mod.rs | 6 +-- 5 files changed, 87 insertions(+), 42 deletions(-) diff --git a/src/app_data/container_state.rs b/src/app_data/container_state.rs index 0c0243c..3852e4c 100644 --- a/src/app_data/container_state.rs +++ b/src/app_data/container_state.rs @@ -398,12 +398,13 @@ impl ContainerItem { /// Container information panel headings + widths, for nice pretty formatting #[derive(Debug)] pub struct Columns { - pub cpu: (String, usize), - pub image: (String, usize), - pub name: (String, usize), pub state: (String, usize), pub status: (String, usize), + pub cpu: (String, usize), pub mem: (String, usize), + pub id: (String, usize), + pub name: (String, usize), + pub image: (String, usize), pub net_rx: (String, usize), pub net_tx: (String, usize), } @@ -411,13 +412,14 @@ pub struct Columns { impl Columns { pub fn new() -> Self { Self { - // 7 to allow for 100.00% - cpu: (String::from("cpu"), 7), - image: (String::from("image"), 5), - name: (String::from("name"), 4), state: (String::from("state"), 11), status: (String::from("status"), 16), + // 7 to allow for "100.00%" + cpu: (String::from("cpu"), 7), mem: (String::from("memory/limit"), 12), + id: (String::from("id"), 8), + name: (String::from("name"), 4), + image: (String::from("image"), 5), net_rx: (String::from("↓ rx"), 5), net_tx: (String::from("↑ tx"), 5), } diff --git a/src/input_handler/mod.rs b/src/input_handler/mod.rs index 610c0f5..68728b8 100644 --- a/src/input_handler/mod.rs +++ b/src/input_handler/mod.rs @@ -11,7 +11,7 @@ use crossterm::{ execute, }; use parking_lot::Mutex; -use tokio::sync::broadcast::Receiver; +use tokio::{sync::broadcast::Receiver, task::JoinHandle}; use tui::layout::Rect; mod message; @@ -31,6 +31,7 @@ pub struct InputHandler { is_running: Arc, rec: Receiver, mouse_capture: bool, + info_sleep: Option>, } impl InputHandler { @@ -49,6 +50,7 @@ impl InputHandler { is_running, rec, mouse_capture: true, + info_sleep: None, }; inner.start().await; } @@ -112,7 +114,7 @@ impl InputHandler { Ok(_) => self .gui_state .lock() - .set_info_box("Mouse capture disabled".to_owned()), + .set_info_box("✖ mouse capture disabled".to_owned()), Err(_) => self .app_data .lock() @@ -123,12 +125,21 @@ impl InputHandler { Ok(_) => self .gui_state .lock() - .set_info_box("Mouse capture enabled".to_owned()), + .set_info_box("✓ mouse capture enabled".to_owned()), Err(_) => self.app_data.lock().set_error(AppError::MouseCapture(true)), } - todo!("tokio spawn for x seconds and then reset, probably need to take in an arc clone for self.gui_state") - // execute!(stdout, EnableMouseCapture).unwrap(); }; + + let gui_state = Arc::clone(&self.gui_state); + + if self.info_sleep.is_some() { + self.info_sleep.as_ref().unwrap().abort() + } + self.info_sleep = Some(tokio::spawn(async move { + tokio::time::sleep(std::time::Duration::from_millis(4000)).await; + gui_state.lock().reset_info_box() + })); + self.mouse_capture = !self.mouse_capture; } KeyCode::Tab => self.gui_state.lock().next_panel(), diff --git a/src/ui/draw_blocks.rs b/src/ui/draw_blocks.rs index 28830b0..1a0b2bb 100644 --- a/src/ui/draw_blocks.rs +++ b/src/ui/draw_blocks.rs @@ -45,7 +45,7 @@ fn generate_block<'a>( app_data: &Arc>, selected_panel: &SelectablePanel, ) -> Block<'a> { - let mut block = Block::default().borders(Borders::ALL); + let mut block = Block::default().borders(Borders::ALL).border_type(BorderType::Rounded); if let Some(panel) = selectable_panel { let title = match panel { @@ -63,11 +63,12 @@ fn generate_block<'a>( }; block = block.title(title); if selected_panel == &panel { - let selected_style = Style::default().fg(Color::LightCyan); - let selected_border = BorderType::Plain; + // let selected_style = Style::default().fg(Color::LightCyan); + // let selected_border = BorderType::Plain; + // let selected_border = BorderType::Rounded; block = block - .border_style(selected_style) - .border_type(selected_border); + .border_style(Style::default().fg(Color::LightCyan)); + // .border_type(BorderType::Rounded); } } block @@ -170,6 +171,10 @@ pub fn draw_containers( Span::styled( format!("{}{:>width$}", MARGIN, mems, width = widths.mem.1), state_style, + ), + Span::styled( + format!("{}{:>width$}", MARGIN, i.id.chars().take(8).collect::(), width = widths.id.1), + blue, ), Span::styled( format!("{}{:>width$}", MARGIN, i.name, width = widths.name.1), @@ -331,7 +336,8 @@ fn make_chart( .add_modifier(Modifier::BOLD), )) .borders(Borders::ALL) - .border_type(BorderType::Plain), + // .border_type(BorderType::Plain), + .border_type(BorderType::Rounded), ) .x_axis( Axis::default() @@ -355,7 +361,7 @@ fn make_chart( } /// Show error popup over whole screen -pub fn draw_info_bar( +pub fn draw_heading_bar( area: Rect, columns: &Columns, f: &mut Frame<'_, B>, @@ -380,6 +386,15 @@ pub fn draw_info_bar( .push_str(format!("{}{:>width$}", MARGIN, columns.cpu.0, width = columns.cpu.1).as_str()); column_headings .push_str(format!("{}{:>width$}", MARGIN, columns.mem.0, width = columns.mem.1).as_str()); + column_headings.push_str( + format!( + "{}{:>width$}", + MARGIN, + columns.id.0, + width = columns.id.1 + ) + .as_str(), + ); column_headings.push_str( format!( "{}{:>width$}", @@ -498,7 +513,12 @@ pub fn draw_help_box(f: &mut Frame<'_, B>) { .border_type(BorderType::Rounded) .border_style(Style::default().fg(Color::Black)); - let area = draw_popup(lines as u16, max_line_width as u16, f.size(), BoxLocation::MiddleCentre); + let area = draw_popup( + lines as u16, + max_line_width as u16, + f.size(), + BoxLocation::MiddleCentre, + ); let split_popup = Layout::default() .direction(Direction::Vertical) @@ -561,7 +581,12 @@ pub fn draw_error(f: &mut Frame<'_, B>, error: AppError, seconds: Op .block(block) .alignment(Alignment::Center); - let area = draw_popup(lines as u16, max_line_width as u16, f.size(), BoxLocation::MiddleCentre); + let area = draw_popup( + lines as u16, + max_line_width as u16, + f.size(), + BoxLocation::MiddleCentre, + ); f.render_widget(Clear, area); f.render_widget(paragraph, area); } @@ -573,7 +598,7 @@ pub fn draw_info(f: &mut Frame<'_, B>, text: String) { .title_alignment(Alignment::Center) .borders(Borders::NONE); - // Add a blank line, so that the text is verticall centered + // Add a blank line, so that the text is verticall centered let text = format!("\n{}", text); let mut max_line_width = 0; @@ -595,33 +620,35 @@ pub fn draw_info(f: &mut Frame<'_, B>, text: String) { .block(block) .alignment(Alignment::Center); - let area = draw_popup(lines as u16, max_line_width as u16, f.size(), BoxLocation::BottomRight); + let area = draw_popup( + lines as u16, + max_line_width as u16, + f.size(), + BoxLocation::BottomRight, + ); f.render_widget(Clear, area); f.render_widget(paragraph, area); } /// draw a box in the center of the screen, based on max line width + number of lines -fn draw_popup(text_lines: u16, text_width: u16, r: Rect, box_location:BoxLocation) -> Rect { +fn draw_popup(text_lines: u16, text_width: u16, r: Rect, box_location: BoxLocation) -> Rect { // This can panic if number_lines or max_line_width is larger than r.height or r.width let blank_vertical = (r.height - text_lines) / 2; let blank_horizontal = (r.width - text_width) / 2; - let vertical_constraints = box_location.get_vertical_constraints(blank_vertical, text_lines); - let horizontal_constraints = box_location.get_horizontal_constraints(blank_horizontal, text_width); + let vertical_constraints = box_location.get_vertical_constraints(blank_vertical, text_lines); + let horizontal_constraints = + box_location.get_horizontal_constraints(blank_horizontal, text_width); - let indexes = box_location.get_indexes(); + let indexes = box_location.get_indexes(); let popup_layout = Layout::default() .direction(Direction::Vertical) - .constraints( - vertical_constraints - ) + .constraints(vertical_constraints) .split(r); Layout::default() .direction(Direction::Horizontal) - .constraints( - horizontal_constraints - ) + .constraints(horizontal_constraints) .split(popup_layout[indexes.0])[indexes.1] -} \ No newline at end of file +} diff --git a/src/ui/gui_state.rs b/src/ui/gui_state.rs index 7ee205e..72ef238 100644 --- a/src/ui/gui_state.rs +++ b/src/ui/gui_state.rs @@ -36,8 +36,12 @@ impl BoxLocation { } } - // Should combine and just return a tupple? - pub fn get_horizontal_constraints(&self, blank_vertical: u16, text_width: u16) -> [Constraint; 3] { + // Should combine and just return a tupple? + pub fn get_horizontal_constraints( + &self, + blank_vertical: u16, + text_width: u16, + ) -> [Constraint; 3] { match self { Self::TopLeft | Self::MiddleLeft | Self::BottomLeft => [ Constraint::Max(text_width), @@ -56,7 +60,11 @@ impl BoxLocation { ], } } - pub fn get_vertical_constraints(&self, blank_vertical: u16, number_lines: u16) -> [Constraint; 3] { + pub fn get_vertical_constraints( + &self, + blank_vertical: u16, + number_lines: u16, + ) -> [Constraint; 3] { match self { Self::TopLeft | Self::TopCentre | Self::TopRight => [ Constraint::Max(number_lines), @@ -75,7 +83,6 @@ impl BoxLocation { ], } } - } #[derive(Debug, Clone)] diff --git a/src/ui/mod.rs b/src/ui/mod.rs index 65f3291..7027a5a 100644 --- a/src/ui/mod.rs +++ b/src/ui/mod.rs @@ -192,7 +192,7 @@ fn ui( &selected_panel, ); - draw_info_bar( + draw_heading_bar( whole_layout[0], &column_widths, f, @@ -200,14 +200,12 @@ fn ui( show_help, ); - - // only draw charts if there are containers if has_containers { draw_chart(f, lower_main[1], app_data, log_index); } - if let Some(info) = info_text { + if let Some(info) = info_text { draw_info(f, info); } From 421aa82ebde080ee62411675f5efa1a1857a2b32 Mon Sep 17 00:00:00 2001 From: Jack Wills <32690432+mrjackwills@users.noreply.github.com> Date: Fri, 29 Apr 2022 01:11:20 +0000 Subject: [PATCH 03/20] feat: help box "m" explanation --- Cargo.toml | 2 +- src/ui/draw_blocks.rs | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/Cargo.toml b/Cargo.toml index 59fce02..a26aed7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -19,7 +19,7 @@ parking_lot = {version= "0.12.0"} tokio = {version = "1.17.0", features=["full"]} tracing = "0.1.32" tracing-subscriber = "0.3.9" -tui = "0.17" +tui = "0.18" [dev-dependencies] diff --git a/src/ui/draw_blocks.rs b/src/ui/draw_blocks.rs index 1a0b2bb..3d492b2 100644 --- a/src/ui/draw_blocks.rs +++ b/src/ui/draw_blocks.rs @@ -476,6 +476,7 @@ pub fn draw_help_box(f: &mut Frame<'_, B>) { description_text.push_str("\n Tab or Alt+Tab to change panels, arrows to change lines, enter to send docker container commands."); description_text.push_str("\n Mouse input also available."); description_text.push_str("\n ( q ) to quit at any time."); + description_text.push_str("\n ( m ) to toggle mouse capture. When disabled, text on screen can be selected & copied, but mouse clicks get disabled"); description_text .push_str("\n\n currenty an early work in progress, all and any input appreciated"); description_text.push_str(format!("\n {}", REPO.trim()).as_str()); From 01e000169dab710ea78cc38b0c58b648f190f6b6 Mon Sep 17 00:00:00 2001 From: Jack Wills <32690432+mrjackwills@users.noreply.github.com> Date: Fri, 29 Apr 2022 01:12:44 +0000 Subject: [PATCH 04/20] feat: help box "m" explanation --- src/ui/draw_blocks.rs | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/ui/draw_blocks.rs b/src/ui/draw_blocks.rs index 3d492b2..362735e 100644 --- a/src/ui/draw_blocks.rs +++ b/src/ui/draw_blocks.rs @@ -634,8 +634,20 @@ pub fn draw_info(f: &mut Frame<'_, B>, text: String) { /// draw a box in the center of the screen, based on max line width + number of lines fn draw_popup(text_lines: u16, text_width: u16, r: Rect, box_location: BoxLocation) -> Rect { // This can panic if number_lines or max_line_width is larger than r.height or r.width - let blank_vertical = (r.height - text_lines) / 2; - let blank_horizontal = (r.width - text_width) / 2; + + + + let blank_vertical = if r.height > text_lines { + (r.height - text_lines) / 2 + } else { + r.height / 2 + }; + let blank_horizontal = if r.width > text_width { + (r.width - text_width) / 2 + }else { + r.width / 2 + + }; let vertical_constraints = box_location.get_vertical_constraints(blank_vertical, text_lines); let horizontal_constraints = From 12b5cfce6ce46a9225f00121a905245759fa2244 Mon Sep 17 00:00:00 2001 From: Jack Wills <32690432+mrjackwills@users.noreply.github.com> Date: Fri, 29 Apr 2022 01:16:26 +0000 Subject: [PATCH 05/20] fix: make sure popup blank sapce can't be negative --- src/ui/draw_blocks.rs | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/src/ui/draw_blocks.rs b/src/ui/draw_blocks.rs index 362735e..e55f3a0 100644 --- a/src/ui/draw_blocks.rs +++ b/src/ui/draw_blocks.rs @@ -633,20 +633,17 @@ pub fn draw_info(f: &mut Frame<'_, B>, text: String) { /// draw a box in the center of the screen, based on max line width + number of lines fn draw_popup(text_lines: u16, text_width: u16, r: Rect, box_location: BoxLocation) -> Rect { - // This can panic if number_lines or max_line_width is larger than r.height or r.width - - + // Make sure blank_space can't be an negative, as will crash let blank_vertical = if r.height > text_lines { (r.height - text_lines) / 2 } else { - r.height / 2 + 1 }; let blank_horizontal = if r.width > text_width { (r.width - text_width) / 2 }else { - r.width / 2 - + 1 }; let vertical_constraints = box_location.get_vertical_constraints(blank_vertical, text_lines); From 00dfacfe13ccd7562b622d15e923a831fca1fd69 Mon Sep 17 00:00:00 2001 From: Jack Wills <32690432+mrjackwills@users.noreply.github.com> Date: Fri, 29 Apr 2022 01:30:31 +0000 Subject: [PATCH 06/20] refactor: m_button, help box text --- src/input_handler/mod.rs | 87 +++++++++++++++++++--------------------- src/ui/draw_blocks.rs | 15 ++++--- 2 files changed, 50 insertions(+), 52 deletions(-) diff --git a/src/input_handler/mod.rs b/src/input_handler/mod.rs index 68728b8..af2f63c 100644 --- a/src/input_handler/mod.rs +++ b/src/input_handler/mod.rs @@ -74,6 +74,41 @@ impl InputHandler { } } + fn m_button(&mut self) { + if self.mouse_capture { + match execute!(std::io::stdout(), DisableMouseCapture) { + Ok(_) => self + .gui_state + .lock() + .set_info_box("✖ mouse capture disabled".to_owned()), + Err(_) => self + .app_data + .lock() + .set_error(AppError::MouseCapture(false)), + } + } else { + match execute!(std::io::stdout(), EnableMouseCapture) { + Ok(_) => self + .gui_state + .lock() + .set_info_box("✓ mouse capture enabled".to_owned()), + Err(_) => self.app_data.lock().set_error(AppError::MouseCapture(true)), + } + }; + + let gui_state = Arc::clone(&self.gui_state); + + if self.info_sleep.is_some() { + self.info_sleep.as_ref().unwrap().abort() + } + self.info_sleep = Some(tokio::spawn(async move { + tokio::time::sleep(std::time::Duration::from_millis(4000)).await; + gui_state.lock().reset_info_box() + })); + + self.mouse_capture = !self.mouse_capture; + } + /// Handle any keyboard button events async fn button_press(&mut self, key_code: KeyCode) { let show_error = self.app_data.lock().show_error; @@ -92,56 +127,16 @@ impl InputHandler { } } else if show_info { match key_code { - KeyCode::Char('q') => { - self.is_running.store(false, Ordering::SeqCst); - } - KeyCode::Char('h') => { - self.gui_state.lock().show_help = false; - } + KeyCode::Char('q') => self.is_running.store(false, Ordering::SeqCst), + KeyCode::Char('h') => self.gui_state.lock().show_help = false, + KeyCode::Char('m') => self.m_button(), _ => (), } } else { match key_code { - KeyCode::Char('q') => { - self.is_running.store(false, Ordering::SeqCst); - } - KeyCode::Char('h') => { - self.gui_state.lock().show_help = true; - } - KeyCode::Char('m') => { - if self.mouse_capture { - match execute!(std::io::stdout(), DisableMouseCapture) { - Ok(_) => self - .gui_state - .lock() - .set_info_box("✖ mouse capture disabled".to_owned()), - Err(_) => self - .app_data - .lock() - .set_error(AppError::MouseCapture(false)), - } - } else { - match execute!(std::io::stdout(), EnableMouseCapture) { - Ok(_) => self - .gui_state - .lock() - .set_info_box("✓ mouse capture enabled".to_owned()), - Err(_) => self.app_data.lock().set_error(AppError::MouseCapture(true)), - } - }; - - let gui_state = Arc::clone(&self.gui_state); - - if self.info_sleep.is_some() { - self.info_sleep.as_ref().unwrap().abort() - } - self.info_sleep = Some(tokio::spawn(async move { - tokio::time::sleep(std::time::Duration::from_millis(4000)).await; - gui_state.lock().reset_info_box() - })); - - self.mouse_capture = !self.mouse_capture; - } + KeyCode::Char('q') => self.is_running.store(false, Ordering::SeqCst), + KeyCode::Char('h') => self.gui_state.lock().show_help = true, + KeyCode::Char('m') => self.m_button(), KeyCode::Tab => self.gui_state.lock().next_panel(), KeyCode::BackTab => self.gui_state.lock().previous_panel(), KeyCode::Home => { diff --git a/src/ui/draw_blocks.rs b/src/ui/draw_blocks.rs index e55f3a0..b6bb42d 100644 --- a/src/ui/draw_blocks.rs +++ b/src/ui/draw_blocks.rs @@ -471,12 +471,15 @@ pub fn draw_heading_bar( pub fn draw_help_box(f: &mut Frame<'_, B>) { let title = format!(" {} ", VERSION); - let mut description_text = - String::from("\n A basic docker container information viewer and controller."); - description_text.push_str("\n Tab or Alt+Tab to change panels, arrows to change lines, enter to send docker container commands."); - description_text.push_str("\n Mouse input also available."); - description_text.push_str("\n ( q ) to quit at any time."); - description_text.push_str("\n ( m ) to toggle mouse capture. When disabled, text on screen can be selected & copied, but mouse clicks get disabled"); + let mut description_text = String::new(); + // String::from("\n A basic docker container information viewer and controller."); + description_text.push_str("\n ( tab ) or ( alt+tab ) to change panels"); + description_text.push_str("\n ( ↑ ↓ ← → ) mto change selected line"); + description_text.push_str("\n ( enter ) to send docker container commands"); + description_text.push_str("\n ( m ) to toggle mouse capture - if disabled, text on screen can be selected & copied, but mouse clicks get disabled"); + description_text.push_str("\n ( h ) to toggle this help information"); + description_text.push_str("\n ( q ) to quit at any time"); + description_text.push_str("\n mouse scrolling & clicking also available"); description_text .push_str("\n\n currenty an early work in progress, all and any input appreciated"); description_text.push_str(format!("\n {}", REPO.trim()).as_str()); From db99e61a3718d41a2c464373550bafdd58ceaa28 Mon Sep 17 00:00:00 2001 From: Jack Wills <32690432+mrjackwills@users.noreply.github.com> Date: Fri, 29 Apr 2022 01:36:20 +0000 Subject: [PATCH 07/20] refactor: help box text --- src/ui/draw_blocks.rs | 40 +++++++++++++++++++++++++--------------- 1 file changed, 25 insertions(+), 15 deletions(-) diff --git a/src/ui/draw_blocks.rs b/src/ui/draw_blocks.rs index b6bb42d..3e85ab7 100644 --- a/src/ui/draw_blocks.rs +++ b/src/ui/draw_blocks.rs @@ -471,22 +471,24 @@ pub fn draw_heading_bar( pub fn draw_help_box(f: &mut Frame<'_, B>) { let title = format!(" {} ", VERSION); - let mut description_text = String::new(); - // String::from("\n A basic docker container information viewer and controller."); - description_text.push_str("\n ( tab ) or ( alt+tab ) to change panels"); - description_text.push_str("\n ( ↑ ↓ ← → ) mto change selected line"); - description_text.push_str("\n ( enter ) to send docker container commands"); - description_text.push_str("\n ( m ) to toggle mouse capture - if disabled, text on screen can be selected & copied, but mouse clicks get disabled"); - description_text.push_str("\n ( h ) to toggle this help information"); - description_text.push_str("\n ( q ) to quit at any time"); - description_text.push_str("\n mouse scrolling & clicking also available"); - description_text + let description_text = String::from("\n A basic docker container information viewer and controller"); + + let mut help_text = String::from("\n ( tab ) or ( alt+tab ) to change panels"); + help_text.push_str("\n ( ↑ ↓ ← → ) mto change selected line"); + help_text.push_str("\n ( enter ) to send docker container commands"); + help_text.push_str("\n ( h ) to toggle this help information"); + help_text.push_str("\n ( m ) to toggle mouse capture - if disabled, text on screen can be selected & copied, but mouse clicks get disabled"); + help_text.push_str("\n ( q ) to quit at any time"); + help_text.push_str("\n mouse scrolling & clicking also available"); + help_text .push_str("\n\n currenty an early work in progress, all and any input appreciated"); - description_text.push_str(format!("\n {}", REPO.trim()).as_str()); + help_text.push_str(format!("\n {}", REPO.trim()).as_str()); let mut max_line_width = 0; - let all_text = format!("{}{}", NAME_TEXT, description_text); + + + let all_text = format!("{}{}{}", NAME_TEXT, description_text, help_text); all_text.lines().into_iter().for_each(|line| { let width = line.chars().count(); @@ -506,7 +508,13 @@ pub fn draw_help_box(f: &mut Frame<'_, B>) { .block(Block::default()) .alignment(Alignment::Center); - let description_paragraph = Paragraph::new(description_text.as_str()) + + let description_paragrpah = Paragraph::new(description_text.as_str()) + .style(Style::default().bg(Color::Magenta).fg(Color::Black)) + .block(Block::default()) + .alignment(Alignment::Center); + + let help_paragraph = Paragraph::new(help_text.as_str()) .style(Style::default().bg(Color::Magenta).fg(Color::Black)) .block(Block::default()) .alignment(Alignment::Left); @@ -529,7 +537,8 @@ pub fn draw_help_box(f: &mut Frame<'_, B>) { .constraints( [ Constraint::Max(NAME_TEXT.lines().count() as u16), - Constraint::Max(description_text.lines().count() as u16), + Constraint::Max(description_text.lines().count() as u16), + Constraint::Max(help_text.lines().count() as u16), ] .as_ref(), ) @@ -538,7 +547,8 @@ pub fn draw_help_box(f: &mut Frame<'_, B>) { // Order is important here f.render_widget(Clear, area); f.render_widget(name_paragraph, split_popup[0]); - f.render_widget(description_paragraph, split_popup[1]); + f.render_widget(description_paragrpah, split_popup[1]); + f.render_widget(help_paragraph, split_popup[2]); f.render_widget(block, area); } From 757103c54fe05afcd6e3cfeba09da2a8806e8086 Mon Sep 17 00:00:00 2001 From: Jack Wills <32690432+mrjackwills@users.noreply.github.com> Date: Fri, 29 Apr 2022 01:39:21 +0000 Subject: [PATCH 08/20] refactor: help box description from TOML --- src/app_data/container_state.rs | 4 +- src/input_handler/mod.rs | 64 +++++++++++++-------------- src/ui/draw_blocks.rs | 77 +++++++++++++++------------------ 3 files changed, 70 insertions(+), 75 deletions(-) diff --git a/src/app_data/container_state.rs b/src/app_data/container_state.rs index 3852e4c..aca3744 100644 --- a/src/app_data/container_state.rs +++ b/src/app_data/container_state.rs @@ -402,7 +402,7 @@ pub struct Columns { pub status: (String, usize), pub cpu: (String, usize), pub mem: (String, usize), - pub id: (String, usize), + pub id: (String, usize), pub name: (String, usize), pub image: (String, usize), pub net_rx: (String, usize), @@ -417,7 +417,7 @@ impl Columns { // 7 to allow for "100.00%" cpu: (String::from("cpu"), 7), mem: (String::from("memory/limit"), 12), - id: (String::from("id"), 8), + id: (String::from("id"), 8), name: (String::from("name"), 4), image: (String::from("image"), 5), net_rx: (String::from("↓ rx"), 5), diff --git a/src/input_handler/mod.rs b/src/input_handler/mod.rs index af2f63c..9baadc7 100644 --- a/src/input_handler/mod.rs +++ b/src/input_handler/mod.rs @@ -74,40 +74,40 @@ impl InputHandler { } } - fn m_button(&mut self) { - if self.mouse_capture { - match execute!(std::io::stdout(), DisableMouseCapture) { - Ok(_) => self - .gui_state - .lock() - .set_info_box("✖ mouse capture disabled".to_owned()), - Err(_) => self - .app_data - .lock() - .set_error(AppError::MouseCapture(false)), - } - } else { - match execute!(std::io::stdout(), EnableMouseCapture) { - Ok(_) => self - .gui_state - .lock() - .set_info_box("✓ mouse capture enabled".to_owned()), - Err(_) => self.app_data.lock().set_error(AppError::MouseCapture(true)), - } - }; + fn m_button(&mut self) { + if self.mouse_capture { + match execute!(std::io::stdout(), DisableMouseCapture) { + Ok(_) => self + .gui_state + .lock() + .set_info_box("✖ mouse capture disabled".to_owned()), + Err(_) => self + .app_data + .lock() + .set_error(AppError::MouseCapture(false)), + } + } else { + match execute!(std::io::stdout(), EnableMouseCapture) { + Ok(_) => self + .gui_state + .lock() + .set_info_box("✓ mouse capture enabled".to_owned()), + Err(_) => self.app_data.lock().set_error(AppError::MouseCapture(true)), + } + }; - let gui_state = Arc::clone(&self.gui_state); + let gui_state = Arc::clone(&self.gui_state); - if self.info_sleep.is_some() { - self.info_sleep.as_ref().unwrap().abort() - } - self.info_sleep = Some(tokio::spawn(async move { - tokio::time::sleep(std::time::Duration::from_millis(4000)).await; - gui_state.lock().reset_info_box() - })); + if self.info_sleep.is_some() { + self.info_sleep.as_ref().unwrap().abort() + } + self.info_sleep = Some(tokio::spawn(async move { + tokio::time::sleep(std::time::Duration::from_millis(4000)).await; + gui_state.lock().reset_info_box() + })); - self.mouse_capture = !self.mouse_capture; - } + self.mouse_capture = !self.mouse_capture; + } /// Handle any keyboard button events async fn button_press(&mut self, key_code: KeyCode) { @@ -129,7 +129,7 @@ impl InputHandler { match key_code { KeyCode::Char('q') => self.is_running.store(false, Ordering::SeqCst), KeyCode::Char('h') => self.gui_state.lock().show_help = false, - KeyCode::Char('m') => self.m_button(), + KeyCode::Char('m') => self.m_button(), _ => (), } } else { diff --git a/src/ui/draw_blocks.rs b/src/ui/draw_blocks.rs index 3e85ab7..9f97085 100644 --- a/src/ui/draw_blocks.rs +++ b/src/ui/draw_blocks.rs @@ -35,6 +35,7 @@ a8" "8a `Y8, ,8P' 88 ,a8" a8P_____88 88P' "Y8 const NAME: &str = env!("CARGO_PKG_NAME"); const VERSION: &str = env!("CARGO_PKG_VERSION"); const REPO: &str = env!("CARGO_PKG_REPOSITORY"); +const DESCRIPTION: &str = env!("CARGO_PKG_DESCRIPTION"); const ORANGE: Color = Color::Rgb(255, 178, 36); const MARGIN: &str = " "; @@ -45,7 +46,9 @@ fn generate_block<'a>( app_data: &Arc>, selected_panel: &SelectablePanel, ) -> Block<'a> { - let mut block = Block::default().borders(Borders::ALL).border_type(BorderType::Rounded); + let mut block = Block::default() + .borders(Borders::ALL) + .border_type(BorderType::Rounded); if let Some(panel) = selectable_panel { let title = match panel { @@ -65,10 +68,9 @@ fn generate_block<'a>( if selected_panel == &panel { // let selected_style = Style::default().fg(Color::LightCyan); // let selected_border = BorderType::Plain; - // let selected_border = BorderType::Rounded; - block = block - .border_style(Style::default().fg(Color::LightCyan)); - // .border_type(BorderType::Rounded); + // let selected_border = BorderType::Rounded; + block = block.border_style(Style::default().fg(Color::LightCyan)); + // .border_type(BorderType::Rounded); } } block @@ -172,8 +174,13 @@ pub fn draw_containers( format!("{}{:>width$}", MARGIN, mems, width = widths.mem.1), state_style, ), - Span::styled( - format!("{}{:>width$}", MARGIN, i.id.chars().take(8).collect::(), width = widths.id.1), + Span::styled( + format!( + "{}{:>width$}", + MARGIN, + i.id.chars().take(8).collect::(), + width = widths.id.1 + ), blue, ), Span::styled( @@ -337,7 +344,7 @@ fn make_chart( )) .borders(Borders::ALL) // .border_type(BorderType::Plain), - .border_type(BorderType::Rounded), + .border_type(BorderType::Rounded), ) .x_axis( Axis::default() @@ -386,15 +393,8 @@ pub fn draw_heading_bar( .push_str(format!("{}{:>width$}", MARGIN, columns.cpu.0, width = columns.cpu.1).as_str()); column_headings .push_str(format!("{}{:>width$}", MARGIN, columns.mem.0, width = columns.mem.1).as_str()); - column_headings.push_str( - format!( - "{}{:>width$}", - MARGIN, - columns.id.0, - width = columns.id.1 - ) - .as_str(), - ); + column_headings + .push_str(format!("{}{:>width$}", MARGIN, columns.id.0, width = columns.id.1).as_str()); column_headings.push_str( format!( "{}{:>width$}", @@ -471,23 +471,20 @@ pub fn draw_heading_bar( pub fn draw_help_box(f: &mut Frame<'_, B>) { let title = format!(" {} ", VERSION); - let description_text = String::from("\n A basic docker container information viewer and controller"); + let description_text = format!("\n{}", DESCRIPTION); let mut help_text = String::from("\n ( tab ) or ( alt+tab ) to change panels"); - help_text.push_str("\n ( ↑ ↓ ← → ) mto change selected line"); - help_text.push_str("\n ( enter ) to send docker container commands"); + help_text.push_str("\n ( ↑ ↓ ← → ) mto change selected line"); + help_text.push_str("\n ( enter ) to send docker container commands"); help_text.push_str("\n ( h ) to toggle this help information"); - help_text.push_str("\n ( m ) to toggle mouse capture - if disabled, text on screen can be selected & copied, but mouse clicks get disabled"); - help_text.push_str("\n ( q ) to quit at any time"); + help_text.push_str("\n ( m ) to toggle mouse capture - if disabled, text on screen can be selected & copied, but mouse clicks get disabled"); + help_text.push_str("\n ( q ) to quit at any time"); help_text.push_str("\n mouse scrolling & clicking also available"); - help_text - .push_str("\n\n currenty an early work in progress, all and any input appreciated"); + help_text.push_str("\n\n currenty an early work in progress, all and any input appreciated"); help_text.push_str(format!("\n {}", REPO.trim()).as_str()); let mut max_line_width = 0; - - let all_text = format!("{}{}{}", NAME_TEXT, description_text, help_text); all_text.lines().into_iter().for_each(|line| { @@ -508,8 +505,7 @@ pub fn draw_help_box(f: &mut Frame<'_, B>) { .block(Block::default()) .alignment(Alignment::Center); - - let description_paragrpah = Paragraph::new(description_text.as_str()) + let description_paragrpah = Paragraph::new(description_text.as_str()) .style(Style::default().bg(Color::Magenta).fg(Color::Black)) .block(Block::default()) .alignment(Alignment::Center); @@ -537,7 +533,7 @@ pub fn draw_help_box(f: &mut Frame<'_, B>) { .constraints( [ Constraint::Max(NAME_TEXT.lines().count() as u16), - Constraint::Max(description_text.lines().count() as u16), + Constraint::Max(description_text.lines().count() as u16), Constraint::Max(help_text.lines().count() as u16), ] .as_ref(), @@ -547,7 +543,7 @@ pub fn draw_help_box(f: &mut Frame<'_, B>) { // Order is important here f.render_widget(Clear, area); f.render_widget(name_paragraph, split_popup[0]); - f.render_widget(description_paragrpah, split_popup[1]); + f.render_widget(description_paragrpah, split_popup[1]); f.render_widget(help_paragraph, split_popup[2]); f.render_widget(block, area); } @@ -646,18 +642,17 @@ pub fn draw_info(f: &mut Frame<'_, B>, text: String) { /// draw a box in the center of the screen, based on max line width + number of lines fn draw_popup(text_lines: u16, text_width: u16, r: Rect, box_location: BoxLocation) -> Rect { - - // Make sure blank_space can't be an negative, as will crash + // Make sure blank_space can't be an negative, as will crash let blank_vertical = if r.height > text_lines { - (r.height - text_lines) / 2 - } else { - 1 - }; - let blank_horizontal = if r.width > text_width { - (r.width - text_width) / 2 - }else { - 1 - }; + (r.height - text_lines) / 2 + } else { + 1 + }; + let blank_horizontal = if r.width > text_width { + (r.width - text_width) / 2 + } else { + 1 + }; let vertical_constraints = box_location.get_vertical_constraints(blank_vertical, text_lines); let horizontal_constraints = From 836df247c45667e61be9478fd39a9ad36c32ef58 Mon Sep 17 00:00:00 2001 From: Jack Wills <32690432+mrjackwills@users.noreply.github.com> Date: Fri, 29 Apr 2022 02:28:58 +0000 Subject: [PATCH 09/20] fix: cli arg DOCKER > ms --- src/docker_data/mod.rs | 2 +- src/parse_args/mod.rs | 13 +++++++++---- 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/src/docker_data/mod.rs b/src/docker_data/mod.rs index 0ab2a94..e6364c3 100644 --- a/src/docker_data/mod.rs +++ b/src/docker_data/mod.rs @@ -220,7 +220,7 @@ impl DockerData { docker, gui_state, initialised: false, - sleep_duration: Duration::from_millis(args.docker as u64), + sleep_duration: Duration::from_millis(args.docker_interval as u64), timestamps: args.timestamp, }; inner.initialise_container_data().await; diff --git a/src/parse_args/mod.rs b/src/parse_args/mod.rs index 351917a..6133465 100644 --- a/src/parse_args/mod.rs +++ b/src/parse_args/mod.rs @@ -8,13 +8,17 @@ use tracing::error; pub struct CliArgs { /// Docker update interval in ms, minimum 1, reccomended 500+ - #[clap(short = 'd', default_value_t = 1000)] - pub docker: u32, + #[clap(short = 'd', value_name = "ms", default_value_t = 1000)] + pub docker_interval: u32, /// Don't draw gui - for debugging - mostly pointless #[clap(short = 'g')] pub gui: bool, + /// Install to ./local/bin + #[clap(short = 'i')] + pub install: bool, + /// Remove timestamps from Docker logs #[clap(short = 't')] pub timestamp: bool, @@ -35,15 +39,16 @@ impl CliArgs { // Quit the program if the docker update argument is 0 // Should maybe change it to check if less than 100 - if args.docker == 0 { + if args.docker_interval == 0 { error!("docker args needs to be greater than 0"); process::exit(1) } Self { color: args.color, - docker: args.docker, + docker_interval: args.docker_interval, gui: !args.gui, raw: args.raw, + install: args.install, timestamp: !args.timestamp, } } From 3542f65e61543df8dbcb9bbb6ac3714ed1d5c6c7 Mon Sep 17 00:00:00 2001 From: Jack Wills <32690432+mrjackwills@users.noreply.github.com> Date: Fri, 29 Apr 2022 03:10:41 +0000 Subject: [PATCH 10/20] refactor: dead space removed --- src/parse_args/mod.rs | 9 ++++----- src/ui/draw_blocks.rs | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/parse_args/mod.rs b/src/parse_args/mod.rs index 6133465..524da85 100644 --- a/src/parse_args/mod.rs +++ b/src/parse_args/mod.rs @@ -15,10 +15,9 @@ pub struct CliArgs { #[clap(short = 'g')] pub gui: bool, - /// Install to ./local/bin - #[clap(short = 'i')] - pub install: bool, - + // /// Install to ./local/bin + // #[clap(short = 'i')] + // pub install: bool, /// Remove timestamps from Docker logs #[clap(short = 't')] pub timestamp: bool, @@ -48,7 +47,7 @@ impl CliArgs { docker_interval: args.docker_interval, gui: !args.gui, raw: args.raw, - install: args.install, + // install: args.install, timestamp: !args.timestamp, } } diff --git a/src/ui/draw_blocks.rs b/src/ui/draw_blocks.rs index 9f97085..20dfc50 100644 --- a/src/ui/draw_blocks.rs +++ b/src/ui/draw_blocks.rs @@ -471,7 +471,7 @@ pub fn draw_heading_bar( pub fn draw_help_box(f: &mut Frame<'_, B>) { let title = format!(" {} ", VERSION); - let description_text = format!("\n{}", DESCRIPTION); + let description_text = format!("\n{}", DESCRIPTION); let mut help_text = String::from("\n ( tab ) or ( alt+tab ) to change panels"); help_text.push_str("\n ( ↑ ↓ ← → ) mto change selected line"); From 1daf1c177d90e98916865409e9b932a3d933411c Mon Sep 17 00:00:00 2001 From: Jack Wills <32690432+mrjackwills@users.noreply.github.com> Date: Fri, 29 Apr 2022 03:14:35 +0000 Subject: [PATCH 11/20] fix: info box lines --- src/ui/draw_blocks.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/src/ui/draw_blocks.rs b/src/ui/draw_blocks.rs index 20dfc50..451a3ac 100644 --- a/src/ui/draw_blocks.rs +++ b/src/ui/draw_blocks.rs @@ -608,8 +608,6 @@ pub fn draw_info(f: &mut Frame<'_, B>, text: String) { .title_alignment(Alignment::Center) .borders(Borders::NONE); - // Add a blank line, so that the text is verticall centered - let text = format!("\n{}", text); let mut max_line_width = 0; text.lines().into_iter().for_each(|line| { @@ -623,7 +621,7 @@ pub fn draw_info(f: &mut Frame<'_, B>, text: String) { // Add some horizontal & vertical margins max_line_width += 8; - lines += 3; + lines += 2; let paragraph = Paragraph::new(text) .style(Style::default().bg(Color::Blue).fg(Color::White)) From bfd5ab87733d8c54e5edcf3ec86ef888654c5f8b Mon Sep 17 00:00:00 2001 From: Jack Wills <32690432+mrjackwills@users.noreply.github.com> Date: Fri, 29 Apr 2022 14:24:34 +0000 Subject: [PATCH 12/20] fix: help box typos --- src/ui/draw_blocks.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ui/draw_blocks.rs b/src/ui/draw_blocks.rs index 451a3ac..a04628f 100644 --- a/src/ui/draw_blocks.rs +++ b/src/ui/draw_blocks.rs @@ -474,10 +474,10 @@ pub fn draw_help_box(f: &mut Frame<'_, B>) { let description_text = format!("\n{}", DESCRIPTION); let mut help_text = String::from("\n ( tab ) or ( alt+tab ) to change panels"); - help_text.push_str("\n ( ↑ ↓ ← → ) mto change selected line"); + help_text.push_str("\n ( ↑ ↓ ← → ) to change selected line"); help_text.push_str("\n ( enter ) to send docker container commands"); help_text.push_str("\n ( h ) to toggle this help information"); - help_text.push_str("\n ( m ) to toggle mouse capture - if disabled, text on screen can be selected & copied, but mouse clicks get disabled"); + help_text.push_str("\n ( m ) to toggle mouse capture - if disabled, text on screen can be selected & copied"); help_text.push_str("\n ( q ) to quit at any time"); help_text.push_str("\n mouse scrolling & clicking also available"); help_text.push_str("\n\n currenty an early work in progress, all and any input appreciated"); From 4b46efe89d737c64f0169deaac6ac4ea1987d199 Mon Sep 17 00:00:00 2001 From: Jack Wills <32690432+mrjackwills@users.noreply.github.com> Date: Fri, 29 Apr 2022 14:28:29 +0000 Subject: [PATCH 13/20] fix: gui typo --- src/ui/draw_blocks.rs | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/ui/draw_blocks.rs b/src/ui/draw_blocks.rs index a04628f..4d71af0 100644 --- a/src/ui/draw_blocks.rs +++ b/src/ui/draw_blocks.rs @@ -39,7 +39,7 @@ const DESCRIPTION: &str = env!("CARGO_PKG_DESCRIPTION"); const ORANGE: Color = Color::Rgb(255, 178, 36); const MARGIN: &str = " "; -/// Generate block, add a bored if is the selected panel, +/// Generate block, add a border if is the selected panel, /// add custom title based on state of each panel fn generate_block<'a>( selectable_panel: Option, @@ -66,11 +66,7 @@ fn generate_block<'a>( }; block = block.title(title); if selected_panel == &panel { - // let selected_style = Style::default().fg(Color::LightCyan); - // let selected_border = BorderType::Plain; - // let selected_border = BorderType::Rounded; block = block.border_style(Style::default().fg(Color::LightCyan)); - // .border_type(BorderType::Rounded); } } block @@ -343,7 +339,6 @@ fn make_chart( .add_modifier(Modifier::BOLD), )) .borders(Borders::ALL) - // .border_type(BorderType::Plain), .border_type(BorderType::Rounded), ) .x_axis( @@ -362,7 +357,6 @@ fn make_chart( .fg(label_color), ), ]) - // add 0.01, for cases when the value is 0 .bounds([0.0, max.get_value() + 0.01]), ) } From e9682e985b52538477aacb2e3be23cefddad1ab3 Mon Sep 17 00:00:00 2001 From: Jack Wills <32690432+mrjackwills@users.noreply.github.com> Date: Fri, 29 Apr 2022 14:31:16 +0000 Subject: [PATCH 14/20] docs: changelog --- CHANGELOG.md | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 18a3ffc..c486af2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,8 @@ +### Features ++ allow toggling of mouse caputre, to select & coy text with mouse, [aec184ea22b289e91942a4c3e6a415685884bc47] ++ show id column, [b10f927481c9e38a48c1d4b94e744ec48e8b6ba6] ++ draw_popup, using enum to draw in one of 9 areas, [1017850a6cc91328abc1127bdb117495f5e909d8] + ### Fixes + readme.md typo, [589501f9a4a0bfabdb0654e68cc0c752c529d97a] + column heading mem > memory, [5e8e6b590b06f01a542fdd10bae8f14d303ab08a] From 9c85470bdc19d2d529a5aa3b6d6b8c3f4961b1a1 Mon Sep 17 00:00:00 2001 From: Jack Wills <32690432+mrjackwills@users.noreply.github.com> Date: Fri, 29 Apr 2022 14:31:52 +0000 Subject: [PATCH 15/20] docs: changelog typo --- CHANGELOG.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c486af2..ce1f680 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,5 @@ ### Features -+ allow toggling of mouse caputre, to select & coy text with mouse, [aec184ea22b289e91942a4c3e6a415685884bc47] ++ allow toggling of mouse caputre, to select & copy text with mouse, [aec184ea22b289e91942a4c3e6a415685884bc47] + show id column, [b10f927481c9e38a48c1d4b94e744ec48e8b6ba6] + draw_popup, using enum to draw in one of 9 areas, [1017850a6cc91328abc1127bdb117495f5e909d8] From 679203cf2db80494db5cb1652ae1c7bdeb87ef36 Mon Sep 17 00:00:00 2001 From: Jack Wills <32690432+mrjackwills@users.noreply.github.com> Date: Fri, 29 Apr 2022 16:10:14 +0000 Subject: [PATCH 16/20] feat: docker_recv for all docker commands --- src/docker_data/message.rs | 9 ++ src/docker_data/mod.rs | 171 +++++++++++++++++++++++++++---------- src/input_handler/mod.rs | 121 +++++++++----------------- src/main.rs | 33 +++++-- src/ui/draw_blocks.rs | 20 +++-- src/ui/gui_state.rs | 33 ++++--- src/ui/mod.rs | 44 ++++++++-- 7 files changed, 270 insertions(+), 161 deletions(-) create mode 100644 src/docker_data/message.rs diff --git a/src/docker_data/message.rs b/src/docker_data/message.rs new file mode 100644 index 0000000..3d008f2 --- /dev/null +++ b/src/docker_data/message.rs @@ -0,0 +1,9 @@ +#[derive(Debug, Clone)] +pub enum DockerMessage { + Update, + Start(String), + Restart(String), + Pause(String), + Unpause(String), + Stop(String), +} diff --git a/src/docker_data/mod.rs b/src/docker_data/mod.rs index e6364c3..bf68656 100644 --- a/src/docker_data/mod.rs +++ b/src/docker_data/mod.rs @@ -1,22 +1,27 @@ use bollard::{ - container::{ListContainersOptions, LogsOptions, Stats, StatsOptions}, + container::{ListContainersOptions, LogsOptions, StartContainerOptions, Stats, StatsOptions}, Docker, }; use futures_util::{future::join_all, StreamExt}; use parking_lot::Mutex; -use std::{ - sync::Arc, - time::{Duration, Instant}, -}; +use std::sync::Arc; +use tokio::{sync::mpsc::Receiver, task::JoinHandle}; -use crate::{app_data::AppData, parse_args::CliArgs, ui::GuiState}; +use crate::{ + app_data::{AppData, DockerControls}, + app_error::AppError, + parse_args::CliArgs, + ui::GuiState, +}; +mod message; +pub use message::DockerMessage; pub struct DockerData { app_data: Arc>, docker: Arc, gui_state: Arc>, initialised: bool, - sleep_duration: Duration, + receiver: Receiver, timestamps: bool, } @@ -207,37 +212,23 @@ impl DockerData { self.update_all_container_stats(&all_ids).await; } - /// Initialise self, and start the updated loop - pub async fn init( - args: CliArgs, - app_data: Arc>, - docker: Arc, - gui_state: Arc>, - ) { - if app_data.lock().get_error().is_none() { - let mut inner = Self { - app_data, - docker, - gui_state, - initialised: false, - sleep_duration: Duration::from_millis(args.docker_interval as u64), - timestamps: args.timestamp, - }; - inner.initialise_container_data().await; - inner.update_loop().await; - } - } - - async fn initialise_container_data(&mut self) { - let gui_state = Arc::clone(&self.gui_state); - // could also just loop while init is false, would need to move an arc mutex into here - // so instead just abort at end of function - let loading_spin = tokio::spawn(async move { + async fn loading_spin(gui_state: Arc>) -> JoinHandle<()> { + tokio::spawn(async move { loop { tokio::time::sleep(std::time::Duration::from_millis(100)).await; gui_state.lock().next_loading(); } - }); + }) + } + + fn stop_loading_spin(handle: JoinHandle<()>, gui_state: &Arc>) { + handle.abort(); + gui_state.lock().reset_loading(); + } + + async fn initialise_container_data(&mut self) { + let gui_state = Arc::clone(&self.gui_state); + let loading_spin = Self::loading_spin(gui_state).await; let all_ids = self.update_all_containers().await; self.update_all_container_stats(&all_ids).await; @@ -255,23 +246,111 @@ impl DockerData { self.initialised = self.app_data.lock().initialised(&all_ids); } self.app_data.lock().init = true; - loading_spin.abort(); - self.gui_state.lock().reset_loading(); + Self::stop_loading_spin(loading_spin, &self.gui_state); } - /// Update all items, wait until all complete - /// sleep for CliArgs.docker ms before updating next - async fn update_loop(&mut self) { - loop { - let start = Instant::now(); - self.update_everything().await; - - let elapsed = start.elapsed(); - if elapsed < self.sleep_duration { - tokio::time::sleep(self.sleep_duration - elapsed).await; + /// Handle incoming messages, container controls & all container information update + async fn message_handler(&mut self) { + while let Some(message) = self.receiver.recv().await { + let docker = Arc::clone(&self.docker); + let app_data = Arc::clone(&self.app_data); + let gui_state = Arc::clone(&self.gui_state); + match message { + DockerMessage::Pause(id) => { + let spin_gui = Arc::clone(&gui_state); + let loading_spin = Self::loading_spin(gui_state).await; + tokio::spawn(async move { + docker.pause_container(&id).await.unwrap_or_else(|_| { + app_data + .lock() + .set_error(AppError::DockerCommand(DockerControls::Pause)) + }); + Self::stop_loading_spin(loading_spin, &spin_gui); + }); + } + DockerMessage::Restart(id) => { + let spin_gui = Arc::clone(&gui_state); + let loading_spin = Self::loading_spin(gui_state).await; + tokio::spawn(async move { + docker + .restart_container(&id, None) + .await + .unwrap_or_else(|_| { + app_data + .lock() + .set_error(AppError::DockerCommand(DockerControls::Restart)) + }); + Self::stop_loading_spin(loading_spin, &spin_gui); + }); + } + DockerMessage::Start(id) => { + let spin_gui = Arc::clone(&gui_state); + let loading_spin = Self::loading_spin(gui_state).await; + tokio::spawn(async move { + docker + .start_container(&id, None::>) + .await + .unwrap_or_else(|_| { + app_data + .lock() + .set_error(AppError::DockerCommand(DockerControls::Start)) + }); + Self::stop_loading_spin(loading_spin, &spin_gui); + }); + } + DockerMessage::Stop(id) => { + let spin_gui = Arc::clone(&gui_state); + let loading_spin = Self::loading_spin(gui_state).await; + tokio::spawn(async move { + docker.stop_container(&id, None).await.unwrap_or_else(|_| { + app_data + .lock() + .set_error(AppError::DockerCommand(DockerControls::Stop)) + }); + Self::stop_loading_spin(loading_spin, &spin_gui); + }); + } + DockerMessage::Unpause(id) => { + let spin_gui = Arc::clone(&gui_state); + let loading_spin = Self::loading_spin(gui_state).await; + tokio::spawn(async move { + docker.unpause_container(&id).await.unwrap_or_else(|_| { + app_data + .lock() + .set_error(AppError::DockerCommand(DockerControls::Unpause)) + }); + Self::stop_loading_spin(loading_spin, &spin_gui); + }); + } + DockerMessage::Update => self.update_everything().await, } } } + + /// Initialise self, and start the updated loop + pub async fn init( + args: CliArgs, + app_data: Arc>, + docker: Arc, + gui_state: Arc>, + receiver: Receiver, + ) { + if app_data.lock().get_error().is_none() { + let mut inner = Self { + app_data, + docker, + gui_state, + initialised: false, + receiver, + timestamps: args.timestamp, + }; + inner.initialise_container_data().await; + + // todo!(" change this to recv.next()"); + // inner.update_loop().await; + inner.message_handler().await; + } + } } // tests, use redis-test container, check logs exists, and selector of logs, and that it increases, and matches end, when you run restart on the docker containers diff --git a/src/input_handler/mod.rs b/src/input_handler/mod.rs index 9baadc7..0dfead7 100644 --- a/src/input_handler/mod.rs +++ b/src/input_handler/mod.rs @@ -3,7 +3,6 @@ use std::sync::{ Arc, }; -use bollard::{container::StartContainerOptions, Docker}; use crossterm::{ event::{ DisableMouseCapture, EnableMouseCapture, KeyCode, MouseButton, MouseEvent, MouseEventKind, @@ -11,13 +10,17 @@ use crossterm::{ execute, }; use parking_lot::Mutex; -use tokio::{sync::broadcast::Receiver, task::JoinHandle}; +use tokio::{ + sync::mpsc::{Receiver, Sender}, + task::JoinHandle, +}; use tui::layout::Rect; mod message; use crate::{ app_data::{AppData, DockerControls}, app_error::AppError, + docker_data::DockerMessage, ui::{GuiState, SelectablePanel}, }; pub use message::InputMessages; @@ -26,12 +29,12 @@ pub use message::InputMessages; #[derive(Debug)] pub struct InputHandler { app_data: Arc>, - docker: Arc, + docker_sender: Sender, gui_state: Arc>, - is_running: Arc, - rec: Receiver, - mouse_capture: bool, info_sleep: Option>, + is_running: Arc, + mouse_capture: bool, + rec: Receiver, } impl InputHandler { @@ -39,13 +42,13 @@ impl InputHandler { pub async fn init( app_data: Arc>, rec: Receiver, - docker: Arc, + docker_sender: Sender, gui_state: Arc>, is_running: Arc, ) { let mut inner = Self { app_data, - docker, + docker_sender, gui_state, is_running, rec, @@ -57,7 +60,7 @@ impl InputHandler { /// check for incoming messages async fn start(&mut self) { - while let Ok(message) = self.rec.recv().await { + while let Some(message) = self.rec.recv().await { match message { InputMessages::ButtonPress(key_code) => self.button_press(key_code).await, InputMessages::MouseEvent(mouse_event) => { @@ -168,90 +171,44 @@ impl InputHandler { } } KeyCode::Enter => { - // Does is matter though? // This isn't great, just means you can't send docker commands before full initialization of the program // could change to to if loading = true, although at the moment don't have a loading bool + // Does is matter though? let panel = self.gui_state.lock().selected_panel; if panel == SelectablePanel::Commands { let command = self.app_data.lock().get_docker_command(); if command.is_some() { let id = self.app_data.lock().get_selected_container_id(); - let app_data = Arc::clone(&self.app_data); - let docker = Arc::clone(&self.docker); if id.is_some() { let id = id.unwrap(); match command.unwrap() { - DockerControls::Pause => { - tokio::spawn(async move { - docker.pause_container(&id).await.unwrap_or_else( - |_| { - app_data.lock().set_error( - AppError::DockerCommand( - DockerControls::Pause, - ), - ) - }, - ); - }); - } - DockerControls::Unpause => { - tokio::spawn(async move { - docker.unpause_container(&id).await.unwrap_or_else( - |_| { - app_data.lock().set_error( - AppError::DockerCommand( - DockerControls::Unpause, - ), - ) - }, - ); - }); - } - DockerControls::Start => { - tokio::spawn(async move { - docker - .start_container( - &id, - None::>, - ) - .await - .unwrap_or_else(|_| { - app_data.lock().set_error( - AppError::DockerCommand( - DockerControls::Start, - ), - ) - }); - }); - } - DockerControls::Stop => { - tokio::spawn(async move { - docker.stop_container(&id, None).await.unwrap_or_else( - |_| { - app_data.lock().set_error( - AppError::DockerCommand( - DockerControls::Stop, - ), - ) - }, - ); - }); - } - DockerControls::Restart => { - tokio::spawn(async move { - docker - .restart_container(&id, None) - .await - .unwrap_or_else(|_| { - app_data.lock().set_error( - AppError::DockerCommand( - DockerControls::Restart, - ), - ) - }); - }); - } + // TODO handle theses errors? + DockerControls::Pause => self + .docker_sender + .send(DockerMessage::Pause(id)) + .await + .unwrap(), + DockerControls::Unpause => self + .docker_sender + .send(DockerMessage::Unpause(id)) + .await + .unwrap(), + DockerControls::Start => self + .docker_sender + .send(DockerMessage::Start(id)) + .await + .unwrap(), + DockerControls::Stop => self + .docker_sender + .send(DockerMessage::Stop(id)) + .await + .unwrap(), + DockerControls::Restart => self + .docker_sender + .send(DockerMessage::Restart(id)) + .await + .unwrap(), } } } diff --git a/src/main.rs b/src/main.rs index 112118a..2b38183 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,5 +1,3 @@ -#![allow(unused)] - use app_data::AppData; use app_error::AppError; use bollard::Docker; @@ -33,13 +31,21 @@ async fn main() { let docker_app_data = Arc::clone(&app_data); let docker_gui_state = Arc::clone(&gui_state); + let (docker_sx, docker_rx) = tokio::sync::mpsc::channel(16); // Create docker daemon handler, and only spawn up the docker data handler if ping returns non-error let docker = Arc::new(Docker::connect_with_socket_defaults().unwrap()); match docker.ping().await { Ok(_) => { let docker = Arc::clone(&docker); tokio::spawn(async move { - DockerData::init(docker_args, docker_app_data, docker, docker_gui_state).await; + DockerData::init( + docker_args, + docker_app_data, + docker, + docker_gui_state, + docker_rx, + ) + .await; }); } Err(_) => app_data.lock().set_error(AppError::DockerConnect), @@ -47,19 +53,20 @@ async fn main() { let input_app_data = Arc::clone(&app_data); - let (s, r) = tokio::sync::broadcast::channel(16); + let (input_sx, input_rx) = tokio::sync::mpsc::channel(16); - let input_docker = Arc::clone(&docker); + // let input_docker = Arc::clone(&docker); let is_running = Arc::new(AtomicBool::new(true)); let input_is_running = Arc::clone(&is_running); let input_gui_state = Arc::clone(&gui_state); + let input_docker_sender = docker_sx.clone(); // Spawn input handling into own tokio thread tokio::spawn(async { input_handler::InputHandler::init( input_app_data, - r, - input_docker, + input_rx, + input_docker_sender, input_gui_state, input_is_running, ) @@ -73,6 +80,16 @@ async fn main() { tokio::time::sleep(std::time::Duration::from_millis(5000)).await; } } else { - create_ui(app_data, s, is_running, gui_state).await.unwrap(); + let update_duration = std::time::Duration::from_millis(args.docker_interval as u64); + create_ui( + app_data, + input_sx, + is_running, + gui_state, + docker_sx, + update_duration, + ) + .await + .unwrap(); } } diff --git a/src/ui/draw_blocks.rs b/src/ui/draw_blocks.rs index 4d71af0..2aeb768 100644 --- a/src/ui/draw_blocks.rs +++ b/src/ui/draw_blocks.rs @@ -223,6 +223,7 @@ pub fn draw_logs( f: &mut Frame<'_, B>, gui_state: &Arc>, index: Option, + loading_icon: String, selected_panel: &SelectablePanel, ) { let panel = SelectablePanel::Logs; @@ -233,8 +234,8 @@ pub fn draw_logs( let init = app_data.lock().init; if !init { - let icon = gui_state.lock().get_loading(); - let parsing_logs = format!("parsing logs {}", icon); + // let icon = gui_state.lock().get_loading(); + let parsing_logs = format!("parsing logs {}", loading_icon); let paragraph = Paragraph::new(parsing_logs) .style(Style::default()) .block(block) @@ -367,16 +368,22 @@ pub fn draw_heading_bar( columns: &Columns, f: &mut Frame<'_, B>, has_containers: bool, + loading_icon: String, info_visible: bool, ) { let block = || Block::default().style(Style::default().bg(Color::Magenta).fg(Color::Black)); f.render_widget(block(), area); - let mut column_headings = format!(" {:>width$}", columns.state.0, width = columns.state.1); + let mut column_headings = format!( + " {}{:>width$}", + loading_icon, + columns.state.0, + width = columns.state.1 + ); column_headings.push_str( format!( - "{} {:>width$}", + "{} {:>width$}", MARGIN, columns.status.0, width = columns.status.1 @@ -471,7 +478,9 @@ pub fn draw_help_box(f: &mut Frame<'_, B>) { help_text.push_str("\n ( ↑ ↓ ← → ) to change selected line"); help_text.push_str("\n ( enter ) to send docker container commands"); help_text.push_str("\n ( h ) to toggle this help information"); - help_text.push_str("\n ( m ) to toggle mouse capture - if disabled, text on screen can be selected & copied"); + help_text.push_str( + "\n ( m ) to toggle mouse capture - if disabled, text on screen can be selected & copied", + ); help_text.push_str("\n ( q ) to quit at any time"); help_text.push_str("\n mouse scrolling & clicking also available"); help_text.push_str("\n\n currenty an early work in progress, all and any input appreciated"); @@ -602,7 +611,6 @@ pub fn draw_info(f: &mut Frame<'_, B>, text: String) { .title_alignment(Alignment::Center) .borders(Borders::NONE); - let mut max_line_width = 0; text.lines().into_iter().for_each(|line| { let width = line.chars().count(); diff --git a/src/ui/gui_state.rs b/src/ui/gui_state.rs index 72ef238..5a99a51 100644 --- a/src/ui/gui_state.rs +++ b/src/ui/gui_state.rs @@ -8,6 +8,7 @@ pub enum SelectablePanel { Logs, } +#[allow(unused)] #[derive(Debug, Clone, Copy)] pub enum BoxLocation { TopLeft, @@ -165,10 +166,12 @@ pub struct GuiState { // Is an issue if two panels are in the same space, sush as a smaller panel embedded, yet infront of, a larger panel // If a BMapTree think it would mean have to implement ordering for SelectablePanel area_map: HashMap, - loading: Loading, + loading_icon: Loading, + // Should be a vec, each time loading add a new to the vec, and reset remove from vec + // for for if is_loading just check if vec is empty or not + is_loading: bool, pub selected_panel: SelectablePanel, pub show_help: bool, - // show_info_panel: bool, pub info_box_text: Option, } @@ -177,10 +180,10 @@ impl GuiState { pub fn default() -> Self { Self { area_map: HashMap::new(), - loading: Loading::One, + loading_icon: Loading::One, selected_panel: SelectablePanel::Containers, show_help: false, - // show_info_panel: false, + is_loading: false, info_box_text: None, } } @@ -218,29 +221,33 @@ impl GuiState { self.selected_panel = self.selected_panel.prev(); } + /// Advance loading animation pub fn next_loading(&mut self) { - self.loading = self.loading.next() + self.loading_icon = self.loading_icon.next(); + self.is_loading = true; } + /// if is_loading, return loading animation frame, else single space pub fn get_loading(&mut self) -> String { - self.loading.to_string() + if self.is_loading { + self.loading_icon.to_string() + } else { + String::from(" ") + } } + /// set is_loading to false, but keep animation frame at same state pub fn reset_loading(&mut self) { - self.loading = Loading::One; + self.is_loading = false; } + /// Set info box content pub fn set_info_box(&mut self, text: String) { self.info_box_text = Some(text); - // self.show_info_panel = true; - - // Should spawn and after 10 seconds close? - // Need to copy whatever we're doing with parsing logs icon } + /// Remove info box content pub fn reset_info_box(&mut self) { - // self.loading = Loading::One; self.info_box_text = None; - // self.show_info_panel = false; } } diff --git a/src/ui/mod.rs b/src/ui/mod.rs index 7027a5a..33dafc6 100644 --- a/src/ui/mod.rs +++ b/src/ui/mod.rs @@ -5,12 +5,15 @@ use crossterm::{ terminal::{disable_raw_mode, enable_raw_mode, EnterAlternateScreen, LeaveAlternateScreen}, }; use parking_lot::Mutex; -use std::sync::atomic::AtomicBool; use std::{ io, sync::{atomic::Ordering, Arc}, }; -use tokio::sync::broadcast::Sender; +use std::{ + sync::atomic::AtomicBool, + time::{Duration, Instant}, +}; +use tokio::sync::mpsc::Sender; use tracing::error; use tui::{ backend::{Backend, CrosstermBackend}, @@ -24,7 +27,10 @@ mod gui_state; pub use self::color_match::*; pub use self::gui_state::{GuiState, SelectablePanel}; -use crate::{app_data::AppData, app_error::AppError, input_handler::InputMessages}; +use crate::{ + app_data::AppData, app_error::AppError, docker_data::DockerMessage, + input_handler::InputMessages, +}; use draw_blocks::*; /// Take control of the terminal in order to draw gui @@ -33,6 +39,8 @@ pub async fn create_ui( sender: Sender, is_running: Arc, gui_state: Arc>, + docker_sx: Sender, + update_duration: Duration, ) -> Result<()> { enable_raw_mode()?; let mut stdout = io::stdout(); @@ -40,7 +48,16 @@ pub async fn create_ui( let backend = CrosstermBackend::new(stdout); let mut terminal = Terminal::new(backend)?; - let res = run_app(&mut terminal, app_data, sender, is_running, gui_state).await; + let res = run_app( + &mut terminal, + app_data, + sender, + is_running, + gui_state, + docker_sx, + update_duration, + ) + .await; disable_raw_mode().unwrap(); execute!( @@ -63,6 +80,8 @@ async fn run_app( sender: Sender, is_running: Arc, gui_state: Arc>, + docker_sx: Sender, + update_duration: Duration, ) -> Result<(), AppError> { let input_poll_rate = std::time::Duration::from_millis(75); @@ -84,6 +103,7 @@ async fn run_app( } } } else { + let mut now = Instant::now(); loop { terminal.draw(|f| ui(f, &app_data, &gui_state)).unwrap(); if crossterm::event::poll(input_poll_rate).unwrap() { @@ -91,15 +111,24 @@ async fn run_app( if let Event::Key(key) = event { sender .send(InputMessages::ButtonPress(key.code)) - .unwrap_or(0); + .await + .unwrap_or(()); } else if let Event::Mouse(m) = event { - sender.send(InputMessages::MouseEvent(m)).unwrap_or(0); + sender + .send(InputMessages::MouseEvent(m)) + .await + .unwrap_or(()); } else if let Event::Resize(_, _) = event { gui_state.lock().clear_area_map(); terminal.autoresize().unwrap_or(()); } } + if now.elapsed() >= update_duration { + docker_sx.send(DockerMessage::Update).await.unwrap(); + now = Instant::now(); + } + if !is_running.load(Ordering::SeqCst) { break; } @@ -128,6 +157,7 @@ fn ui( let selected_panel = gui_state.lock().selected_panel; let show_help = gui_state.lock().show_help; let info_text = gui_state.lock().info_box_text.clone(); + let loading_icon = gui_state.lock().get_loading(); let whole_layout = Layout::default() .direction(Direction::Vertical) @@ -189,6 +219,7 @@ fn ui( f, gui_state, log_index, + loading_icon.to_owned(), &selected_panel, ); @@ -197,6 +228,7 @@ fn ui( &column_widths, f, has_containers, + loading_icon, show_help, ); From 28bf0e603daa623f96e4bae6768f2caecdff40b0 Mon Sep 17 00:00:00 2001 From: Jack Wills <32690432+mrjackwills@users.noreply.github.com> Date: Fri, 29 Apr 2022 17:03:34 +0000 Subject: [PATCH 17/20] refactor: docker functions --- src/docker_data/mod.rs | 118 ++++++++++++++++++----------------------- src/ui/draw_blocks.rs | 4 +- src/ui/gui_state.rs | 4 +- src/ui/mod.rs | 9 ++-- 4 files changed, 60 insertions(+), 75 deletions(-) diff --git a/src/docker_data/mod.rs b/src/docker_data/mod.rs index bf68656..c674129 100644 --- a/src/docker_data/mod.rs +++ b/src/docker_data/mod.rs @@ -183,8 +183,7 @@ impl DockerData { } /// Update all logs, spawn each container into own tokio::spawn thread - // rename init all logs, as only gets run once - async fn update_all_logs(&mut self, all_ids: &[(bool, String)]) { + async fn init_all_logs(&mut self, all_ids: &[(bool, String)]) { let mut handles = vec![]; for (_, id) in all_ids.iter() { @@ -212,7 +211,9 @@ impl DockerData { self.update_all_container_stats(&all_ids).await; } - async fn loading_spin(gui_state: Arc>) -> JoinHandle<()> { + /// Animate the loading icon + async fn loading_spin(&mut self ) -> JoinHandle<()> { + let gui_state = Arc::clone(&self.gui_state); tokio::spawn(async move { loop { tokio::time::sleep(std::time::Duration::from_millis(100)).await; @@ -221,20 +222,22 @@ impl DockerData { }) } - fn stop_loading_spin(handle: JoinHandle<()>, gui_state: &Arc>) { + /// Stop the loading_spin fn, and reset gui loading status + fn stop_loading_spin(&mut self, handle: JoinHandle<()>) { handle.abort(); - gui_state.lock().reset_loading(); + self.gui_state.lock().reset_loading(); } + + // Initialize docker container data, before any messages are received async fn initialise_container_data(&mut self) { - let gui_state = Arc::clone(&self.gui_state); - let loading_spin = Self::loading_spin(gui_state).await; + let loading_spin = self.loading_spin().await; let all_ids = self.update_all_containers().await; self.update_all_container_stats(&all_ids).await; // Maybe only do a single one at first? - self.update_all_logs(&all_ids).await; + self.init_all_logs(&all_ids).await; if all_ids.is_empty() { self.initialised = true; @@ -246,7 +249,7 @@ impl DockerData { self.initialised = self.app_data.lock().initialised(&all_ids); } self.app_data.lock().init = true; - Self::stop_loading_spin(loading_spin, &self.gui_state); + self.stop_loading_spin(loading_spin); } /// Handle incoming messages, container controls & all container information update @@ -254,80 +257,65 @@ impl DockerData { while let Some(message) = self.receiver.recv().await { let docker = Arc::clone(&self.docker); let app_data = Arc::clone(&self.app_data); - let gui_state = Arc::clone(&self.gui_state); match message { DockerMessage::Pause(id) => { - let spin_gui = Arc::clone(&gui_state); - let loading_spin = Self::loading_spin(gui_state).await; - tokio::spawn(async move { - docker.pause_container(&id).await.unwrap_or_else(|_| { - app_data - .lock() - .set_error(AppError::DockerCommand(DockerControls::Pause)) - }); - Self::stop_loading_spin(loading_spin, &spin_gui); + let loading_spin =self.loading_spin().await; + docker.pause_container(&id).await.unwrap_or_else(|_| { + app_data + .lock() + .set_error(AppError::DockerCommand(DockerControls::Pause)) }); + self.stop_loading_spin(loading_spin); } DockerMessage::Restart(id) => { - let spin_gui = Arc::clone(&gui_state); - let loading_spin = Self::loading_spin(gui_state).await; - tokio::spawn(async move { - docker - .restart_container(&id, None) - .await - .unwrap_or_else(|_| { - app_data - .lock() - .set_error(AppError::DockerCommand(DockerControls::Restart)) - }); - Self::stop_loading_spin(loading_spin, &spin_gui); - }); + let loading_spin =self.loading_spin().await; + docker + .restart_container(&id, None) + .await + .unwrap_or_else(|_| { + app_data + .lock() + .set_error(AppError::DockerCommand(DockerControls::Restart)) + }); + self.stop_loading_spin(loading_spin); } DockerMessage::Start(id) => { - let spin_gui = Arc::clone(&gui_state); - let loading_spin = Self::loading_spin(gui_state).await; - tokio::spawn(async move { - docker - .start_container(&id, None::>) - .await - .unwrap_or_else(|_| { - app_data - .lock() - .set_error(AppError::DockerCommand(DockerControls::Start)) - }); - Self::stop_loading_spin(loading_spin, &spin_gui); - }); + let loading_spin =self.loading_spin().await; + docker + .start_container(&id, None::>) + .await + .unwrap_or_else(|_| { + app_data + .lock() + .set_error(AppError::DockerCommand(DockerControls::Start)) + }); + self.stop_loading_spin(loading_spin); } DockerMessage::Stop(id) => { - let spin_gui = Arc::clone(&gui_state); - let loading_spin = Self::loading_spin(gui_state).await; - tokio::spawn(async move { - docker.stop_container(&id, None).await.unwrap_or_else(|_| { - app_data - .lock() - .set_error(AppError::DockerCommand(DockerControls::Stop)) - }); - Self::stop_loading_spin(loading_spin, &spin_gui); + let loading_spin =self.loading_spin().await; + docker.stop_container(&id, None).await.unwrap_or_else(|_| { + app_data + .lock() + .set_error(AppError::DockerCommand(DockerControls::Stop)) }); + self.stop_loading_spin(loading_spin); } DockerMessage::Unpause(id) => { - let spin_gui = Arc::clone(&gui_state); - let loading_spin = Self::loading_spin(gui_state).await; - tokio::spawn(async move { - docker.unpause_container(&id).await.unwrap_or_else(|_| { - app_data - .lock() - .set_error(AppError::DockerCommand(DockerControls::Unpause)) - }); - Self::stop_loading_spin(loading_spin, &spin_gui); + let loading_spin =self.loading_spin().await; + docker.unpause_container(&id).await.unwrap_or_else(|_| { + app_data + .lock() + .set_error(AppError::DockerCommand(DockerControls::Unpause)) }); + self.stop_loading_spin(loading_spin); + self.update_everything().await } DockerMessage::Update => self.update_everything().await, } } } - /// Initialise self, and start the updated loop + /// Initialise self, and start the message receiving loop pub async fn init( args: CliArgs, app_data: Arc>, @@ -346,8 +334,6 @@ impl DockerData { }; inner.initialise_container_data().await; - // todo!(" change this to recv.next()"); - // inner.update_loop().await; inner.message_handler().await; } } diff --git a/src/ui/draw_blocks.rs b/src/ui/draw_blocks.rs index 2aeb768..182462c 100644 --- a/src/ui/draw_blocks.rs +++ b/src/ui/draw_blocks.rs @@ -223,7 +223,7 @@ pub fn draw_logs( f: &mut Frame<'_, B>, gui_state: &Arc>, index: Option, - loading_icon: String, + loading_icon: String, selected_panel: &SelectablePanel, ) { let panel = SelectablePanel::Logs; @@ -368,7 +368,7 @@ pub fn draw_heading_bar( columns: &Columns, f: &mut Frame<'_, B>, has_containers: bool, - loading_icon: String, + loading_icon: String, info_visible: bool, ) { let block = || Block::default().style(Style::default().bg(Color::Magenta).fg(Color::Black)); diff --git a/src/ui/gui_state.rs b/src/ui/gui_state.rs index 5a99a51..97983da 100644 --- a/src/ui/gui_state.rs +++ b/src/ui/gui_state.rs @@ -167,8 +167,8 @@ pub struct GuiState { // If a BMapTree think it would mean have to implement ordering for SelectablePanel area_map: HashMap, loading_icon: Loading, - // Should be a vec, each time loading add a new to the vec, and reset remove from vec - // for for if is_loading just check if vec is empty or not + // Should be a vec, each time loading add a new to the vec, and reset remove from vec + // for for if is_loading just check if vec is empty or not is_loading: bool, pub selected_panel: SelectablePanel, pub show_help: bool, diff --git a/src/ui/mod.rs b/src/ui/mod.rs index 33dafc6..a71a244 100644 --- a/src/ui/mod.rs +++ b/src/ui/mod.rs @@ -14,7 +14,6 @@ use std::{ time::{Duration, Instant}, }; use tokio::sync::mpsc::Sender; -use tracing::error; use tui::{ backend::{Backend, CrosstermBackend}, layout::{Constraint, Direction, Layout}, @@ -68,7 +67,7 @@ pub async fn create_ui( terminal.show_cursor().unwrap(); if let Err(err) = res { - error!(%err); + println!("{}", err); } Ok(()) } @@ -157,7 +156,7 @@ fn ui( let selected_panel = gui_state.lock().selected_panel; let show_help = gui_state.lock().show_help; let info_text = gui_state.lock().info_box_text.clone(); - let loading_icon = gui_state.lock().get_loading(); + let loading_icon = gui_state.lock().get_loading(); let whole_layout = Layout::default() .direction(Direction::Vertical) @@ -219,7 +218,7 @@ fn ui( f, gui_state, log_index, - loading_icon.to_owned(), + loading_icon.to_owned(), &selected_panel, ); @@ -228,7 +227,7 @@ fn ui( &column_widths, f, has_containers, - loading_icon, + loading_icon, show_help, ); From f43c62381321a80bfc6889e3b0e53d295aae6066 Mon Sep 17 00:00:00 2001 From: Jack Wills <32690432+mrjackwills@users.noreply.github.com> Date: Fri, 29 Apr 2022 17:59:17 +0000 Subject: [PATCH 18/20] docs: readme --- .github/screenshot_01.jpg | Bin 183491 -> 295373 bytes CHANGELOG.md | 1 + README.md | 10 +++++++-- docker-compose.yml | 43 ++++++++++++++++++++++++++++++++++++++ src/app_data/mod.rs | 1 + 5 files changed, 53 insertions(+), 2 deletions(-) create mode 100644 docker-compose.yml diff --git a/.github/screenshot_01.jpg b/.github/screenshot_01.jpg index fd08e93d0cb815909ec4ece34fb7951516457f77..44ece7bda16f2671675b5df1e04f5d07c7ba3d19 100644 GIT binary patch literal 295373 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 Date: Fri, 29 Apr 2022 18:01:15 +0000 Subject: [PATCH 19/20] changelog --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index cb985b3..5bdf140 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ ### Features -+ allow toggling of mouse caputre, to select & copy text with mouse, [aec184ea22b289e91942a4c3e6a415685884bc47] ++ allow toggling of mouse caputre, to select & copy text with mouse, closes [#2], [aec184ea22b289e91942a4c3e6a415685884bc47] + show id column, [b10f927481c9e38a48c1d4b94e744ec48e8b6ba6] -+ draw_popup, using enum to draw in one of 9 areas, [1017850a6cc91328abc1127bdb117495f5e909d8] ++ draw_popup, using enum to draw in one of 9 areas, closes [#6], [1017850a6cc91328abc1127bdb117495f5e909d8] + use a message rx/sx for all docker commands, remove update loop, wait for update message from gui instead, [9b70fdfad7b38361ebee301bdc2545d3f0dfcf9e] ### Fixes From cf3d0dad3b773bb5591bc1c01c8139ffce67edc7 Mon Sep 17 00:00:00 2001 From: Jack Wills <32690432+mrjackwills@users.noreply.github.com> Date: Fri, 29 Apr 2022 18:01:55 +0000 Subject: [PATCH 20/20] chore: release v0.0.2 --- .github/release-body.md | 14 ++++++++++++-- CHANGELOG.md | 17 ++++++++++------- Cargo.toml | 2 +- src/app_data/mod.rs | 2 +- src/docker_data/mod.rs | 19 +++++++++---------- src/ui/mod.rs | 2 +- 6 files changed, 34 insertions(+), 22 deletions(-) diff --git a/.github/release-body.md b/.github/release-body.md index 4d77784..b689008 100644 --- a/.github/release-body.md +++ b/.github/release-body.md @@ -1,5 +1,15 @@ -### 2022-04-25 +### 2022-04-29 + +### Features ++ allow toggling of mouse caputre, to select & copy text with mouse, closes [#2], [aec184ea22b289e91942a4c3e6a415685884bc47] ++ show id column, [b10f927481c9e38a48c1d4b94e744ec48e8b6ba6] ++ draw_popup, using enum to draw in one of 9 areas, closes [#6], [1017850a6cc91328abc1127bdb117495f5e909d8] ++ use a message rx/sx for all docker commands, remove update loop, wait for update message from gui instead, [9b70fdfad7b38361ebee301bdc2545d3f0dfcf9e] + +### Fixes ++ readme.md typo, [589501f9a4a0bfabdb0654e68cc0c752c529d97a] ++ column heading mem > memory, [5e8e6b590b06f01a542fdd10bae8f14d303ab08a] ++ cargo fmt added to create_release.sh, [bb29c0ebfafd6a9a036eb317a240954d1405966e] -+ init commit see CHANGELOG.md for more details diff --git a/CHANGELOG.md b/CHANGELOG.md index 5bdf140..9e484f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,13 +1,16 @@ +# v0.0.2 +### 2022-04-29 + ### Features -+ allow toggling of mouse caputre, to select & copy text with mouse, closes [#2], [aec184ea22b289e91942a4c3e6a415685884bc47] -+ show id column, [b10f927481c9e38a48c1d4b94e744ec48e8b6ba6] -+ draw_popup, using enum to draw in one of 9 areas, closes [#6], [1017850a6cc91328abc1127bdb117495f5e909d8] -+ use a message rx/sx for all docker commands, remove update loop, wait for update message from gui instead, [9b70fdfad7b38361ebee301bdc2545d3f0dfcf9e] ++ allow toggling of mouse caputre, to select & copy text with mouse, closes [#2], [aec184ea22b289e91942a4c3e6a415685884bc47](https://github.com/mrjackwills/oxker/commit/aec184ea22b289e91942a4c3e6a415685884bc47), ++ show id column, [b10f927481c9e38a48c1d4b94e744ec48e8b6ba6](https://github.com/mrjackwills/oxker/commit/b10f927481c9e38a48c1d4b94e744ec48e8b6ba6), ++ draw_popup, using enum to draw in one of 9 areas, closes [#6], [1017850a6cc91328abc1127bdb117495f5e909d8](https://github.com/mrjackwills/oxker/commit/1017850a6cc91328abc1127bdb117495f5e909d8), ++ use a message rx/sx for all docker commands, remove update loop, wait for update message from gui instead, [9b70fdfad7b38361ebee301bdc2545d3f0dfcf9e](https://github.com/mrjackwills/oxker/commit/9b70fdfad7b38361ebee301bdc2545d3f0dfcf9e), ### Fixes -+ readme.md typo, [589501f9a4a0bfabdb0654e68cc0c752c529d97a] -+ column heading mem > memory, [5e8e6b590b06f01a542fdd10bae8f14d303ab08a] -+ cargo fmt added to create_release.sh, [bb29c0ebfafd6a9a036eb317a240954d1405966e] ++ readme.md typo, [589501f9a4a0bfabdb0654e68cc0c752c529d97a](https://github.com/mrjackwills/oxker/commit/589501f9a4a0bfabdb0654e68cc0c752c529d97a), ++ column heading mem > memory, [5e8e6b590b06f01a542fdd10bae8f14d303ab08a](https://github.com/mrjackwills/oxker/commit/5e8e6b590b06f01a542fdd10bae8f14d303ab08a), ++ cargo fmt added to create_release.sh, [bb29c0ebfafd6a9a036eb317a240954d1405966e](https://github.com/mrjackwills/oxker/commit/bb29c0ebfafd6a9a036eb317a240954d1405966e), # v0.0.1 ### 2022-04-25 diff --git a/Cargo.toml b/Cargo.toml index a26aed7..e69da58 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "oxker" -version = "0.0.1" +version = "0.0.2" edition = "2021" authors = ["Jack Wills "] description = "a simple tui to view & control docker containers" diff --git a/src/app_data/mod.rs b/src/app_data/mod.rs index a86042c..06dc806 100644 --- a/src/app_data/mod.rs +++ b/src/app_data/mod.rs @@ -304,7 +304,7 @@ impl AppData { if self.containers.state.selected().is_some() { self.containers.previous(); } - // docker rm -f $(docker ps -aq) will cause this to crash + // docker rm -f $(docker ps -aq) will cause this to crash self.containers.items.remove(index); } } diff --git a/src/docker_data/mod.rs b/src/docker_data/mod.rs index c674129..71375ec 100644 --- a/src/docker_data/mod.rs +++ b/src/docker_data/mod.rs @@ -212,8 +212,8 @@ impl DockerData { } /// Animate the loading icon - async fn loading_spin(&mut self ) -> JoinHandle<()> { - let gui_state = Arc::clone(&self.gui_state); + async fn loading_spin(&mut self) -> JoinHandle<()> { + let gui_state = Arc::clone(&self.gui_state); tokio::spawn(async move { loop { tokio::time::sleep(std::time::Duration::from_millis(100)).await; @@ -228,8 +228,7 @@ impl DockerData { self.gui_state.lock().reset_loading(); } - - // Initialize docker container data, before any messages are received + // Initialize docker container data, before any messages are received async fn initialise_container_data(&mut self) { let loading_spin = self.loading_spin().await; @@ -259,7 +258,7 @@ impl DockerData { let app_data = Arc::clone(&self.app_data); match message { DockerMessage::Pause(id) => { - let loading_spin =self.loading_spin().await; + let loading_spin = self.loading_spin().await; docker.pause_container(&id).await.unwrap_or_else(|_| { app_data .lock() @@ -268,7 +267,7 @@ impl DockerData { self.stop_loading_spin(loading_spin); } DockerMessage::Restart(id) => { - let loading_spin =self.loading_spin().await; + let loading_spin = self.loading_spin().await; docker .restart_container(&id, None) .await @@ -280,7 +279,7 @@ impl DockerData { self.stop_loading_spin(loading_spin); } DockerMessage::Start(id) => { - let loading_spin =self.loading_spin().await; + let loading_spin = self.loading_spin().await; docker .start_container(&id, None::>) .await @@ -292,7 +291,7 @@ impl DockerData { self.stop_loading_spin(loading_spin); } DockerMessage::Stop(id) => { - let loading_spin =self.loading_spin().await; + let loading_spin = self.loading_spin().await; docker.stop_container(&id, None).await.unwrap_or_else(|_| { app_data .lock() @@ -301,14 +300,14 @@ impl DockerData { self.stop_loading_spin(loading_spin); } DockerMessage::Unpause(id) => { - let loading_spin =self.loading_spin().await; + let loading_spin = self.loading_spin().await; docker.unpause_container(&id).await.unwrap_or_else(|_| { app_data .lock() .set_error(AppError::DockerCommand(DockerControls::Unpause)) }); self.stop_loading_spin(loading_spin); - self.update_everything().await + self.update_everything().await } DockerMessage::Update => self.update_everything().await, } diff --git a/src/ui/mod.rs b/src/ui/mod.rs index a71a244..15d04d2 100644 --- a/src/ui/mod.rs +++ b/src/ui/mod.rs @@ -67,7 +67,7 @@ pub async fn create_ui( terminal.show_cursor().unwrap(); if let Err(err) = res { - println!("{}", err); + println!("{}", err); } Ok(()) }

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 literal 183491 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ξ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