From 55e8885302172ccf0a79bc9829d339acfdc3564d Mon Sep 17 00:00:00 2001 From: Louis Lesage <31346705+Louis-Lesage@users.noreply.github.com> Date: Sun, 17 May 2020 16:40:04 -0400 Subject: feat(layout): 'Window' ordering ability (#118) * Window ordering ability Added ability to change display order of the windows using tab. Added a help tooltip. * fix redundant clone * fix fmt check * cargo fmt fix 2 * Fixed help layout and added tests * Fix fmt check --- .gitignore | 2 +- CHANGELOG.md | 3 + src/display/components/help_text.rs | 20 ++- src/display/components/layout.rs | 4 +- src/display/ui.rs | 11 +- src/main.rs | 27 +++- .../cases/snapshots/ui__basic_only_addresses.snap | 2 +- .../snapshots/ui__basic_only_connections.snap | 2 +- .../cases/snapshots/ui__basic_only_processes.snap | 2 +- .../ui__basic_processes_with_dns_queries.snap | 2 +- src/tests/cases/snapshots/ui__basic_startup.snap | 2 +- .../snapshots/ui__bi_directional_traffic.snap | 2 +- .../ui__layout_full_width_under_30_height.snap | 2 +- .../ui__layout_under_120_width_full_height.snap | 2 +- ...ui__layout_under_120_width_under_30_height.snap | 2 +- ...i__layout_under_50_width_under_50_height-2.snap | 54 ++++++++ .../ui__layout_under_50_width_under_50_height.snap | 54 ++++++++ ...i__layout_under_70_width_under_30_height-2.snap | 34 +++++ .../ui__layout_under_70_width_under_30_height.snap | 34 +++++ ...__multiple_connections_from_remote_address.snap | 2 +- ...kets_of_traffic_from_different_connections.snap | 2 +- ..._packets_of_traffic_from_single_connection.snap | 2 +- ...ltiple_processes_with_multiple_connections.snap | 2 +- .../cases/snapshots/ui__one_packet_of_traffic.snap | 2 +- .../ui__one_process_with_multiple_connections.snap | 2 +- .../cases/snapshots/ui__pause_by_space-2.snap | 2 +- src/tests/cases/snapshots/ui__pause_by_space.snap | 2 +- .../cases/snapshots/ui__rearranged_by_tab-2.snap | 55 ++++++++ .../cases/snapshots/ui__rearranged_by_tab-3.snap | 55 ++++++++ .../cases/snapshots/ui__rearranged_by_tab-4.snap | 55 ++++++++ .../cases/snapshots/ui__rearranged_by_tab-5.snap | 55 ++++++++ .../cases/snapshots/ui__rearranged_by_tab.snap | 55 ++++++++ .../snapshots/ui__traffic_with_winch_event.snap | 2 +- .../snapshots/ui__two_packets_only_addresses.snap | 2 +- .../ui__two_packets_only_connections.snap | 2 +- .../snapshots/ui__two_packets_only_processes.snap | 2 +- .../ui__two_windows_split_horizontally.snap | 2 +- .../ui__two_windows_split_vertically.snap | 2 +- src/tests/cases/ui.rs | 154 +++++++++++++++++++++ 39 files changed, 682 insertions(+), 36 deletions(-) create mode 100644 src/tests/cases/snapshots/ui__layout_under_50_width_under_50_height-2.snap create mode 100644 src/tests/cases/snapshots/ui__layout_under_50_width_under_50_height.snap create mode 100644 src/tests/cases/snapshots/ui__layout_under_70_width_under_30_height-2.snap create mode 100644 src/tests/cases/snapshots/ui__layout_under_70_width_under_30_height.snap create mode 100644 src/tests/cases/snapshots/ui__rearranged_by_tab-2.snap create mode 100644 src/tests/cases/snapshots/ui__rearranged_by_tab-3.snap create mode 100644 src/tests/cases/snapshots/ui__rearranged_by_tab-4.snap create mode 100644 src/tests/cases/snapshots/ui__rearranged_by_tab-5.snap create mode 100644 src/tests/cases/snapshots/ui__rearranged_by_tab.snap diff --git a/.gitignore b/.gitignore index 28fb351..d81dc02 100644 --- a/.gitignore +++ b/.gitignore @@ -11,4 +11,4 @@ debian/* !debian/control !debian/copyright !debian/rules -!debian/source +!debian/source \ No newline at end of file diff --git a/CHANGELOG.md b/CHANGELOG.md index f749900..fe0469a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,9 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/) ## [Unreleased] +### Added +* Ability to change the window layout with (https://github.com/imsnif/bandwhich/pull/118) - [@Louis-Lesage](https://github.com/Louis-Lesage) + ### Fixed * Add terabytes as a display unit (for cumulative mode) (https://github.com/imsnif/bandwhich/pull/168) - [@TheLostLambda](https://github.com/TheLostLambda) diff --git a/src/display/components/help_text.rs b/src/display/components/help_text.rs index 2b49551..7d66ad8 100644 --- a/src/display/components/help_text.rs +++ b/src/display/components/help_text.rs @@ -9,10 +9,14 @@ pub struct HelpText { pub show_dns: bool, } -const TEXT_WHEN_PAUSED: &str = " Press to resume"; -const TEXT_WHEN_NOT_PAUSED: &str = " Press to pause"; +const FIRST_WIDTH_BREAKPOINT: u16 = 76; +const SECOND_WIDTH_BREAKPOINT: u16 = 54; + +const TEXT_WHEN_PAUSED: &str = " Press to resume."; +const TEXT_WHEN_NOT_PAUSED: &str = " Press to pause."; const TEXT_WHEN_DNS_NOT_SHOWN: &str = " (DNS queries hidden)."; const TEXT_WHEN_DNS_SHOWN: &str = " (DNS queries shown)."; +const TEXT_TAB_TIP: &str = " Use to rearrange tables."; impl HelpText { pub fn render(&self, frame: &mut Frame, rect: Rect) { @@ -23,14 +27,22 @@ impl HelpText { TEXT_WHEN_NOT_PAUSED }; - let dns_content = if self.show_dns { + let dns_content = if rect.width <= FIRST_WIDTH_BREAKPOINT { + "" + } else if self.show_dns { TEXT_WHEN_DNS_SHOWN } else { TEXT_WHEN_DNS_NOT_SHOWN }; + let tab_text = if rect.width <= SECOND_WIDTH_BREAKPOINT { + "" + } else { + TEXT_TAB_TIP + }; + [Text::styled( - format!("{}{}", pause_content, dns_content), + format!("{}{}{}", pause_content, tab_text, dns_content), Style::default().modifier(Modifier::BOLD), )] }; diff --git a/src/display/components/layout.rs b/src/display/components/layout.rs index c047774..79186cd 100644 --- a/src/display/components/layout.rs +++ b/src/display/components/layout.rs @@ -99,12 +99,12 @@ impl<'a> Layout<'a> { self.build_three_children_layout(rect) } } - pub fn render(&self, frame: &mut Frame, rect: Rect) { + pub fn render(&self, frame: &mut Frame, rect: Rect, ui_offset: usize) { let (top, app, bottom) = top_app_and_bottom_split(rect); let layout_slots = self.build_layout(app); for i in 0..layout_slots.len() { if let Some(rect) = layout_slots.get(i) { - if let Some(child) = self.children.get(i) { + if let Some(child) = self.children.get((i + ui_offset) % self.children.len()) { child.render(frame, *rect); } } diff --git a/src/display/ui.rs b/src/display/ui.rs index 68f133a..600a6db 100644 --- a/src/display/ui.rs +++ b/src/display/ui.rs @@ -61,7 +61,7 @@ where display_connection_string( connection, ip_to_host, - &connection_network_data.interface_name + &connection_network_data.interface_name, ), connection_network_data.total_bytes_uploaded, connection_network_data.total_bytes_downloaded, @@ -79,7 +79,7 @@ where )); } } - pub fn draw(&mut self, paused: bool, show_dns: bool) { + pub fn draw(&mut self, paused: bool, show_dns: bool, ui_offset: usize) { let state = &self.state; let children = self.get_tables_to_display(); self.terminal @@ -95,7 +95,7 @@ where children, footer: help_text, }; - layout.render(&mut frame, size); + layout.render(&mut frame, size, ui_offset); }) .unwrap(); } @@ -127,6 +127,11 @@ where } children } + + pub fn get_table_count(&self) -> usize { + self.get_tables_to_display().len() + } + pub fn update_state( &mut self, connections_to_procs: HashMap, diff --git a/src/main.rs b/src/main.rs index 8c91731..e327be5 100644 --- a/src/main.rs +++ b/src/main.rs @@ -15,7 +15,7 @@ use os::OnSigWinch; use ::pnet::datalink::{DataLinkReceiver, NetworkInterface}; use ::std::collections::HashMap; -use ::std::sync::atomic::{AtomicBool, Ordering}; +use ::std::sync::atomic::{AtomicBool, AtomicUsize, Ordering}; use ::std::sync::{Arc, Mutex}; use ::std::thread::park_timeout; use ::std::{thread, time}; @@ -121,6 +121,7 @@ where { let running = Arc::new(AtomicBool::new(true)); let paused = Arc::new(AtomicBool::new(false)); + let ui_offset = Arc::new(AtomicUsize::new(0)); let dns_shown = opts.show_dns; let mut active_threads = vec![]; @@ -144,11 +145,17 @@ where .spawn({ let ui = ui.clone(); let paused = paused.clone(); + let ui_offset = ui_offset.clone(); + move || { on_winch({ Box::new(move || { let mut ui = ui.lock().unwrap(); - ui.draw(paused.load(Ordering::SeqCst), dns_shown); + ui.draw( + paused.load(Ordering::SeqCst), + dns_shown, + ui_offset.load(Ordering::SeqCst), + ); }) }); } @@ -162,7 +169,11 @@ where .spawn({ let running = running.clone(); let paused = paused.clone(); + let ui_offset = ui_offset.clone(); + let network_utilization = network_utilization.clone(); + let ui = ui.clone(); + move || { while running.load(Ordering::Acquire) { let render_start_time = Instant::now(); @@ -185,13 +196,14 @@ where { let mut ui = ui.lock().unwrap(); let paused = paused.load(Ordering::SeqCst); + let ui_offset = ui_offset.load(Ordering::SeqCst); if !paused { ui.update_state(sockets_to_procs, utilization, ip_to_host); } if raw_mode { ui.output_text(&mut write_to_stdout); } else { - ui.draw(paused, dns_shown); + ui.draw(paused, dns_shown, ui_offset); } } let render_duration = render_start_time.elapsed(); @@ -213,8 +225,11 @@ where .spawn({ let running = running.clone(); let display_handler = display_handler.thread().clone(); + move || { for evt in keyboard_events { + let mut ui = ui.lock().unwrap(); + match evt { Event::Key(Key::Ctrl('c')) | Event::Key(Key::Char('q')) => { running.store(false, Ordering::Release); @@ -226,6 +241,12 @@ where paused.fetch_xor(true, Ordering::SeqCst); display_handler.unpark(); } + Event::Key(Key::Char('\t')) => { + let table_count = ui.get_table_count(); + let new = ui_offset.load(Ordering::SeqCst) + 1 % table_count; + ui_offset.store(new, Ordering::SeqCst); + ui.draw(paused.load(Ordering::SeqCst), dns_shown, new); + } _ => (), }; } diff --git a/src/tests/cases/snapshots/ui__basic_only_addresses.snap b/src/tests/cases/snapshots/ui__basic_only_addresses.snap index 98e855e..b6057c3 100644 --- a/src/tests/cases/snapshots/ui__basic_only_addresses.snap +++ b/src/tests/cases/snapshots/ui__basic_only_addresses.snap @@ -51,5 +51,5 @@ expression: "&terminal_draw_events_mirror[0]" │ │ │ │ └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Press to pause (DNS queries hidden). + Press to pause. Use to rearrange tables. (DNS queries hidden). diff --git a/src/tests/cases/snapshots/ui__basic_only_connections.snap b/src/tests/cases/snapshots/ui__basic_only_connections.snap index fa318b0..d580041 100644 --- a/src/tests/cases/snapshots/ui__basic_only_connections.snap +++ b/src/tests/cases/snapshots/ui__basic_only_connections.snap @@ -51,5 +51,5 @@ expression: "&terminal_draw_events_mirror[0]" │ │ │ │ └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Press to pause (DNS queries hidden). + Press to pause. Use to rearrange tables. (DNS queries hidden). diff --git a/src/tests/cases/snapshots/ui__basic_only_processes.snap b/src/tests/cases/snapshots/ui__basic_only_processes.snap index d72fe63..60bee0f 100644 --- a/src/tests/cases/snapshots/ui__basic_only_processes.snap +++ b/src/tests/cases/snapshots/ui__basic_only_processes.snap @@ -51,5 +51,5 @@ expression: "&terminal_draw_events_mirror[0]" │ │ │ │ └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Press to pause (DNS queries hidden). + Press to pause. Use to rearrange tables. (DNS queries hidden). diff --git a/src/tests/cases/snapshots/ui__basic_processes_with_dns_queries.snap b/src/tests/cases/snapshots/ui__basic_processes_with_dns_queries.snap index 5f5fc06..bc15814 100644 --- a/src/tests/cases/snapshots/ui__basic_processes_with_dns_queries.snap +++ b/src/tests/cases/snapshots/ui__basic_processes_with_dns_queries.snap @@ -51,5 +51,5 @@ expression: "&terminal_draw_events_mirror[0]" │ │ │ │ └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Press to pause (DNS queries shown). + Press to pause. Use to rearrange tables. (DNS queries shown). diff --git a/src/tests/cases/snapshots/ui__basic_startup.snap b/src/tests/cases/snapshots/ui__basic_startup.snap index 7f3863a..d60e597 100644 --- a/src/tests/cases/snapshots/ui__basic_startup.snap +++ b/src/tests/cases/snapshots/ui__basic_startup.snap @@ -51,5 +51,5 @@ expression: "&terminal_draw_events_mirror[0]" │ │ │ │ └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Press to pause (DNS queries hidden). + Press to pause. Use to rearrange tables. (DNS queries hidden). diff --git a/src/tests/cases/snapshots/ui__bi_directional_traffic.snap b/src/tests/cases/snapshots/ui__bi_directional_traffic.snap index 7f3863a..d60e597 100644 --- a/src/tests/cases/snapshots/ui__bi_directional_traffic.snap +++ b/src/tests/cases/snapshots/ui__bi_directional_traffic.snap @@ -51,5 +51,5 @@ expression: "&terminal_draw_events_mirror[0]" │ │ │ │ └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Press to pause (DNS queries hidden). + Press to pause. Use to rearrange tables. (DNS queries hidden). diff --git a/src/tests/cases/snapshots/ui__layout_full_width_under_30_height.snap b/src/tests/cases/snapshots/ui__layout_full_width_under_30_height.snap index b2ef419..1e26e22 100644 --- a/src/tests/cases/snapshots/ui__layout_full_width_under_30_height.snap +++ b/src/tests/cases/snapshots/ui__layout_full_width_under_30_height.snap @@ -30,5 +30,5 @@ expression: "&terminal_draw_events_mirror[0]" │ ││ │ │ ││ │ └─────────────────────────────────────────────────────────────────────────────────────────────┘└─────────────────────────────────────────────────────────────────────────────────────────────┘ - Press to pause (DNS queries hidden). + Press to pause. Use to rearrange tables. (DNS queries hidden). diff --git a/src/tests/cases/snapshots/ui__layout_under_120_width_full_height.snap b/src/tests/cases/snapshots/ui__layout_under_120_width_full_height.snap index 39be4ff..53043a7 100644 --- a/src/tests/cases/snapshots/ui__layout_under_120_width_full_height.snap +++ b/src/tests/cases/snapshots/ui__layout_under_120_width_full_height.snap @@ -51,5 +51,5 @@ expression: "&terminal_draw_events_mirror[0]" │ │ │ │ └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Press to pause (DNS queries hidden). + Press to pause. Use to rearrange tables. (DNS queries hidden). diff --git a/src/tests/cases/snapshots/ui__layout_under_120_width_under_30_height.snap b/src/tests/cases/snapshots/ui__layout_under_120_width_under_30_height.snap index bf7caa7..0bbc796 100644 --- a/src/tests/cases/snapshots/ui__layout_under_120_width_under_30_height.snap +++ b/src/tests/cases/snapshots/ui__layout_under_120_width_under_30_height.snap @@ -30,5 +30,5 @@ expression: "&terminal_draw_events_mirror[0]" │ │ │ │ └─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Press to pause (DNS queries hidden). + Press to pause. Use to rearrange tables. (DNS queries hidden). diff --git a/src/tests/cases/snapshots/ui__layout_under_50_width_under_50_height-2.snap b/src/tests/cases/snapshots/ui__layout_under_50_width_under_50_height-2.snap new file mode 100644 index 0000000..d614423 --- /dev/null +++ b/src/tests/cases/snapshots/ui__layout_under_50_width_under_50_height-2.snap @@ -0,0 +1,54 @@ +--- +source: src/tests/cases/ui.rs +expression: "&terminal_draw_events_mirror[1]" +--- + 98Bps + + + + 5 0Bps / 28Bps + 4 0Bps / 26Bps + 1 0Bps / 22Bps + 2 0Bps / 21Bps + + + + + + + + + + + + + + + + + + + + 3.3.3.3 0Bps / 28Bps + 2.2.2.2 0Bps / 26Bps + 1.1.1.1 0Bps / 22Bps + 4.4.4.4 0Bps / 21Bps + + + + + + + + + + + + + + + + + + + diff --git a/src/tests/cases/snapshots/ui__layout_under_50_width_under_50_height.snap b/src/tests/cases/snapshots/ui__layout_under_50_width_under_50_height.snap new file mode 100644 index 0000000..a3b00e3 --- /dev/null +++ b/src/tests/cases/snapshots/ui__layout_under_50_width_under_50_height.snap @@ -0,0 +1,54 @@ +--- +source: src/tests/cases/ui.rs +expression: "&terminal_draw_events_mirror[0]" +--- + Total Up / Down: 0Bps / 0Bps +┌Utilization by process name────────────────────┐ +│Process Up / Down │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +└───────────────────────────────────────────────┘ +┌Utilization by remote address──────────────────┐ +│Remote Address Up / Down │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +└───────────────────────────────────────────────┘ + Press to pause. + diff --git a/src/tests/cases/snapshots/ui__layout_under_70_width_under_30_height-2.snap b/src/tests/cases/snapshots/ui__layout_under_70_width_under_30_height-2.snap new file mode 100644 index 0000000..80c4cb2 --- /dev/null +++ b/src/tests/cases/snapshots/ui__layout_under_70_width_under_30_height-2.snap @@ -0,0 +1,34 @@ +--- +source: src/tests/cases/ui.rs +expression: "&terminal_draw_events_mirror[1]" +--- + 98Bps + + + + 5 1 0Bps / 28Bps + 4 1 0Bps / 26Bps + 1 1 0Bps / 22Bps + 2 1 0Bps / 21Bps + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/tests/cases/snapshots/ui__layout_under_70_width_under_30_height.snap b/src/tests/cases/snapshots/ui__layout_under_70_width_under_30_height.snap new file mode 100644 index 0000000..281674a --- /dev/null +++ b/src/tests/cases/snapshots/ui__layout_under_70_width_under_30_height.snap @@ -0,0 +1,34 @@ +--- +source: src/tests/cases/ui.rs +expression: "&terminal_draw_events_mirror[0]" +--- + Total Up / Down: 0Bps / 0Bps +┌Utilization by process name────────────────────────────────────────┐ +│Process Connections Up / Down │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +└───────────────────────────────────────────────────────────────────┘ + Press to pause. Use to rearrange tables. + diff --git a/src/tests/cases/snapshots/ui__multiple_connections_from_remote_address.snap b/src/tests/cases/snapshots/ui__multiple_connections_from_remote_address.snap index 7f3863a..d60e597 100644 --- a/src/tests/cases/snapshots/ui__multiple_connections_from_remote_address.snap +++ b/src/tests/cases/snapshots/ui__multiple_connections_from_remote_address.snap @@ -51,5 +51,5 @@ expression: "&terminal_draw_events_mirror[0]" │ │ │ │ └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Press to pause (DNS queries hidden). + Press to pause. Use to rearrange tables. (DNS queries hidden). diff --git a/src/tests/cases/snapshots/ui__multiple_packets_of_traffic_from_different_connections.snap b/src/tests/cases/snapshots/ui__multiple_packets_of_traffic_from_different_connections.snap index 7f3863a..d60e597 100644 --- a/src/tests/cases/snapshots/ui__multiple_packets_of_traffic_from_different_connections.snap +++ b/src/tests/cases/snapshots/ui__multiple_packets_of_traffic_from_different_connections.snap @@ -51,5 +51,5 @@ expression: "&terminal_draw_events_mirror[0]" │ │ │ │ └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Press to pause (DNS queries hidden). + Press to pause. Use to rearrange tables. (DNS queries hidden). diff --git a/src/tests/cases/snapshots/ui__multiple_packets_of_traffic_from_single_connection.snap b/src/tests/cases/snapshots/ui__multiple_packets_of_traffic_from_single_connection.snap index 7f3863a..d60e597 100644 --- a/src/tests/cases/snapshots/ui__multiple_packets_of_traffic_from_single_connection.snap +++ b/src/tests/cases/snapshots/ui__multiple_packets_of_traffic_from_single_connection.snap @@ -51,5 +51,5 @@ expression: "&terminal_draw_events_mirror[0]" │ │ │ │ └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Press to pause (DNS queries hidden). + Press to pause. Use to rearrange tables. (DNS queries hidden). diff --git a/src/tests/cases/snapshots/ui__multiple_processes_with_multiple_connections.snap b/src/tests/cases/snapshots/ui__multiple_processes_with_multiple_connections.snap index 7f3863a..d60e597 100644 --- a/src/tests/cases/snapshots/ui__multiple_processes_with_multiple_connections.snap +++ b/src/tests/cases/snapshots/ui__multiple_processes_with_multiple_connections.snap @@ -51,5 +51,5 @@ expression: "&terminal_draw_events_mirror[0]" │ │ │ │ └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Press to pause (DNS queries hidden). + Press to pause. Use to rearrange tables. (DNS queries hidden). diff --git a/src/tests/cases/snapshots/ui__one_packet_of_traffic.snap b/src/tests/cases/snapshots/ui__one_packet_of_traffic.snap index 7f3863a..d60e597 100644 --- a/src/tests/cases/snapshots/ui__one_packet_of_traffic.snap +++ b/src/tests/cases/snapshots/ui__one_packet_of_traffic.snap @@ -51,5 +51,5 @@ expression: "&terminal_draw_events_mirror[0]" │ │ │ │ └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Press to pause (DNS queries hidden). + Press to pause. Use to rearrange tables. (DNS queries hidden). diff --git a/src/tests/cases/snapshots/ui__one_process_with_multiple_connections.snap b/src/tests/cases/snapshots/ui__one_process_with_multiple_connections.snap index 7f3863a..d60e597 100644 --- a/src/tests/cases/snapshots/ui__one_process_with_multiple_connections.snap +++ b/src/tests/cases/snapshots/ui__one_process_with_multiple_connections.snap @@ -51,5 +51,5 @@ expression: "&terminal_draw_events_mirror[0]" │ │ │ │ └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Press to pause (DNS queries hidden). + Press to pause. Use to rearrange tables. (DNS queries hidden). diff --git a/src/tests/cases/snapshots/ui__pause_by_space-2.snap b/src/tests/cases/snapshots/ui__pause_by_space-2.snap index dd0bd1e..8481168 100644 --- a/src/tests/cases/snapshots/ui__pause_by_space-2.snap +++ b/src/tests/cases/snapshots/ui__pause_by_space-2.snap @@ -51,5 +51,5 @@ expression: "&terminal_draw_events_mirror[1]" - resume (DNS queries hi den). + resume. Use to rea range tables. (DNS queries hi den). diff --git a/src/tests/cases/snapshots/ui__pause_by_space.snap b/src/tests/cases/snapshots/ui__pause_by_space.snap index 7f3863a..d60e597 100644 --- a/src/tests/cases/snapshots/ui__pause_by_space.snap +++ b/src/tests/cases/snapshots/ui__pause_by_space.snap @@ -51,5 +51,5 @@ expression: "&terminal_draw_events_mirror[0]" │ │ │ │ └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Press to pause (DNS queries hidden). + Press to pause. Use to rearrange tables. (DNS queries hidden). diff --git a/src/tests/cases/snapshots/ui__rearranged_by_tab-2.snap b/src/tests/cases/snapshots/ui__rearranged_by_tab-2.snap new file mode 100644 index 0000000..aa12cc8 --- /dev/null +++ b/src/tests/cases/snapshots/ui__rearranged_by_tab-2.snap @@ -0,0 +1,55 @@ +--- +source: src/tests/cases/ui.rs +expression: "&terminal_draw_events_mirror[1]" +--- + 22Bps + + + + 1 1 0Bps / 22Bps 1.1.1.1 1 0Bps / 22Bps + + + + + + + + + + + + + + + + + + + + + + + + :443 => 1.1.1.1:12345 (tcp) 1 0Bps / 22Bps + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/tests/cases/snapshots/ui__rearranged_by_tab-3.snap b/src/tests/cases/snapshots/ui__rearranged_by_tab-3.snap new file mode 100644 index 0000000..7f7797f --- /dev/null +++ b/src/tests/cases/snapshots/ui__rearranged_by_tab-3.snap @@ -0,0 +1,55 @@ +--- +source: src/tests/cases/ui.rs +expression: "&terminal_draw_events_mirror[2]" +--- + + remote addr ss connection──── + Remote Address Connections Up / Down Connection Proc ss + + .1.1.1 1 0Bps / 22Bps