diff options
| author | Aram Drevekenin <aram@poor.dev> | 2026-06-29 18:10:59 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-06-29 18:10:59 +0200 |
| commit | 245f5141c9bb7eb91f003efac4defc94470243fd (patch) | |
| tree | 52ae6d003366f97e41c8a1450602aef63c8fdca2 /zellij-integration-tests/tests | |
| parent | feat: reload config on theme change (#5135) (diff) | |
| download | sl0ppij-245f5141c9bb7eb91f003efac4defc94470243fd.tar.gz sl0ppij-245f5141c9bb7eb91f003efac4defc94470243fd.tar.xz sl0ppij-245f5141c9bb7eb91f003efac4defc94470243fd.zip | |
Title frames (#5318)
* initial implementation
* improve single line title design
* hint text plugin infra
* add proto regen task
* display alt text in status bar
* don't display text with full frames
* style alt hover text
* fix + style control own pane hover
* make multiplayer indications responsive
* update snapshots
* plugin api
* single pane as tab
* better scroll styling
* fix tests
* tab-bar plus hover
* plugin surface tests
* integration tests
* adjust all integration tests
* reduce hover noise
* add pane id to in place
* more integration tests
* style: rustfmt
* update plugin assets
* update assets and snapshots
* add pr
Diffstat (limited to 'zellij-integration-tests/tests')
133 files changed, 2431 insertions, 2446 deletions
diff --git a/zellij-integration-tests/tests/app.rs b/zellij-integration-tests/tests/app.rs index 74ed11e4..45e57512 100644 --- a/zellij-integration-tests/tests/app.rs +++ b/zellij-integration-tests/tests/app.rs @@ -54,7 +54,7 @@ fn resize_terminal_window() { zellij.wait_until("app re-rendered at the new window size", |grid_snapshot| { grid_snapshot.contains("Ctrl +") && grid_snapshot.tab_bar_appears() - && grid_snapshot.cursor_is_at(col(53).row(2)) + && grid_snapshot.cursor_is_at(col(52).row(2)) }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); @@ -70,7 +70,7 @@ fn status_bar_loads_custom_keybindings() { let grid_snapshot = zellij.wait_until( "status bar reflects the custom keybindings", - |grid_snapshot| grid_snapshot.cursor_is_at(col(3).row(2)) && grid_snapshot.contains("LOCK"), + |grid_snapshot| grid_snapshot.cursor_is_at(col(2).row(1)) && grid_snapshot.contains("LOCK"), ); assert_snapshot!(normalized(&grid_snapshot)); } @@ -91,6 +91,7 @@ fn use_custom_layout_with_relative_path() { let grid_snapshot = zellij.wait_until("upside-down layout loaded from disk", |grid_snapshot| { grid_snapshot.tab_bar_appears() + && grid_snapshot.status_bar_appears() && grid_snapshot.contains("Zellij (test") && grid_snapshot.cursor.is_some() }); diff --git a/zellij-integration-tests/tests/basic.rs b/zellij-integration-tests/tests/basic.rs index e72cd1c6..1ed5b46a 100644 --- a/zellij-integration-tests/tests/basic.rs +++ b/zellij-integration-tests/tests/basic.rs @@ -23,7 +23,7 @@ fn starts_with_one_terminal() { let grid_snapshot = zellij.wait_until("steady loaded state", |grid_snapshot| { grid_snapshot.tab_bar_appears() && grid_snapshot.status_bar_appears() - && grid_snapshot.cursor_is_at(col(3).row(2)) + && grid_snapshot.cursor_is_at(col(2).row(1)) }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); @@ -35,7 +35,7 @@ fn split_terminals_vertically() { claim_first_terminal_and_wait_for_prompt(&zellij); split_right_and_wait_for_prompt(&zellij); let grid_snapshot = zellij.wait_until("split rendered in normal mode", |grid_snapshot| { - grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(63).row(2)) + grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(62).row(2)) }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); @@ -58,7 +58,7 @@ fn resize_pane() { let cursor_shift_left = (resized_cols.saturating_sub(initial_cols)) as usize; let grid_snapshot = zellij.wait_until("resized layout in normal mode", |grid_snapshot| { grid_snapshot.status_bar_appears() - && grid_snapshot.cursor_is_at(col(63 - cursor_shift_left).row(2)) + && grid_snapshot.cursor_is_at(col(62 - cursor_shift_left).row(2)) }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); @@ -79,7 +79,7 @@ fn command_pane_closes_on_exit() { zellij.wait_until( "right terminal closed, focus back on first", |grid_snapshot| { - !grid_snapshot.contains("about to exit") && grid_snapshot.cursor_is_at(col(3).row(2)) + !grid_snapshot.contains("about to exit") && grid_snapshot.cursor_is_at(col(2).row(1)) }, ); zellij.quit(); diff --git a/zellij-integration-tests/tests/cli.rs b/zellij-integration-tests/tests/cli.rs index 75c3ce4a..3460994e 100644 --- a/zellij-integration-tests/tests/cli.rs +++ b/zellij-integration-tests/tests/cli.rs @@ -75,7 +75,7 @@ fn send_blocking_command_through_the_cli() { assert_eq!(blocking_command.wait_for_exit(), 42); let grid_snapshot = zellij.wait_until("floating pane closed on exit", |grid_snapshot| { - !grid_snapshot.contains("PIN") && grid_snapshot.cursor_is_at(col(3).row(2)) + !grid_snapshot.contains("PIN") && grid_snapshot.cursor_is_at(col(2).row(1)) }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); @@ -100,7 +100,7 @@ fn watcher_client_functionality() { let right_terminal = zellij.expect_pty_spawn(); right_terminal.output(PROMPT); watcher.wait_until("watcher sees the split", |grid_snapshot| { - grid_snapshot.contains("┐┌") + grid_snapshot.contains("│") }); let ignored_new_tab_from_watcher = [keys::ctrl('t'), keys::key('n')].concat(); @@ -112,7 +112,7 @@ fn watcher_client_functionality() { "watcher keeps receiving output while no main client is attached", |grid_snapshot| { grid_snapshot.contains("WATCHER_DONE") - && grid_snapshot.contains("┐┌") + && grid_snapshot.contains("│") && !grid_snapshot.contains("Tab #2") }, ); @@ -123,7 +123,7 @@ fn watcher_client_functionality() { |grid_snapshot| { grid_snapshot.status_bar_appears() && grid_snapshot.contains("WATCHER_DONE") - && grid_snapshot.contains("┐┌") + && grid_snapshot.contains("│") }, ); assert_snapshot!(normalized(&main_snapshot)); @@ -132,7 +132,7 @@ fn watcher_client_functionality() { watcher.wait_until("watcher mirrors the re-attached session", |grid_snapshot| { grid_snapshot.status_bar_appears() && grid_snapshot.contains("WATCHER_DONE") - && grid_snapshot.contains("┐┌") + && grid_snapshot.contains("│") && !grid_snapshot.contains("Tab #2") }); assert_snapshot!(normalized(&watcher_snapshot)); diff --git a/zellij-integration-tests/tests/clients.rs b/zellij-integration-tests/tests/clients.rs index 669e5aa3..06996b5b 100644 --- a/zellij-integration-tests/tests/clients.rs +++ b/zellij-integration-tests/tests/clients.rs @@ -21,7 +21,7 @@ fn mirrored_sessions() { second_client.wait_until("second client loaded on the first tab", |grid_snapshot| { grid_snapshot.tab_bar_appears() && grid_snapshot.status_bar_appears() - && grid_snapshot.cursor_is_at(col(3).row(2)) + && grid_snapshot.cursor_is_at(col(2).row(1)) }); second_client.send_stdin(&keys::ctrl('p')); @@ -34,7 +34,7 @@ fn mirrored_sessions() { && session_name_rendered(grid_snapshot) && grid_snapshot.status_bar_appears() && grid_snapshot.contains("Pane #2") - && grid_snapshot.cursor_is_at(col(63).row(2)) + && grid_snapshot.cursor_is_at(col(62).row(2)) }; let main_grid = zellij.wait_until( "main client follows the second client's focus into the split it never asked for", @@ -56,8 +56,16 @@ fn mirrored_sessions() { #[test] fn multiple_users_in_same_pane_and_tab() { - let mut zellij = start_zellij(); - claim_first_terminal_and_wait_for_prompt(&zellij); + let mut zellij = TestRunner::new(TERMINAL_SIZE) + .with_config("pane_frame_style \"full\"") + .start(); + let terminal = zellij.expect_pty_spawn(); + terminal.output(PROMPT); + zellij.wait_until("first terminal prompt rendered", |grid_snapshot| { + grid_snapshot.tab_bar_appears() + && grid_snapshot.status_bar_appears() + && grid_snapshot.contains("$ ") + }); let second_client = zellij.attach_client(TERMINAL_SIZE); let second_grid = @@ -91,7 +99,7 @@ fn multiple_users_in_different_panes_and_same_tab() { let second_client = zellij.attach_client(TERMINAL_SIZE); second_client.wait_until("second client loaded on the first tab", |grid_snapshot| { - grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(3).row(2)) + grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(2).row(1)) }); second_client.send_stdin(&keys::ctrl('p')); @@ -105,7 +113,7 @@ fn multiple_users_in_different_panes_and_same_tab() { grid_snapshot.tab_bar_appears() && session_name_rendered(grid_snapshot) && grid_snapshot.status_bar_appears() - && grid_snapshot.cursor_is_at(col(63).row(2)) + && grid_snapshot.cursor_is_at(col(62).row(2)) }, ); let main_grid = zellij.wait_until( @@ -115,7 +123,7 @@ fn multiple_users_in_different_panes_and_same_tab() { && session_name_rendered(grid_snapshot) && grid_snapshot.contains("Pane #2") && grid_snapshot.status_bar_appears() - && grid_snapshot.cursor_is_at(col(3).row(2)) + && grid_snapshot.cursor_is_at(col(2).row(2)) }, ); assert_snapshot!(normalized(&main_grid)); @@ -131,7 +139,7 @@ fn multiple_users_in_different_tabs() { let second_client = zellij.attach_client(TERMINAL_SIZE); second_client.wait_until("second client loaded on the first tab", |grid_snapshot| { - grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(3).row(2)) + grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(2).row(1)) }); second_client.send_stdin(&keys::ctrl('t')); @@ -145,7 +153,7 @@ fn multiple_users_in_different_tabs() { && session_name_rendered(grid_snapshot) && grid_snapshot.status_bar_appears() && grid_snapshot.contains("Tab #2") - && grid_snapshot.cursor_is_at(col(3).row(2)) + && grid_snapshot.cursor_is_at(col(2).row(1)) }); let main_grid = zellij.wait_until( "main client sees the new tab while staying on the first tab", @@ -154,7 +162,7 @@ fn multiple_users_in_different_tabs() { && session_name_rendered(grid_snapshot) && grid_snapshot.status_bar_appears() && grid_snapshot.contains("Tab #2") - && grid_snapshot.cursor_is_at(col(3).row(2)) + && grid_snapshot.cursor_is_at(col(2).row(1)) }, ); assert_snapshot!(normalized(&main_grid)); @@ -173,7 +181,7 @@ fn detach_and_attach_session() { let right_terminal = zellij.expect_pty_spawn(); right_terminal.output(PROMPT); zellij.wait_until("right terminal prompt rendered", |grid_snapshot| { - grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(63).row(2)) + grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(62).row(2)) }); right_terminal.output(b"I am some text"); diff --git a/zellij-integration-tests/tests/misc.rs b/zellij-integration-tests/tests/misc.rs index 83a02878..3bd14624 100644 --- a/zellij-integration-tests/tests/misc.rs +++ b/zellij-integration-tests/tests/misc.rs @@ -48,7 +48,7 @@ fn focus_next_pane_via_tmux_mode() { zellij.send_stdin(&keys::ENTER); let grid_snapshot = zellij.wait_until("focus cycled to the other pane", |grid_snapshot| { - grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(3).row(2)) + grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(2).row(2)) }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); diff --git a/zellij-integration-tests/tests/modes.rs b/zellij-integration-tests/tests/modes.rs index 0fc093be..c2f61d67 100644 --- a/zellij-integration-tests/tests/modes.rs +++ b/zellij-integration-tests/tests/modes.rs @@ -138,7 +138,7 @@ fn return_to_normal_mode() { zellij.send_stdin(&keys::ENTER); let grid_snapshot = zellij.wait_until("returned to normal mode", |grid_snapshot| { - grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(3).row(2)) + grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(2).row(1)) }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); @@ -187,7 +187,7 @@ fn tmux_mode() { right_terminal.output(PROMPT); let grid_snapshot = zellij.wait_until("right terminal opened via tmux mode", |grid_snapshot| { - grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(63).row(2)) + grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(62).row(2)) }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); @@ -226,14 +226,14 @@ fn scrolling_inside_a_pane() { let right_terminal = zellij.expect_pty_spawn(); right_terminal.output(PROMPT); zellij.wait_until("right terminal prompt rendered", |grid_snapshot| { - grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(63).row(2)) + grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(62).row(2)) }); - for line in 1..=21 { + for line in 1..=22 { right_terminal.output(format!("line{}\r\n", line).as_bytes()); } zellij.wait_until("right terminal filled past its viewport", |grid_snapshot| { - grid_snapshot.contains("line21") + grid_snapshot.contains("line22") }); zellij.send_stdin(&keys::ctrl('s')); @@ -242,7 +242,7 @@ fn scrolling_inside_a_pane() { let grid_snapshot = zellij.wait_until("scrolled up one line inside the pane", |grid_snapshot| { - grid_snapshot.contains("SCROLL: 2/2") && grid_snapshot.contains("PgDn|PgUp") + grid_snapshot.contains("SCROLL: 2/2") && grid_snapshot.contains("PgDn|PgUp") }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); diff --git a/zellij-integration-tests/tests/mouse.rs b/zellij-integration-tests/tests/mouse.rs index e4aa038c..4d134723 100644 --- a/zellij-integration-tests/tests/mouse.rs +++ b/zellij-integration-tests/tests/mouse.rs @@ -24,7 +24,7 @@ fn focus_pane_with_mouse() { zellij.send_stdin(&sgr_mouse_report(2, 5, 0)); let grid_snapshot = zellij.wait_until("focus moved back to the left pane", |grid_snapshot| { - grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(3).row(2)) + grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(2).row(2)) }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); @@ -78,7 +78,7 @@ fn pin_floating_panes() { |grid_snapshot| { grid_snapshot.status_bar_appears() && grid_snapshot.contains("PIN [+]") - && grid_snapshot.cursor_is_at(col(3).row(2)) + && grid_snapshot.cursor_is_at(col(2).row(1)) }, ); diff --git a/zellij-integration-tests/tests/panes.rs b/zellij-integration-tests/tests/panes.rs index 9defe5f2..61c3cd5a 100644 --- a/zellij-integration-tests/tests/panes.rs +++ b/zellij-integration-tests/tests/panes.rs @@ -13,7 +13,7 @@ fn cannot_split_terminals_vertically_when_active_terminal_is_too_small() { let terminal = zellij.expect_pty_spawn(); terminal.output(PROMPT); zellij.wait_until("first terminal prompt rendered", |grid_snapshot| { - grid_snapshot.cursor_is_at(col(3).row(2)) + grid_snapshot.cursor_is_at(col(2).row(1)) }); let (width_before_split, _) = terminal.wait_for_size("first terminal sized", |_, _| true); @@ -50,7 +50,7 @@ fn key_after_mode_switch_is_interpreted_in_new_mode_not_leaked_to_pane() { let second_terminal = zellij.expect_pty_spawn(); second_terminal.output(PROMPT); zellij.wait_until("split-right interpreted in pane mode", |grid_snapshot| { - grid_snapshot.cursor_is_at(col(63).row(2)) + grid_snapshot.cursor_is_at(col(62).row(2)) }); assert!(!first_terminal.stdin_bytes().contains(&keys::key('r')[0])); @@ -67,7 +67,7 @@ fn toggle_pane_fullscreen() { zellij.send_stdin(&keys::key('f')); let grid_snapshot = zellij.wait_until("focused pane is fullscreen", |grid_snapshot| { - grid_snapshot.cursor_is_at(col(3).row(2)) + grid_snapshot.cursor_is_at(col(2).row(2)) && grid_snapshot.contains("LOCK") && grid_snapshot.contains("(FULLSCREEN)") }); @@ -86,7 +86,7 @@ fn close_pane() { let grid_snapshot = zellij.wait_until("right pane closed, focus back on first", |grid_snapshot| { - grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(3).row(2)) + grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(2).row(1)) }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); @@ -116,7 +116,7 @@ fn pane_closes_when_its_process_exits() { let grid_snapshot = zellij.wait_until("right pane closed, focus back on first", |grid_snapshot| { - grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(3).row(2)) + grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(2).row(1)) }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); @@ -145,6 +145,7 @@ fn toggle_floating_panes() { fn undo_rename_pane() { let mut zellij = start_zellij(); claim_first_terminal_and_wait_for_prompt(&zellij); + split_right_and_wait_for_prompt(&zellij); zellij.send_stdin(&keys::ctrl('p')); zellij.send_stdin(&keys::key('c')); @@ -153,7 +154,9 @@ fn undo_rename_pane() { zellij.send_stdin(&keys::ESC); let grid_snapshot = zellij.wait_until("pane name reverted to default", |grid_snapshot| { - grid_snapshot.contains("Pane #1") && grid_snapshot.contains("LOCK") + grid_snapshot.contains("Pane #2") + && !grid_snapshot.contains("aa") + && grid_snapshot.contains("LOCK") }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); @@ -200,7 +203,7 @@ fn move_focus_up_in_pane_mode() { zellij.send_stdin(&keys::ENTER); let grid_snapshot = zellij.wait_until("focus moved to the upper pane", |grid_snapshot| { - grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(3).row(2)) + grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(2).row(2)) }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); @@ -215,14 +218,14 @@ fn move_focus_down_in_pane_mode() { zellij.send_stdin(&keys::ctrl('p')); zellij.send_stdin(&keys::key('k')); zellij.wait_until("focus moved to the upper pane", |grid_snapshot| { - grid_snapshot.cursor_is_at(col(3).row(2)) + grid_snapshot.cursor_is_at(col(2).row(2)) }); zellij.send_stdin(&keys::key('j')); zellij.send_stdin(&keys::ENTER); let grid_snapshot = zellij.wait_until("focus moved back to the lower pane", |grid_snapshot| { - grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(3).row(13)) + grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(2).row(13)) }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); @@ -368,7 +371,7 @@ fn move_focus_or_tab_moves_focus_between_panes() { zellij.send_stdin(&keys::alt('h')); let grid_snapshot = zellij.wait_until("focus moved to the left pane", |grid_snapshot| { - grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(3).row(2)) + grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(2).row(2)) }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); @@ -408,7 +411,7 @@ fn new_pane_in_pane_mode() { zellij.send_stdin(&keys::ctrl('p')); zellij.send_stdin(&keys::key('n')); - let grid_snapshot = spawn_second_pane_and_wait_for_grid(&zellij, col(63).row(2)); + let grid_snapshot = spawn_second_pane_and_wait_for_grid(&zellij, col(62).row(2)); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); } @@ -419,7 +422,7 @@ fn new_pane_in_normal_mode() { claim_first_terminal_and_wait_for_prompt(&zellij); zellij.send_stdin(&keys::alt('n')); - let grid_snapshot = spawn_second_pane_and_wait_for_grid(&zellij, col(63).row(2)); + let grid_snapshot = spawn_second_pane_and_wait_for_grid(&zellij, col(62).row(2)); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); } @@ -431,7 +434,7 @@ fn split_pane_downward() { zellij.send_stdin(&keys::ctrl('p')); zellij.send_stdin(&keys::key('d')); - let grid_snapshot = spawn_second_pane_and_wait_for_grid(&zellij, col(3).row(13)); + let grid_snapshot = spawn_second_pane_and_wait_for_grid(&zellij, col(2).row(13)); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); } @@ -443,7 +446,7 @@ fn new_stacked_pane() { zellij.send_stdin(&keys::ctrl('p')); zellij.send_stdin(&keys::key('s')); - let grid_snapshot = spawn_second_pane_and_wait_for_grid(&zellij, col(3).row(3)); + let grid_snapshot = spawn_second_pane_and_wait_for_grid(&zellij, col(2).row(3)); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); } @@ -459,7 +462,7 @@ fn move_focus_left_in_pane_mode() { zellij.send_stdin(&keys::ENTER); let grid_snapshot = zellij.wait_until("focus moved to the left pane", |grid_snapshot| { - grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(3).row(2)) + grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(2).row(2)) }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); @@ -474,14 +477,14 @@ fn move_focus_right_in_pane_mode() { zellij.send_stdin(&keys::ctrl('p')); zellij.send_stdin(&keys::key('h')); zellij.wait_until("focus moved to the left pane", |grid_snapshot| { - grid_snapshot.cursor_is_at(col(3).row(2)) + grid_snapshot.cursor_is_at(col(2).row(2)) }); zellij.send_stdin(&keys::key('l')); zellij.send_stdin(&keys::ENTER); let grid_snapshot = zellij.wait_until("focus moved back to the right pane", |grid_snapshot| { - grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(63).row(2)) + grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(62).row(2)) }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); @@ -498,27 +501,147 @@ fn switch_focus_in_pane_mode() { zellij.send_stdin(&keys::ENTER); let grid_snapshot = zellij.wait_until("focus switched to the other pane", |grid_snapshot| { - grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(3).row(2)) + grid_snapshot.status_bar_appears() && grid_snapshot.cursor_is_at(col(2).row(2)) }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); } +fn cycle_pane_frames(zellij: &TestSession) { + zellij.send_stdin(&keys::ctrl('p')); + zellij.send_stdin(&keys::key('z')); +} + #[test] fn toggle_pane_frames() { let mut zellij = start_zellij(); claim_first_terminal_and_wait_for_prompt(&zellij); split_right_and_wait_for_prompt(&zellij); - zellij.send_stdin(&keys::ctrl('p')); - zellij.send_stdin(&keys::key('z')); + zellij.wait_until("tiled panes start in titles mode", |grid_snapshot| { + grid_snapshot.contains("Pane #1") + && grid_snapshot.contains("Pane #2") + && !grid_snapshot.contains("┌") + }); - let grid_snapshot = zellij.wait_until("pane frames removed from both panes", |grid_snapshot| { + cycle_pane_frames(&zellij); + zellij.wait_until("titles cycle to frameless", |grid_snapshot| { grid_snapshot.status_bar_appears() && !grid_snapshot.contains("Pane #1") && !grid_snapshot.contains("Pane #2") + && !grid_snapshot.contains("┌") && grid_snapshot.cursor_is_at(col(62).row(1)) }); + + cycle_pane_frames(&zellij); + zellij.wait_until("frameless cycles to full frames", |grid_snapshot| { + grid_snapshot.contains("┌") + && grid_snapshot.contains("Pane #1") + && grid_snapshot.contains("Pane #2") + }); + + cycle_pane_frames(&zellij); + let grid_snapshot = zellij.wait_until("full frames cycle back to titles", |grid_snapshot| { + grid_snapshot.status_bar_appears() + && grid_snapshot.contains("Pane #1") + && grid_snapshot.contains("Pane #2") + && !grid_snapshot.contains("┌") + }); + assert_snapshot!(normalized(&grid_snapshot)); + zellij.quit(); +} + +#[test] +fn toggle_frames_with_single_pane() { + let mut zellij = start_zellij(); + claim_first_terminal_and_wait_for_prompt(&zellij); + + zellij.wait_until( + "lone pane in titles mode omits its title", + |grid_snapshot| { + grid_snapshot.status_bar_appears() + && !grid_snapshot.contains("Pane #1") + && !grid_snapshot.contains("┌") + }, + ); + + cycle_pane_frames(&zellij); + zellij.wait_until("lone frameless pane stays untitled", |grid_snapshot| { + grid_snapshot.status_bar_appears() + && !grid_snapshot.contains("Pane #1") + && !grid_snapshot.contains("┌") + }); + + cycle_pane_frames(&zellij); + let grid_snapshot = + zellij.wait_until("lone pane gains a full frame and title", |grid_snapshot| { + grid_snapshot.status_bar_appears() + && grid_snapshot.contains("┌") + && grid_snapshot.contains("Pane #1") + }); + assert_snapshot!(normalized(&grid_snapshot)); + zellij.quit(); +} + +#[test] +fn toggle_frames_with_floating_pane() { + let mut zellij = start_zellij(); + claim_first_terminal_and_wait_for_prompt(&zellij); + + zellij.send_stdin(&keys::ctrl('p')); + zellij.send_stdin(&keys::key('w')); + let floating_terminal = zellij.expect_pty_spawn(); + floating_terminal.output(PROMPT); + zellij.wait_until("floating pane appeared with a frame", |grid_snapshot| { + grid_snapshot.contains("STAGGERED") && grid_snapshot.contains("┌") + }); + + cycle_pane_frames(&zellij); + zellij.wait_until( + "floating pane keeps its frame in frameless mode", + |grid_snapshot| grid_snapshot.status_bar_appears() && grid_snapshot.contains("┌"), + ); + + cycle_pane_frames(&zellij); + let grid_snapshot = zellij.wait_until( + "floating pane keeps its frame in full mode", + |grid_snapshot| { + grid_snapshot.status_bar_appears() + && grid_snapshot.contains("┌") + && grid_snapshot.contains("Pane #1") + }, + ); + assert_snapshot!(normalized(&grid_snapshot)); + zellij.quit(); +} + +#[test] +fn toggle_frames_with_stacked_panes() { + let mut zellij = start_zellij(); + claim_first_terminal_and_wait_for_prompt(&zellij); + + zellij.send_stdin(&keys::ctrl('p')); + zellij.send_stdin(&keys::key('s')); + spawn_second_pane_and_wait_for_grid(&zellij, col(2).row(3)); + + zellij.wait_until("stacked panes show their titles", |grid_snapshot| { + grid_snapshot.contains("Pane #1") + && grid_snapshot.contains("Pane #2") + && !grid_snapshot.contains("┌") + }); + + cycle_pane_frames(&zellij); + zellij.wait_until("stacked panes cycle to frameless", |grid_snapshot| { + grid_snapshot.status_bar_appears() && !grid_snapshot.contains("┌") + }); + + cycle_pane_frames(&zellij); + let grid_snapshot = zellij.wait_until("stacked panes cycle to full frames", |grid_snapshot| { + grid_snapshot.status_bar_appears() + && grid_snapshot.contains("┌") + && grid_snapshot.contains("Pane #1") + && grid_snapshot.contains("Pane #2") + }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); } diff --git a/zellij-integration-tests/tests/resize.rs b/zellij-integration-tests/tests/resize.rs index bf1263c3..ba9fae4b 100644 --- a/zellij-integration-tests/tests/resize.rs +++ b/zellij-integration-tests/tests/resize.rs @@ -11,7 +11,7 @@ fn focus_left_pane(zellij: &TestSession) { zellij.send_stdin(&keys::ctrl('p')); zellij.send_stdin(&keys::key('h')); zellij.wait_until("focus moved to the left pane", |grid_snapshot| { - grid_snapshot.cursor_is_at(col(3).row(2)) + grid_snapshot.cursor_is_at(col(2).row(2)) }); } @@ -19,7 +19,7 @@ fn focus_upper_pane(zellij: &TestSession) { zellij.send_stdin(&keys::ctrl('p')); zellij.send_stdin(&keys::key('k')); zellij.wait_until("focus moved to the upper pane", |grid_snapshot| { - grid_snapshot.cursor_is_at(col(3).row(2)) + grid_snapshot.cursor_is_at(col(2).row(2)) }); } diff --git a/zellij-integration-tests/tests/resurrection.rs b/zellij-integration-tests/tests/resurrection.rs index 7f6a10b0..63ed1626 100644 --- a/zellij-integration-tests/tests/resurrection.rs +++ b/zellij-integration-tests/tests/resurrection.rs @@ -50,7 +50,7 @@ fn quit_and_resurrect_session() { let new_pane = zellij.expect_pty_spawn(); new_pane.output(PROMPT); zellij.wait_until("new pane opened before serialization", |grid_snapshot| { - grid_snapshot.contains("┐┌") + grid_snapshot.contains("│") }); zellij.save_session(); @@ -64,7 +64,7 @@ fn quit_and_resurrect_session() { grid_snapshot.contains("Zellij (test") && grid_snapshot.contains("alpha") && grid_snapshot.contains("beta") - && grid_snapshot.contains("┐┌") + && grid_snapshot.contains("│") && grid_snapshot.status_bar_appears() }, ); diff --git a/zellij-integration-tests/tests/scroll.rs b/zellij-integration-tests/tests/scroll.rs index 35316957..1a88b84a 100644 --- a/zellij-integration-tests/tests/scroll.rs +++ b/zellij-integration-tests/tests/scroll.rs @@ -28,7 +28,9 @@ fn page_scroll_up() { zellij.send_stdin(&keys::ctrl('b')); let grid_snapshot = zellij.wait_until("scrolled up by a page", |grid_snapshot| { - grid_snapshot.contains("PgDn|PgUp") && !grid_snapshot.contains(LAST_LINE) + grid_snapshot.contains("PgDn|PgUp") + && !grid_snapshot.contains(LAST_LINE) + && grid_snapshot.contains("SCROLL 19/") }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); @@ -47,9 +49,11 @@ fn page_scroll_down() { zellij.send_stdin(&keys::ctrl('f')); - let grid_snapshot = zellij - .wait_until("scrolled back down toward the bottom", |grid_snapshot| { - grid_snapshot.contains("line39") && grid_snapshot.contains("PgDn|PgUp") + let grid_snapshot = + zellij.wait_until("scrolled back down toward the bottom", |grid_snapshot| { + grid_snapshot.contains("line39") + && grid_snapshot.contains("PgDn|PgUp") + && grid_snapshot.contains("SCROLL 0/") }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); @@ -64,7 +68,9 @@ fn half_page_scroll_up() { zellij.send_stdin(&keys::key('u')); let grid_snapshot = zellij.wait_until("scrolled up by half a page", |grid_snapshot| { - grid_snapshot.contains("PgDn|PgUp") && !grid_snapshot.contains(LAST_LINE) + grid_snapshot.contains("PgDn|PgUp") + && !grid_snapshot.contains(LAST_LINE) + && grid_snapshot.contains("SCROLL 10/") }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); @@ -83,9 +89,11 @@ fn half_page_scroll_down() { zellij.send_stdin(&keys::key('d')); - let grid_snapshot = zellij - .wait_until("scrolled back down toward the bottom", |grid_snapshot| { - grid_snapshot.contains("line39") && grid_snapshot.contains("PgDn|PgUp") + let grid_snapshot = + zellij.wait_until("scrolled back down toward the bottom", |grid_snapshot| { + grid_snapshot.contains("line39") + && grid_snapshot.contains("PgDn|PgUp") + && grid_snapshot.contains("SCROLL 0/") }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); @@ -100,13 +108,13 @@ fn scroll_down_one_line() { zellij.send_stdin(&keys::key('k')); zellij.send_stdin(&keys::key('k')); zellij.wait_until("scrolled up two lines", |grid_snapshot| { - grid_snapshot.contains("SCROLL: 2/") + grid_snapshot.contains("SCROLL 2/") }); zellij.send_stdin(&keys::key('j')); let grid_snapshot = zellij.wait_until("scrolled back down one line", |grid_snapshot| { - grid_snapshot.contains("SCROLL: 1/") && grid_snapshot.contains("PgDn|PgUp") + grid_snapshot.contains("SCROLL 1/") && grid_snapshot.contains("PgDn|PgUp") }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); @@ -125,9 +133,11 @@ fn scroll_to_bottom() { zellij.send_stdin(&keys::ctrl('c')); - let grid_snapshot = zellij - .wait_until("returned to the bottom in normal mode", |grid_snapshot| { - grid_snapshot.status_bar_appears() && grid_snapshot.contains(LAST_LINE) + let grid_snapshot = + zellij.wait_until("returned to the bottom in normal mode", |grid_snapshot| { + grid_snapshot.status_bar_appears() + && grid_snapshot.contains(LAST_LINE) + && grid_snapshot.contains("SCROLL 0/") }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); diff --git a/zellij-integration-tests/tests/search.rs b/zellij-integration-tests/tests/search.rs index c15fe76e..6c750b0b 100644 --- a/zellij-integration-tests/tests/search.rs +++ b/zellij-integration-tests/tests/search.rs @@ -3,9 +3,24 @@ use insta::assert_snapshot; use zellij_integration_tests::{ claim_first_terminal_and_wait_for_prompt, keys, normalized, start_zellij, FakePtyHandle, - TestSession, + TestRunner, TestSession, TERMINAL_SIZE, }; +fn start_zellij_with_full_frames() -> TestSession { + TestRunner::new(TERMINAL_SIZE) + .with_config("pane_frame_style \"full\"") + .start() +} + +fn enter_search_on_visible_match_with_full_frames(zellij: &TestSession) { + let terminal = zellij.expect_pty_spawn(); + terminal.output(b"NEEDLE on screen\r\n"); + zellij.wait_until("match visible on screen", |grid_snapshot| { + grid_snapshot.contains("NEEDLE on screen") + }); + enter_search_for_needle(zellij); +} + fn fill_pane_with_two_matches(zellij: &TestSession) -> FakePtyHandle { let terminal = claim_first_terminal_and_wait_for_prompt(zellij); for line in 1..=40 { @@ -38,15 +53,6 @@ fn enter_search_for_needle(zellij: &TestSession) { }); } -fn enter_search_on_visible_match(zellij: &TestSession) { - let terminal = claim_first_terminal_and_wait_for_prompt(zellij); - terminal.output(b"NEEDLE on screen\r\n"); - zellij.wait_until("match visible on screen", |grid_snapshot| { - grid_snapshot.contains("NEEDLE on screen") - }); - enter_search_for_needle(zellij); -} - #[test] fn search_input_jumps_to_a_match() { let mut zellij = start_zellij(); @@ -120,8 +126,8 @@ fn search_down_to_next_match() { #[test] fn search_toggle_case_sensitivity() { - let mut zellij = start_zellij(); - enter_search_on_visible_match(&zellij); + let mut zellij = start_zellij_with_full_frames(); + enter_search_on_visible_match_with_full_frames(&zellij); zellij.send_stdin(&keys::key('c')); @@ -134,8 +140,8 @@ fn search_toggle_case_sensitivity() { #[test] fn search_toggle_wrap() { - let mut zellij = start_zellij(); - enter_search_on_visible_match(&zellij); + let mut zellij = start_zellij_with_full_frames(); + enter_search_on_visible_match_with_full_frames(&zellij); zellij.send_stdin(&keys::key('w')); @@ -148,8 +154,8 @@ fn search_toggle_wrap() { #[test] fn search_toggle_whole_word() { - let mut zellij = start_zellij(); - enter_search_on_visible_match(&zellij); + let mut zellij = start_zellij_with_full_frames(); + enter_search_on_visible_match_with_full_frames(&zellij); zellij.send_stdin(&keys::key('o')); diff --git a/zellij-integration-tests/tests/set_pane_frame_style.rs b/zellij-integration-tests/tests/set_pane_frame_style.rs new file mode 100644 index 00000000..5b18f965 --- /dev/null +++ b/zellij-integration-tests/tests/set_pane_frame_style.rs @@ -0,0 +1,120 @@ +#![cfg(unix)] + +use zellij_integration_tests::{ + claim_first_terminal_and_wait_for_prompt, split_right_and_wait_for_prompt, start_zellij, Size, + TestRunner, +}; +use zellij_utils::cli::CliAction; +use zellij_utils::input::options::PaneFrameStyle; + +const FULL_FRAME_CORNER: &str = "┌"; + +fn ctrl_y() -> [u8; 1] { + [0x19] +} + +#[test] +fn set_pane_frame_style_through_the_cli() { + let mut zellij = start_zellij(); + claim_first_terminal_and_wait_for_prompt(&zellij); + + zellij.wait_until("lone titles pane has no frame", |grid_snapshot| { + grid_snapshot.status_bar_appears() && !grid_snapshot.contains(FULL_FRAME_CORNER) + }); + + let exit_code = zellij.run_cli_action(CliAction::SetPaneFrameStyle { + style: PaneFrameStyle::Full, + }); + assert_eq!(exit_code, 0, "set-pane-frame-style exited cleanly"); + + zellij.wait_until( + "full frames drawn after switching to full", + |grid_snapshot| { + grid_snapshot.contains(FULL_FRAME_CORNER) && grid_snapshot.contains("Pane #1") + }, + ); + + let exit_code = zellij.run_cli_action(CliAction::SetPaneFrameStyle { + style: PaneFrameStyle::Titles, + }); + assert_eq!(exit_code, 0, "set-pane-frame-style exited cleanly"); + + zellij.wait_until( + "frame removed after switching back to titles", + |grid_snapshot| { + grid_snapshot.status_bar_appears() + && !grid_snapshot.contains(FULL_FRAME_CORNER) + && !grid_snapshot.contains("Pane #1") + }, + ); + + zellij.quit(); +} + +#[test] +fn set_pane_frame_style_none_through_the_cli() { + let mut zellij = start_zellij(); + claim_first_terminal_and_wait_for_prompt(&zellij); + split_right_and_wait_for_prompt(&zellij); + + zellij.wait_until( + "two titled panes start without full frames", + |grid_snapshot| { + grid_snapshot.contains("Pane #1") + && grid_snapshot.contains("Pane #2") + && !grid_snapshot.contains(FULL_FRAME_CORNER) + }, + ); + + let exit_code = zellij.run_cli_action(CliAction::SetPaneFrameStyle { + style: PaneFrameStyle::None, + }); + assert_eq!(exit_code, 0, "set-pane-frame-style none exited cleanly"); + + zellij.wait_until( + "titles and frames both removed in none mode", + |grid_snapshot| { + grid_snapshot.status_bar_appears() + && !grid_snapshot.contains("Pane #1") + && !grid_snapshot.contains("Pane #2") + && !grid_snapshot.contains(FULL_FRAME_CORNER) + }, + ); + + let exit_code = zellij.run_cli_action(CliAction::SetPaneFrameStyle { + style: PaneFrameStyle::Titles, + }); + assert_eq!(exit_code, 0, "set-pane-frame-style titles exited cleanly"); + + zellij.wait_until("pane titles return in titles mode", |grid_snapshot| { + grid_snapshot.contains("Pane #1") && !grid_snapshot.contains(FULL_FRAME_CORNER) + }); + + zellij.quit(); +} + +#[test] +fn set_pane_frame_style_through_a_keybinding() { + let mut zellij = TestRunner::new(Size { + cols: 120, + rows: 24, + }) + .with_config("keybinds {\n normal {\n bind \"Ctrl y\" { SetPaneFrameStyle \"full\"; }\n }\n}") + .start(); + claim_first_terminal_and_wait_for_prompt(&zellij); + + zellij.wait_until("lone titles pane has no frame", |grid_snapshot| { + grid_snapshot.status_bar_appears() && !grid_snapshot.contains(FULL_FRAME_CORNER) + }); + + zellij.send_stdin(&ctrl_y()); + + zellij.wait_until( + "keybinding switched the pane to full frames", + |grid_snapshot| { + grid_snapshot.contains(FULL_FRAME_CORNER) && grid_snapshot.contains("Pane #1") + }, + ); + + zellij.quit(); +} diff --git a/zellij-integration-tests/tests/single_pane_tab_title.rs b/zellij-integration-tests/tests/single_pane_tab_title.rs new file mode 100644 index 00000000..1fd1a553 --- /dev/null +++ b/zellij-integration-tests/tests/single_pane_tab_title.rs @@ -0,0 +1,128 @@ +#![cfg(unix)] + +use zellij_integration_tests::{ + claim_first_terminal_and_wait_for_prompt, split_right_and_wait_for_prompt, start_zellij, + FakePtyHandle, TestSession, +}; +use zellij_utils::cli::CliAction; + +fn replace_pane_in_place_with_held_command( + zellij: &TestSession, + pane_id: &str, + command: &str, +) -> FakePtyHandle { + zellij.run_cli_action(CliAction::NewPane { + direction: None, + command: vec![command.to_string()], + plugin: None, + cwd: None, + floating: false, + in_place: true, + close_replaced_pane: true, + pane_id: Some(pane_id.to_string()), + name: None, + close_on_exit: false, + start_suspended: false, + configuration: None, + skip_plugin_cache: false, + x: None, + y: None, + width: None, + height: None, + pinned: None, + stacked: false, + blocking: false, + block_until_exit_success: false, + block_until_exit_failure: false, + block_until_exit: false, + unblock_condition: None, + near_current_pane: false, + borderless: None, + tab_id: None, + }); + zellij.expect_pty_spawn() +} + +#[test] +fn lone_pane_title_becomes_the_tab_name() { + let mut zellij = start_zellij(); + let terminal = claim_first_terminal_and_wait_for_prompt(&zellij); + + terminal.output(b"\x1b]0;my-title\x07"); + let grid_snapshot = zellij.wait_until("tab borrows the pane title", |grid_snapshot| { + grid_snapshot.status_bar_appears() && grid_snapshot.contains("my-title") + }); + assert!( + !grid_snapshot.contains("Tab #1"), + "the borrowed pane title replaces the default tab name:\n{}", + grid_snapshot.text + ); + + zellij.quit(); +} + +#[test] +fn lone_default_pane_keeps_the_default_tab_name() { + let mut zellij = start_zellij(); + claim_first_terminal_and_wait_for_prompt(&zellij); + + let grid_snapshot = zellij.wait_until("default tab name is shown", |grid_snapshot| { + grid_snapshot.status_bar_appears() && grid_snapshot.contains("Tab #1") + }); + assert!( + !grid_snapshot.contains("Pane #1"), + "the default pane name never leaks into the tab name:\n{}", + grid_snapshot.text + ); + + zellij.quit(); +} + +#[test] +fn tab_name_reverts_when_a_second_pane_is_opened() { + let mut zellij = start_zellij(); + let terminal = claim_first_terminal_and_wait_for_prompt(&zellij); + + terminal.output(b"\x1b]0;my-title\x07"); + zellij.wait_until("tab borrows the pane title", |grid_snapshot| { + grid_snapshot.contains("my-title") && !grid_snapshot.contains("Tab #1") + }); + + split_right_and_wait_for_prompt(&zellij); + let grid_snapshot = zellij.wait_until( + "tab name reverts once a second pane exists", + |grid_snapshot| { + grid_snapshot + .lines() + .first() + .is_some_and(|tab_bar| tab_bar.contains("Tab #1")) + }, + ); + assert!( + grid_snapshot.contains("my-title"), + "the original pane keeps its title in its frame:\n{}", + grid_snapshot.text + ); + + zellij.quit(); +} + +#[test] +fn lone_held_pane_tab_name_shows_exit_status() { + let mut zellij = start_zellij(); + let shell_terminal = claim_first_terminal_and_wait_for_prompt(&zellij); + + let command_pane_id = format!("terminal_{}", shell_terminal.terminal_id()); + let command_terminal = + replace_pane_in_place_with_held_command(&zellij, &command_pane_id, "held-command"); + zellij.wait_until("command pane took over the lone tab", |grid_snapshot| { + grid_snapshot.status_bar_appears() && grid_snapshot.tab_bar_appears() + }); + + command_terminal.exit(Some(0)); + zellij.wait_until("tab name carries the exit status", |grid_snapshot| { + grid_snapshot.contains("EXIT CODE: 0") + }); + + zellij.quit(); +} diff --git a/zellij-integration-tests/tests/snapshots/app__edit_scrollback.snap b/zellij-integration-tests/tests/snapshots/app__edit_scrollback.snap index 80505f55..f28120d7 100644 --- a/zellij-integration-tests/tests/snapshots/app__edit_scrollback.snap +++ b/zellij-integration-tests/tests/snapshots/app__edit_scrollback.snap @@ -2,27 +2,8 @@ source: zellij-integration-tests/tests/app.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ EDITING SCROLLBACK ──────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ SCROLLBACK_MARKER_ONE │ -│SCROLLBACK_MARKER_TWO │ -│█ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) EDITING SCROLLBACK + +$ SCROLLBACK_MARKER_ONE +SCROLLBACK_MARKER_TWO +█ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/app__resize_terminal_window.snap b/zellij-integration-tests/tests/snapshots/app__resize_terminal_window.snap index 2a285443..b9e64ea2 100644 --- a/zellij-integration-tests/tests/snapshots/app__resize_terminal_window.snap +++ b/zellij-integration-tests/tests/snapshots/app__resize_terminal_window.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/app.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ───────────────────────────────────────┐┌ Pane #2 ───────────────────────────────────────┐ -│$ ││$ █ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└────────────────────────────────────────────────┘└────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ │$ █ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + g p t n h s o q ... diff --git a/zellij-integration-tests/tests/snapshots/app__status_bar_loads_custom_keybindings.snap b/zellij-integration-tests/tests/snapshots/app__status_bar_loads_custom_keybindings.snap index 0670f288..9c8fa8c7 100644 --- a/zellij-integration-tests/tests/snapshots/app__status_bar_loads_custom_keybindings.snap +++ b/zellij-integration-tests/tests/snapshots/app__status_bar_loads_custom_keybindings.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/app.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - F1 LOCK F2 PANE F3 TAB F4 RESIZE F5 MOVE F6 SEARCH Alt F7 SESSION Ctrl F8 QUIT + Zellij (test) Tab #1 + +$ █ + F1 LOCK F2 PANE F3 TAB F4 RESIZE F5 MOVE F6 SEARCH Alt F7 SESSION Ctrl F8 QUIT diff --git a/zellij-integration-tests/tests/snapshots/app__use_custom_layout_with_relative_path.snap b/zellij-integration-tests/tests/snapshots/app__use_custom_layout_with_relative_path.snap index 03d134ea..120ef352 100644 --- a/zellij-integration-tests/tests/snapshots/app__use_custom_layout_with_relative_path.snap +++ b/zellij-integration-tests/tests/snapshots/app__use_custom_layout_with_relative_path.snap @@ -2,26 +2,6 @@ source: zellij-integration-tests/tests/app.rs expression: normalized(&grid_snapshot) --- - -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Zellij (test) Tab #1 + Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT +$ █ + Zellij (test) Tab #1 + diff --git a/zellij-integration-tests/tests/snapshots/basic__resize_pane.snap b/zellij-integration-tests/tests/snapshots/basic__resize_pane.snap index ba160d8c..50538a08 100644 --- a/zellij-integration-tests/tests/snapshots/basic__resize_pane.snap +++ b/zellij-integration-tests/tests/snapshots/basic__resize_pane.snap @@ -1,28 +1,28 @@ --- source: zellij-integration-tests/tests/basic.rs -expression: normalized(&snapshot) +expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ───────────────────────────────────────────┐┌ Pane #2 ───────────────────────────────────────────────────────┐ -│$ ││$ █ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└────────────────────────────────────────────────────┘└────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ │$ █ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/basic__split_terminals_vertically.snap b/zellij-integration-tests/tests/snapshots/basic__split_terminals_vertically.snap index 7f5f5a69..b50409e2 100644 --- a/zellij-integration-tests/tests/snapshots/basic__split_terminals_vertically.snap +++ b/zellij-integration-tests/tests/snapshots/basic__split_terminals_vertically.snap @@ -1,28 +1,28 @@ --- source: zellij-integration-tests/tests/basic.rs -expression: normalized(&snapshot) +expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────┐┌ Pane #2 ─────────────────────────────────────────────────┐ -│$ ││$ █ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ │$ █ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/basic__starts_with_one_terminal.snap b/zellij-integration-tests/tests/snapshots/basic__starts_with_one_terminal.snap index 7fff8f8f..f4846229 100644 --- a/zellij-integration-tests/tests/snapshots/basic__starts_with_one_terminal.snap +++ b/zellij-integration-tests/tests/snapshots/basic__starts_with_one_terminal.snap @@ -1,28 +1,7 @@ --- source: zellij-integration-tests/tests/basic.rs -expression: normalized(&snapshot) +expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + +$ █ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/cli__override_layout_from_default_to_compact.snap b/zellij-integration-tests/tests/snapshots/cli__override_layout_from_default_to_compact.snap index 386bd7e5..eaa7659e 100644 --- a/zellij-integration-tests/tests/snapshots/cli__override_layout_from_default_to_compact.snap +++ b/zellij-integration-tests/tests/snapshots/cli__override_layout_from_default_to_compact.snap @@ -2,27 +2,5 @@ source: zellij-integration-tests/tests/cli.rs expression: normalized(&grid_snapshot) --- -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Zellij (test) NORMAL Tab #1 +$ █ + Zellij (test) NORMAL Tab #1 diff --git a/zellij-integration-tests/tests/snapshots/cli__send_blocking_command_through_the_cli.snap b/zellij-integration-tests/tests/snapshots/cli__send_blocking_command_through_the_cli.snap index 6b2d58e7..8901dad4 100644 --- a/zellij-integration-tests/tests/snapshots/cli__send_blocking_command_through_the_cli.snap +++ b/zellij-integration-tests/tests/snapshots/cli__send_blocking_command_through_the_cli.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/cli.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + +$ █ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/cli__send_command_through_the_cli.snap b/zellij-integration-tests/tests/snapshots/cli__send_command_through_the_cli.snap index 42573137..97f46d06 100644 --- a/zellij-integration-tests/tests/snapshots/cli__send_command_through_the_cli.snap +++ b/zellij-integration-tests/tests/snapshots/cli__send_command_through_the_cli.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/cli.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────┐┌ suspended-command ───────────────────────────────────────┐ -│$ ││foo │ -│ ││foo │ -│ ││█ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ suspended-command +$ │foo + │foo + │█ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/cli__watcher_client_functionality-2.snap b/zellij-integration-tests/tests/snapshots/cli__watcher_client_functionality-2.snap index 707da328..c713a934 100644 --- a/zellij-integration-tests/tests/snapshots/cli__watcher_client_functionality-2.snap +++ b/zellij-integration-tests/tests/snapshots/cli__watcher_client_functionality-2.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/cli.rs expression: normalized(&watcher_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────┐┌ Pane #2 ─────────────────────────────────────────────────┐ -│$ ││$ █ │ -│WATCHER_OUTPUT_1 ││ │ -│WATCHER_OUTPUT_2 ││ │ -│WATCHER_OUTPUT_3 ││ │ -│WATCHER_DONE ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ │$ █ +WATCHER_OUTPUT_1 │ +WATCHER_OUTPUT_2 │ +WATCHER_OUTPUT_3 │ +WATCHER_DONE │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/cli__watcher_client_functionality.snap b/zellij-integration-tests/tests/snapshots/cli__watcher_client_functionality.snap index 633d8f3b..dc904dd6 100644 --- a/zellij-integration-tests/tests/snapshots/cli__watcher_client_functionality.snap +++ b/zellij-integration-tests/tests/snapshots/cli__watcher_client_functionality.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/cli.rs expression: normalized(&main_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────┐┌ Pane #2 ─────────────────────────────────────────────────┐ -│$ ││$ █ │ -│WATCHER_OUTPUT_1 ││ │ -│WATCHER_OUTPUT_2 ││ │ -│WATCHER_OUTPUT_3 ││ │ -│WATCHER_DONE ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ │$ █ +WATCHER_OUTPUT_1 │ +WATCHER_OUTPUT_2 │ +WATCHER_OUTPUT_3 │ +WATCHER_DONE │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/clients__detach_and_attach_session.snap b/zellij-integration-tests/tests/snapshots/clients__detach_and_attach_session.snap index 14b6ad52..966b41df 100644 --- a/zellij-integration-tests/tests/snapshots/clients__detach_and_attach_session.snap +++ b/zellij-integration-tests/tests/snapshots/clients__detach_and_attach_session.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/clients.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────┐┌ Pane #2 ─────────────────────────────────────────────────┐ -│$ ││$ I am some text█ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ │$ I am some text█ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/clients__mirrored_sessions.snap b/zellij-integration-tests/tests/snapshots/clients__mirrored_sessions.snap index 0e6e31cb..4b190af2 100644 --- a/zellij-integration-tests/tests/snapshots/clients__mirrored_sessions.snap +++ b/zellij-integration-tests/tests/snapshots/clients__mirrored_sessions.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/clients.rs expression: normalized(&main_grid) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────┐┌ Pane #2 ─────────────────────────────────────────────────┐ -│$ ││$ █ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ │$ █ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/clients__multiple_users_in_different_panes_and_same_tab-2.snap b/zellij-integration-tests/tests/snapshots/clients__multiple_users_in_different_panes_and_same_tab-2.snap index 59e690c5..2da66244 100644 --- a/zellij-integration-tests/tests/snapshots/clients__multiple_users_in_different_panes_and_same_tab-2.snap +++ b/zellij-integration-tests/tests/snapshots/clients__multiple_users_in_different_panes_and_same_tab-2.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/clients.rs expression: normalized(&second_grid) --- - Zellij (test) Tab #1 [ ] -┌ Pane #1 ───────────┤ FOCUSED USER: ├───────────────────┐┌ Pane #2 ──────────────┤ MY FOCUS ├───────────────────────┐ -│$ ││$ █ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 [ ] + + [ FOCUSED USER: ] Pane #1 │ [ MY FOCUS ] Pane #2 +$ │$ █ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/clients__multiple_users_in_different_panes_and_same_tab.snap b/zellij-integration-tests/tests/snapshots/clients__multiple_users_in_different_panes_and_same_tab.snap index 6ad8e0cd..9a2de537 100644 --- a/zellij-integration-tests/tests/snapshots/clients__multiple_users_in_different_panes_and_same_tab.snap +++ b/zellij-integration-tests/tests/snapshots/clients__multiple_users_in_different_panes_and_same_tab.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/clients.rs expression: normalized(&main_grid) --- - Zellij (test) Tab #1 [ ] -┌ Pane #1 ──────────────┤ MY FOCUS ├───────────────────────┐┌ Pane #2 ───────────┤ FOCUSED USER: ├───────────────────┐ -│$ █ ││$ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 [ ] + + [ MY FOCUS ] Pane #1 │ [ FOCUSED USER: ] Pane #2 +$ █ │$ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/clients__multiple_users_in_different_tabs-2.snap b/zellij-integration-tests/tests/snapshots/clients__multiple_users_in_different_tabs-2.snap index 0806898d..9d514fe8 100644 --- a/zellij-integration-tests/tests/snapshots/clients__multiple_users_in_different_tabs-2.snap +++ b/zellij-integration-tests/tests/snapshots/clients__multiple_users_in_different_tabs-2.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/clients.rs expression: normalized(&second_grid) --- - Zellij (test) Tab #1 [ ] Tab #2 -┌ Pane #1 ────────────────────────────────────────────┤ MY FOCUS ├─────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 [ ] Tab #2 + +$ █ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/clients__multiple_users_in_different_tabs.snap b/zellij-integration-tests/tests/snapshots/clients__multiple_users_in_different_tabs.snap index fe0a78a9..26f7c371 100644 --- a/zellij-integration-tests/tests/snapshots/clients__multiple_users_in_different_tabs.snap +++ b/zellij-integration-tests/tests/snapshots/clients__multiple_users_in_different_tabs.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/clients.rs expression: normalized(&main_grid) --- - Zellij (test) Tab #1 Tab #2 [ ] -┌ Pane #1 ────────────────────────────────────────────┤ MY FOCUS ├─────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 Tab #2 [ ] + +$ █ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/clients__multiple_users_in_same_pane_and_tab-2.snap b/zellij-integration-tests/tests/snapshots/clients__multiple_users_in_same_pane_and_tab-2.snap index ea21dde0..803a2105 100644 --- a/zellij-integration-tests/tests/snapshots/clients__multiple_users_in_same_pane_and_tab-2.snap +++ b/zellij-integration-tests/tests/snapshots/clients__multiple_users_in_same_pane_and_tab-2.snap @@ -2,7 +2,7 @@ source: zellij-integration-tests/tests/clients.rs expression: normalized(&second_grid) --- - Zellij (test) Tab #1 [ ] + Zellij (test) Tab #1 [ ] + ┌ Pane #1 ─────────────────────────────────────────┤ MY FOCUS AND: ├─────────────────────────────────────────────────┐ │$ █ │ │ │ diff --git a/zellij-integration-tests/tests/snapshots/clients__multiple_users_in_same_pane_and_tab.snap b/zellij-integration-tests/tests/snapshots/clients__multiple_users_in_same_pane_and_tab.snap index 5e27178e..13d85f0b 100644 --- a/zellij-integration-tests/tests/snapshots/clients__multiple_users_in_same_pane_and_tab.snap +++ b/zellij-integration-tests/tests/snapshots/clients__multiple_users_in_same_pane_and_tab.snap @@ -2,7 +2,7 @@ source: zellij-integration-tests/tests/clients.rs expression: normalized(&main_grid) --- - Zellij (test) Tab #1 [ ] + Zellij (test) Tab #1 [ ] + ┌ Pane #1 ─────────────────────────────────────────┤ MY FOCUS AND: ├─────────────────────────────────────────────────┐ │$ █ │ │ │ diff --git a/zellij-integration-tests/tests/snapshots/misc__focus_next_pane_via_tmux_mode.snap b/zellij-integration-tests/tests/snapshots/misc__focus_next_pane_via_tmux_mode.snap index a114ffc5..8a7dc160 100644 --- a/zellij-integration-tests/tests/snapshots/misc__focus_next_pane_via_tmux_mode.snap +++ b/zellij-integration-tests/tests/snapshots/misc__focus_next_pane_via_tmux_mode.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/misc.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────┐┌ Pane #2 ─────────────────────────────────────────────────┐ -│$ █ ││$ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ █ │$ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/misc__next_swap_layout.snap b/zellij-integration-tests/tests/snapshots/misc__next_swap_layout.snap index 8e954ab9..9ec7cc4b 100644 --- a/zellij-integration-tests/tests/snapshots/misc__next_swap_layout.snap +++ b/zellij-integration-tests/tests/snapshots/misc__next_swap_layout.snap @@ -2,27 +2,10 @@ source: zellij-integration-tests/tests/misc.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ -┌ Pane #2 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 +$ +──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── + Pane #2 +$ █ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/misc__previous_swap_layout.snap b/zellij-integration-tests/tests/snapshots/misc__previous_swap_layout.snap index 8e954ab9..9ec7cc4b 100644 --- a/zellij-integration-tests/tests/snapshots/misc__previous_swap_layout.snap +++ b/zellij-integration-tests/tests/snapshots/misc__previous_swap_layout.snap @@ -2,27 +2,10 @@ source: zellij-integration-tests/tests/misc.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ -┌ Pane #2 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 +$ +──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── + Pane #2 +$ █ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/misc__toggle_group_marking.snap b/zellij-integration-tests/tests/snapshots/misc__toggle_group_marking.snap index 9932251c..c704e688 100644 --- a/zellij-integration-tests/tests/snapshots/misc__toggle_group_marking.snap +++ b/zellij-integration-tests/tests/snapshots/misc__toggle_group_marking.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/misc.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────┐┌ Pane #2 ─────────────────────────────────────────────────┐ -│$ ││$ █ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ┌ Multiple Pane Select ────────────────────────┐ ││ │ -│ │<ESC> - cancel, <TAB> - move │ ││ │ -│ │ │ ││ │ -│ │GROUP ACTIONS (1 SELECTED PANE) │ ││ │ -│ │<b> - break out, <s> - stack, <c> - close │ ││ │ -│ │<l> - break left, <r> - break right │ ││ │ -│ │<e> - embed, <f> - float │ ││ │ -│ │ │ ││ │ -│ │Alt + <p> Toggle <Shift p> Follow Focus │ ││ │ -│ └──────────────────────────────────────────────┘ ││ │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ │$ █ + │ + │ + │ + │ + │ + │ + │ + │ + │ + ┌ Multiple Pane Select ────────────────────────┐ │ + │<ESC> - cancel, <TAB> - move │ │ + │ │ │ + │GROUP ACTIONS (1 SELECTED PANE) │ │ + │<b> - break out, <s> - stack, <c> - close │ │ + │<l> - break left, <r> - break right │ │ + │<e> - embed, <f> - float │ │ + │ │ │ + │Alt + <p> Toggle <Shift p> Follow Focus │ │ + └──────────────────────────────────────────────┘ │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/misc__toggle_pane_in_group.snap b/zellij-integration-tests/tests/snapshots/misc__toggle_pane_in_group.snap index 9932251c..c704e688 100644 --- a/zellij-integration-tests/tests/snapshots/misc__toggle_pane_in_group.snap +++ b/zellij-integration-tests/tests/snapshots/misc__toggle_pane_in_group.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/misc.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────┐┌ Pane #2 ─────────────────────────────────────────────────┐ -│$ ││$ █ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ┌ Multiple Pane Select ────────────────────────┐ ││ │ -│ │<ESC> - cancel, <TAB> - move │ ││ │ -│ │ │ ││ │ -│ │GROUP ACTIONS (1 SELECTED PANE) │ ││ │ -│ │<b> - break out, <s> - stack, <c> - close │ ││ │ -│ │<l> - break left, <r> - break right │ ││ │ -│ │<e> - embed, <f> - float │ ││ │ -│ │ │ ││ │ -│ │Alt + <p> Toggle <Shift p> Follow Focus │ ││ │ -│ └──────────────────────────────────────────────┘ ││ │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ │$ █ + │ + │ + │ + │ + │ + │ + │ + │ + │ + ┌ Multiple Pane Select ────────────────────────┐ │ + │<ESC> - cancel, <TAB> - move │ │ + │ │ │ + │GROUP ACTIONS (1 SELECTED PANE) │ │ + │<b> - break out, <s> - stack, <c> - close │ │ + │<l> - break left, <r> - break right │ │ + │<e> - embed, <f> - float │ │ + │ │ │ + │Alt + <p> Toggle <Shift p> Follow Focus │ │ + └──────────────────────────────────────────────┘ │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/misc__write_byte_to_focused_pane_via_tmux_mode.snap b/zellij-integration-tests/tests/snapshots/misc__write_byte_to_focused_pane_via_tmux_mode.snap index 29857afc..f2a692e7 100644 --- a/zellij-integration-tests/tests/snapshots/misc__write_byte_to_focused_pane_via_tmux_mode.snap +++ b/zellij-integration-tests/tests/snapshots/misc__write_byte_to_focused_pane_via_tmux_mode.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/misc.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + +$ █ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/modes__bracketed_paste.snap b/zellij-integration-tests/tests/snapshots/modes__bracketed_paste.snap index 421627c3..b2ae0119 100644 --- a/zellij-integration-tests/tests/snapshots/modes__bracketed_paste.snap +++ b/zellij-integration-tests/tests/snapshots/modes__bracketed_paste.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/modes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ nabc█ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + +$ nabc█ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/modes__enter_search_mode.snap b/zellij-integration-tests/tests/snapshots/modes__enter_search_mode.snap index e2170783..1fb9dee7 100644 --- a/zellij-integration-tests/tests/snapshots/modes__enter_search_mode.snap +++ b/zellij-integration-tests/tests/snapshots/modes__enter_search_mode.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/modes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Enter search... ─────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - ENTERING SEARCH TERM ENTER When done + Zellij (test) Tab #1 + +$ █ + ENTERING SEARCH TERM ENTER When done diff --git a/zellij-integration-tests/tests/snapshots/modes__lock_mode.snap b/zellij-integration-tests/tests/snapshots/modes__lock_mode.snap index 8dde2b5b..744d0373 100644 --- a/zellij-integration-tests/tests/snapshots/modes__lock_mode.snap +++ b/zellij-integration-tests/tests/snapshots/modes__lock_mode.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/modes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ nabc█ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Ctrl + <g> LOCK + Zellij (test) Tab #1 + +$ nabc█ + Ctrl + <g> LOCK diff --git a/zellij-integration-tests/tests/snapshots/modes__return_to_normal_mode.snap b/zellij-integration-tests/tests/snapshots/modes__return_to_normal_mode.snap index b8e8dc2c..b0605346 100644 --- a/zellij-integration-tests/tests/snapshots/modes__return_to_normal_mode.snap +++ b/zellij-integration-tests/tests/snapshots/modes__return_to_normal_mode.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/modes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + +$ █ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/modes__scrolling_inside_a_pane.snap b/zellij-integration-tests/tests/snapshots/modes__scrolling_inside_a_pane.snap index 0af68b35..96506ac6 100644 --- a/zellij-integration-tests/tests/snapshots/modes__scrolling_inside_a_pane.snap +++ b/zellij-integration-tests/tests/snapshots/modes__scrolling_inside_a_pane.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/modes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────┐┌ Pane #2 ─────────────────────────────────── SCROLL: 2/2 ┐ -│$ ││$ line1 │ -│ ││line2 │ -│ ││line3 │ -│ ││line4 │ -│ ││line5 │ -│ ││line6 │ -│ ││line7 │ -│ ││line8 │ -│ ││line9 │ -│ ││line10 │ -│ ││line11 │ -│ ││line12 │ -│ ││line13 │ -│ ││line14 │ -│ ││line15 │ -│ ││line16 │ -│ ││line17 │ -│ ││line18 │ -│ ││line19 │ -│ ││█ine20 │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 [ SCROLL: 2/2 ] +$ │$ line1 + │line2 + │line3 + │line4 + │line5 + │line6 + │line7 + │line8 + │line9 + │line10 + │line11 + │line12 + │line13 + │line14 + │line15 + │line16 + │line17 + │line18 + │line19 + │line20 + │█ine21 Ctrl + <s> SEARCH s Search ↓↑ Scroll PgDn|PgUp Scroll d|u Scroll e Edit ENTER Select diff --git a/zellij-integration-tests/tests/snapshots/modes__switch_to_move_mode.snap b/zellij-integration-tests/tests/snapshots/modes__switch_to_move_mode.snap index 2c38ca5b..7c5a8166 100644 --- a/zellij-integration-tests/tests/snapshots/modes__switch_to_move_mode.snap +++ b/zellij-integration-tests/tests/snapshots/modes__switch_to_move_mode.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/modes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Ctrl + <h> MOVE ←↓↑→ Switch Location ENTER When done + Zellij (test) Tab #1 + +$ █ + Ctrl + <h> MOVE ←↓↑→ Switch Location ENTER When done diff --git a/zellij-integration-tests/tests/snapshots/modes__switch_to_pane_mode.snap b/zellij-integration-tests/tests/snapshots/modes__switch_to_pane_mode.snap index 77a3a87a..cf9153c1 100644 --- a/zellij-integration-tests/tests/snapshots/modes__switch_to_pane_mode.snap +++ b/zellij-integration-tests/tests/snapshots/modes__switch_to_pane_mode.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/modes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Ctrl + <p> PANE n New ←↓↑→ Move x Close c Rename f Fullscreen Alt f Floating ... + Zellij (test) Tab #1 + +$ █ + Ctrl + <p> PANE n New ←↓↑→ Move x Close c Rename f Fullscreen Alt f Floating ... diff --git a/zellij-integration-tests/tests/snapshots/modes__switch_to_resize_mode.snap b/zellij-integration-tests/tests/snapshots/modes__switch_to_resize_mode.snap index 934b93fa..cabc4035 100644 --- a/zellij-integration-tests/tests/snapshots/modes__switch_to_resize_mode.snap +++ b/zellij-integration-tests/tests/snapshots/modes__switch_to_resize_mode.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/modes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Ctrl + <n> RESIZE +|- Increase/Decrease ←↓↑→ Increase HJKL Decrease ENTER Select + Zellij (test) Tab #1 + +$ █ + Ctrl + <n> RESIZE +|- Increase/Decrease ←↓↑→ Increase HJKL Decrease ENTER Select diff --git a/zellij-integration-tests/tests/snapshots/modes__switch_to_scroll_mode.snap b/zellij-integration-tests/tests/snapshots/modes__switch_to_scroll_mode.snap index bb92c9f8..fd74b0c0 100644 --- a/zellij-integration-tests/tests/snapshots/modes__switch_to_scroll_mode.snap +++ b/zellij-integration-tests/tests/snapshots/modes__switch_to_scroll_mode.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/modes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Ctrl + <s> SEARCH s Search ↓↑ Scroll PgDn|PgUp Scroll d|u Scroll e Edit ENTER Select + Zellij (test) Tab #1 + +$ █ + Ctrl + <s> SEARCH s Search ↓↑ Scroll PgDn|PgUp Scroll d|u Scroll e Edit ENTER Select diff --git a/zellij-integration-tests/tests/snapshots/modes__switch_to_search_mode.snap b/zellij-integration-tests/tests/snapshots/modes__switch_to_search_mode.snap index 9e647b1a..8bef38dd 100644 --- a/zellij-integration-tests/tests/snapshots/modes__switch_to_search_mode.snap +++ b/zellij-integration-tests/tests/snapshots/modes__switch_to_search_mode.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/modes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - SEARCHING ↓↑ Scroll PgDn|PgUp Scroll d|u Scroll n Down p Up c Case w Wrap o Whole + Zellij (test) Tab #1 + +$ █ + SEARCHING ↓↑ Scroll PgDn|PgUp Scroll d|u Scroll n Down p Up c Case w Wrap o Whole diff --git a/zellij-integration-tests/tests/snapshots/modes__switch_to_session_mode.snap b/zellij-integration-tests/tests/snapshots/modes__switch_to_session_mode.snap index df752793..55785d6e 100644 --- a/zellij-integration-tests/tests/snapshots/modes__switch_to_session_mode.snap +++ b/zellij-integration-tests/tests/snapshots/modes__switch_to_session_mode.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/modes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Ctrl + <o> SESSION d Detach w Manager s Share c Config l Layouts p Plugins ... + Zellij (test) Tab #1 + +$ █ + Ctrl + <o> SESSION d Detach w Manager s Share c Config l Layouts p Plugins ... diff --git a/zellij-integration-tests/tests/snapshots/modes__switch_to_tab_mode.snap b/zellij-integration-tests/tests/snapshots/modes__switch_to_tab_mode.snap index 0bd07696..efb2bc6a 100644 --- a/zellij-integration-tests/tests/snapshots/modes__switch_to_tab_mode.snap +++ b/zellij-integration-tests/tests/snapshots/modes__switch_to_tab_mode.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/modes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Ctrl + <t> TAB n New ←→ Move x Close r Rename s Sync b Break out [] Break ... + Zellij (test) Tab #1 + +$ █ + Ctrl + <t> TAB n New ←→ Move x Close r Rename s Sync b Break out [] Break ... diff --git a/zellij-integration-tests/tests/snapshots/modes__tmux_mode.snap b/zellij-integration-tests/tests/snapshots/modes__tmux_mode.snap index 42363818..88429ed3 100644 --- a/zellij-integration-tests/tests/snapshots/modes__tmux_mode.snap +++ b/zellij-integration-tests/tests/snapshots/modes__tmux_mode.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/modes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────┐┌ Pane #2 ─────────────────────────────────────────────────┐ -│$ ││$ █ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ │$ █ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/mouse__focus_pane_with_mouse.snap b/zellij-integration-tests/tests/snapshots/mouse__focus_pane_with_mouse.snap index f007cf9d..4b400874 100644 --- a/zellij-integration-tests/tests/snapshots/mouse__focus_pane_with_mouse.snap +++ b/zellij-integration-tests/tests/snapshots/mouse__focus_pane_with_mouse.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/mouse.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────┐┌ Pane #2 ─────────────────────────────────────────────────┐ -│$ █ ││$ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ █ │$ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/mouse__pin_floating_panes.snap b/zellij-integration-tests/tests/snapshots/mouse__pin_floating_panes.snap index 6bdb9ca6..7ec4a10d 100644 --- a/zellij-integration-tests/tests/snapshots/mouse__pin_floating_panes.snap +++ b/zellij-integration-tests/tests/snapshots/mouse__pin_floating_panes.snap @@ -2,27 +2,22 @@ source: zellij-integration-tests/tests/mouse.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ line1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa│ -│a │ -│line2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa │ -│line3aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa │ -│line4aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa │ -│line5aaaaaaaaaaaaaaaaaaaaaaaa┌ Pane #2 ──────────────────────────────────────── PIN [+] ┐aaaaaaaaaaaaaaaaaaaaaaaaaaaa │ -│line6aaaaaaaaaaaaaaaaaaaaaaaa│$ │aaaaaaaaaaaaaaaaaaaaaaaaaaaa │ -│line7aaaaaaaaaaaaaaaaaaaaaaaa│ │aaaaaaaaaaaaaaaaaaaaaaaaaaaa │ -│line8aaaaaaaaaaaaaaaaaaaaaaaa│ │aaaaaaaaaaaaaaaaaaaaaaaaaaaa │ -│line9aaaaaaaaaaaaaaaaaaaaaaaa│ │aaaaaaaaaaaaaaaaaaaaaaaaaaaa │ -│line10aaaaaaaaaaaaaaaaaaaaaaa│ │aaaaaaaaaaaaaaaaaaaaaaaaaaaaa│ -│line11aaaaaaaaaaaaaaaaaaaaaaa│ │aaaaaaaaaaaaaaaaaaaaaaaaaaaaa│ -│line12aaaaaaaaaaaaaaaaaaaaaaa│ │aaaaaaaaaaaaaaaaaaaaaaaaaaaaa│ -│line13aaaaaaaaaaaaaaaaaaaaaaa│ │aaaaaaaaaaaaaaaaaaaaaaaaaaaaa│ -│█ │ │ │ -│ └──────────────────────────────────────────────────────────┘ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + +$ line1aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +line2aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +line3aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +line4aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +line5aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +line6aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +line7aaaaaaaaaaaaaaaaaaaaaaaaa┌ Pane #2 ──────────────────────────────────────── PIN [+] ┐aaaaaaaaaaaaaaaaaaaaaaaaaaa +line8aaaaaaaaaaaaaaaaaaaaaaaaa│$ │aaaaaaaaaaaaaaaaaaaaaaaaaaa +line9aaaaaaaaaaaaaaaaaaaaaaaaa│ │aaaaaaaaaaaaaaaaaaaaaaaaaaa +line10aaaaaaaaaaaaaaaaaaaaaaaa│ │aaaaaaaaaaaaaaaaaaaaaaaaaaaa +line11aaaaaaaaaaaaaaaaaaaaaaaa│ │aaaaaaaaaaaaaaaaaaaaaaaaaaaa +line12aaaaaaaaaaaaaaaaaaaaaaaa│ │aaaaaaaaaaaaaaaaaaaaaaaaaaaa +line13aaaaaaaaaaaaaaaaaaaaaaaa│ │aaaaaaaaaaaaaaaaaaaaaaaaaaaa +█ │ │ + │ │ + │ │ + └──────────────────────────────────────────────────────────┘ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/mouse__scrolling_inside_a_pane_with_mouse.snap b/zellij-integration-tests/tests/snapshots/mouse__scrolling_inside_a_pane_with_mouse.snap index 629cc513..0a1495df 100644 --- a/zellij-integration-tests/tests/snapshots/mouse__scrolling_inside_a_pane_with_mouse.snap +++ b/zellij-integration-tests/tests/snapshots/mouse__scrolling_inside_a_pane_with_mouse.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/mouse.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────┐┌ Pane #2 ─────────────────────────────────── SCROLL: 2/2 ┐ -│$ ││$ line1 │ -│ ││line2 │ -│ ││line3 │ -│ ││line4 │ -│ ││line5 │ -│ ││line6 │ -│ ││line7 │ -│ ││line8 │ -│ ││line9 │ -│ ││line10 │ -│ ││line11 │ -│ ││line12 │ -│ ││line13 │ -│ ││line14 │ -│ ││line15 │ -│ ││line16 │ -│ ││line17 │ -│ ││line18 │ -│ ││line19 │ -│ ││█ine20 │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 [ SCROLL: 1/1 ] +$ │$ line1 + │line2 + │line3 + │line4 + │line5 + │line6 + │line7 + │line8 + │line9 + │line10 + │line11 + │line12 + │line13 + │line14 + │line15 + │line16 + │line17 + │line18 + │line19 + │line20 + │█ine21 Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/panes__cannot_split_terminals_vertically_when_active_terminal_is_too_small.snap b/zellij-integration-tests/tests/snapshots/panes__cannot_split_terminals_vertically_when_active_terminal_is_too_small.snap index 0800ee6c..0e53b7b2 100644 --- a/zellij-integration-tests/tests/snapshots/panes__cannot_split_terminals_vertically_when_active_terminal_is_too_small.snap +++ b/zellij-integration-tests/tests/snapshots/panes__cannot_split_terminals_vertically_when_active_terminal_is_too_small.snap @@ -3,22 +3,5 @@ source: zellij-integration-tests/tests/panes.rs expression: normalized(&grid_snapshot) --- -┌──────┐ -│$ done│ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────┘ +$ done█ Ctrl + diff --git a/zellij-integration-tests/tests/snapshots/panes__close_pane.snap b/zellij-integration-tests/tests/snapshots/panes__close_pane.snap index b9d0bb9c..717e5a5e 100644 --- a/zellij-integration-tests/tests/snapshots/panes__close_pane.snap +++ b/zellij-integration-tests/tests/snapshots/panes__close_pane.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/panes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + +$ █ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/panes__move_focus_down_in_pane_mode.snap b/zellij-integration-tests/tests/snapshots/panes__move_focus_down_in_pane_mode.snap index bf220375..12bf79f3 100644 --- a/zellij-integration-tests/tests/snapshots/panes__move_focus_down_in_pane_mode.snap +++ b/zellij-integration-tests/tests/snapshots/panes__move_focus_down_in_pane_mode.snap @@ -2,27 +2,10 @@ source: zellij-integration-tests/tests/panes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ -┌ Pane #2 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 +$ +──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── + Pane #2 +$ █ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/panes__move_focus_left_in_pane_mode.snap b/zellij-integration-tests/tests/snapshots/panes__move_focus_left_in_pane_mode.snap index fbbe4940..dc72368a 100644 --- a/zellij-integration-tests/tests/snapshots/panes__move_focus_left_in_pane_mode.snap +++ b/zellij-integration-tests/tests/snapshots/panes__move_focus_left_in_pane_mode.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/panes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────┐┌ Pane #2 ─────────────────────────────────────────────────┐ -│$ █ ││$ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ █ │$ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/panes__move_focus_or_tab_moves_focus_between_panes.snap b/zellij-integration-tests/tests/snapshots/panes__move_focus_or_tab_moves_focus_between_panes.snap index fbbe4940..dc72368a 100644 --- a/zellij-integration-tests/tests/snapshots/panes__move_focus_or_tab_moves_focus_between_panes.snap +++ b/zellij-integration-tests/tests/snapshots/panes__move_focus_or_tab_moves_focus_between_panes.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/panes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────┐┌ Pane #2 ─────────────────────────────────────────────────┐ -│$ █ ││$ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ █ │$ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/panes__move_focus_or_tab_switches_tab_when_single_pane.snap b/zellij-integration-tests/tests/snapshots/panes__move_focus_or_tab_switches_tab_when_single_pane.snap index f0254ce4..a4690066 100644 --- a/zellij-integration-tests/tests/snapshots/panes__move_focus_or_tab_switches_tab_when_single_pane.snap +++ b/zellij-integration-tests/tests/snapshots/panes__move_focus_or_tab_switches_tab_when_single_pane.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/panes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 Tab #2 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ oneone█ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 Tab #2 + +$ oneone█ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/panes__move_focus_right_in_pane_mode.snap b/zellij-integration-tests/tests/snapshots/panes__move_focus_right_in_pane_mode.snap index f68a25e2..143b1902 100644 --- a/zellij-integration-tests/tests/snapshots/panes__move_focus_right_in_pane_mode.snap +++ b/zellij-integration-tests/tests/snapshots/panes__move_focus_right_in_pane_mode.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/panes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────┐┌ Pane #2 ─────────────────────────────────────────────────┐ -│$ ││$ █ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ │$ █ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/panes__move_focus_up_in_pane_mode.snap b/zellij-integration-tests/tests/snapshots/panes__move_focus_up_in_pane_mode.snap index 1bf6e70d..9919d65f 100644 --- a/zellij-integration-tests/tests/snapshots/panes__move_focus_up_in_pane_mode.snap +++ b/zellij-integration-tests/tests/snapshots/panes__move_focus_up_in_pane_mode.snap @@ -2,27 +2,10 @@ source: zellij-integration-tests/tests/panes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ -┌ Pane #2 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 +$ █ +──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── + Pane #2 +$ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/panes__move_pane_backwards_swaps_with_neighbor.snap b/zellij-integration-tests/tests/snapshots/panes__move_pane_backwards_swaps_with_neighbor.snap index a5ec291c..b8007c7b 100644 --- a/zellij-integration-tests/tests/snapshots/panes__move_pane_backwards_swaps_with_neighbor.snap +++ b/zellij-integration-tests/tests/snapshots/panes__move_pane_backwards_swaps_with_neighbor.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/panes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #2 ─────────────────────────────────────────────────┐┌ Pane #1 ─────────────────────────────────────────────────┐ -│$ BBB█ ││$ AAA │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #2 │ Pane #1 +$ BBB█ │$ AAA + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/panes__move_pane_down.snap b/zellij-integration-tests/tests/snapshots/panes__move_pane_down.snap index 3efaa27f..f14d9dea 100644 --- a/zellij-integration-tests/tests/snapshots/panes__move_pane_down.snap +++ b/zellij-integration-tests/tests/snapshots/panes__move_pane_down.snap @@ -2,27 +2,10 @@ source: zellij-integration-tests/tests/panes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #2 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ BBB█ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ AAA │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #2 +$ BBB█ +──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── + Pane #1 +$ AAA Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/panes__move_pane_left.snap b/zellij-integration-tests/tests/snapshots/panes__move_pane_left.snap index a5ec291c..b8007c7b 100644 --- a/zellij-integration-tests/tests/snapshots/panes__move_pane_left.snap +++ b/zellij-integration-tests/tests/snapshots/panes__move_pane_left.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/panes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #2 ─────────────────────────────────────────────────┐┌ Pane #1 ─────────────────────────────────────────────────┐ -│$ BBB█ ││$ AAA │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #2 │ Pane #1 +$ BBB█ │$ AAA + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/panes__move_pane_swaps_with_neighbor.snap b/zellij-integration-tests/tests/snapshots/panes__move_pane_swaps_with_neighbor.snap index a5ec291c..b8007c7b 100644 --- a/zellij-integration-tests/tests/snapshots/panes__move_pane_swaps_with_neighbor.snap +++ b/zellij-integration-tests/tests/snapshots/panes__move_pane_swaps_with_neighbor.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/panes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #2 ─────────────────────────────────────────────────┐┌ Pane #1 ─────────────────────────────────────────────────┐ -│$ BBB█ ││$ AAA │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #2 │ Pane #1 +$ BBB█ │$ AAA + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/panes__new_pane_in_normal_mode.snap b/zellij-integration-tests/tests/snapshots/panes__new_pane_in_normal_mode.snap index f68a25e2..143b1902 100644 --- a/zellij-integration-tests/tests/snapshots/panes__new_pane_in_normal_mode.snap +++ b/zellij-integration-tests/tests/snapshots/panes__new_pane_in_normal_mode.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/panes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────┐┌ Pane #2 ─────────────────────────────────────────────────┐ -│$ ││$ █ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ │$ █ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/panes__new_pane_in_pane_mode.snap b/zellij-integration-tests/tests/snapshots/panes__new_pane_in_pane_mode.snap index f68a25e2..143b1902 100644 --- a/zellij-integration-tests/tests/snapshots/panes__new_pane_in_pane_mode.snap +++ b/zellij-integration-tests/tests/snapshots/panes__new_pane_in_pane_mode.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/panes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────┐┌ Pane #2 ─────────────────────────────────────────────────┐ -│$ ││$ █ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ │$ █ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/panes__new_stacked_pane.snap b/zellij-integration-tests/tests/snapshots/panes__new_stacked_pane.snap index 64abb7f3..b47edec4 100644 --- a/zellij-integration-tests/tests/snapshots/panes__new_stacked_pane.snap +++ b/zellij-integration-tests/tests/snapshots/panes__new_stacked_pane.snap @@ -2,27 +2,8 @@ source: zellij-integration-tests/tests/panes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -┌ Pane #2 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + +──────────────────────────────────────────────────────── Pane #1 ─────────────────────────────────────────────────────── +──────────────────────────────────────────────────────── Pane #2 ─────────────────────────────────────────────────────── +$ █ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/panes__pane_closes_when_its_process_exits.snap b/zellij-integration-tests/tests/snapshots/panes__pane_closes_when_its_process_exits.snap index b9d0bb9c..717e5a5e 100644 --- a/zellij-integration-tests/tests/snapshots/panes__pane_closes_when_its_process_exits.snap +++ b/zellij-integration-tests/tests/snapshots/panes__pane_closes_when_its_process_exits.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/panes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + +$ █ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/panes__split_pane_downward.snap b/zellij-integration-tests/tests/snapshots/panes__split_pane_downward.snap index bf220375..12bf79f3 100644 --- a/zellij-integration-tests/tests/snapshots/panes__split_pane_downward.snap +++ b/zellij-integration-tests/tests/snapshots/panes__split_pane_downward.snap @@ -2,27 +2,10 @@ source: zellij-integration-tests/tests/panes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ -┌ Pane #2 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 +$ +──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── + Pane #2 +$ █ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/panes__start_without_pane_frames.snap b/zellij-integration-tests/tests/snapshots/panes__start_without_pane_frames.snap index e58b8c3e..be4beb78 100644 --- a/zellij-integration-tests/tests/snapshots/panes__start_without_pane_frames.snap +++ b/zellij-integration-tests/tests/snapshots/panes__start_without_pane_frames.snap @@ -2,7 +2,7 @@ source: zellij-integration-tests/tests/panes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 + Zellij (test) Tab #1 + $ │$ █ │ │ diff --git a/zellij-integration-tests/tests/snapshots/panes__switch_focus_in_pane_mode.snap b/zellij-integration-tests/tests/snapshots/panes__switch_focus_in_pane_mode.snap index fbbe4940..dc72368a 100644 --- a/zellij-integration-tests/tests/snapshots/panes__switch_focus_in_pane_mode.snap +++ b/zellij-integration-tests/tests/snapshots/panes__switch_focus_in_pane_mode.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/panes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────┐┌ Pane #2 ─────────────────────────────────────────────────┐ -│$ █ ││$ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ █ │$ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/panes__toggle_floating_panes.snap b/zellij-integration-tests/tests/snapshots/panes__toggle_floating_panes.snap index 3a4e1240..00b7b4b4 100644 --- a/zellij-integration-tests/tests/snapshots/panes__toggle_floating_panes.snap +++ b/zellij-integration-tests/tests/snapshots/panes__toggle_floating_panes.snap @@ -2,27 +2,17 @@ source: zellij-integration-tests/tests/panes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ │ -│ │ -│ │ -│ │ -│ │ -│ ┌ Pane #2 ──────────────────────────────────────── PIN [ ] ┐ │ -│ │$ █ │ │ -│ │ │ │ -│ │ │ │ -│ │ │ │ -│ │ │ │ -│ │ │ │ -│ │ │ │ -│ │ │ │ -│ │ │ │ -│ └──────────────────────────────────────────────────────────┘ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + +$ + ┌ Pane #2 ──────────────────────────────────────── PIN [ ] ┐ + │$ █ │ + │ │ + │ │ + │ │ + │ │ + │ │ + │ │ + │ │ + │ │ + └──────────────────────────────────────────────────────────┘ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/panes__toggle_frames_with_floating_pane.snap b/zellij-integration-tests/tests/snapshots/panes__toggle_frames_with_floating_pane.snap new file mode 100644 index 00000000..be296cab --- /dev/null +++ b/zellij-integration-tests/tests/snapshots/panes__toggle_frames_with_floating_pane.snap @@ -0,0 +1,28 @@ +--- +source: zellij-integration-tests/tests/panes.rs +expression: normalized(&grid_snapshot) +--- + Zellij (test) Tab #1 + +┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│$ │ +│ │ +│ │ +│ │ +│ │ +│ ┌ Pane #2 ──────────────────────────────────────── PIN [ ] ┐ │ +│ │$ █ │ │ +│ │ │ │ +│ │ │ │ +│ │ │ │ +│ │ │ │ +│ │ │ │ +│ │ │ │ +│ │ │ │ +│ │ │ │ +│ └──────────────────────────────────────────────────────────┘ │ +│ │ +│ │ +│ │ +│ │ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/panes__toggle_frames_with_single_pane.snap b/zellij-integration-tests/tests/snapshots/panes__toggle_frames_with_single_pane.snap new file mode 100644 index 00000000..b89372c8 --- /dev/null +++ b/zellij-integration-tests/tests/snapshots/panes__toggle_frames_with_single_pane.snap @@ -0,0 +1,28 @@ +--- +source: zellij-integration-tests/tests/panes.rs +expression: normalized(&grid_snapshot) +--- + Zellij (test) Tab #1 + +┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│$ █ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/panes__toggle_frames_with_stacked_panes.snap b/zellij-integration-tests/tests/snapshots/panes__toggle_frames_with_stacked_panes.snap new file mode 100644 index 00000000..4f752a1b --- /dev/null +++ b/zellij-integration-tests/tests/snapshots/panes__toggle_frames_with_stacked_panes.snap @@ -0,0 +1,28 @@ +--- +source: zellij-integration-tests/tests/panes.rs +expression: normalized(&grid_snapshot) +--- + Zellij (test) Tab #1 + +┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +┌ Pane #2 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ +│$ █ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +│ │ +└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/panes__toggle_pane_embed_or_floating.snap b/zellij-integration-tests/tests/snapshots/panes__toggle_pane_embed_or_floating.snap index 3a4e1240..00b7b4b4 100644 --- a/zellij-integration-tests/tests/snapshots/panes__toggle_pane_embed_or_floating.snap +++ b/zellij-integration-tests/tests/snapshots/panes__toggle_pane_embed_or_floating.snap @@ -2,27 +2,17 @@ source: zellij-integration-tests/tests/panes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ │ -│ │ -│ │ -│ │ -│ │ -│ ┌ Pane #2 ──────────────────────────────────────── PIN [ ] ┐ │ -│ │$ █ │ │ -│ │ │ │ -│ │ │ │ -│ │ │ │ -│ │ │ │ -│ │ │ │ -│ │ │ │ -│ │ │ │ -│ │ │ │ -│ └──────────────────────────────────────────────────────────┘ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + +$ + ┌ Pane #2 ──────────────────────────────────────── PIN [ ] ┐ + │$ █ │ + │ │ + │ │ + │ │ + │ │ + │ │ + │ │ + │ │ + │ │ + └──────────────────────────────────────────────────────────┘ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/panes__toggle_pane_frames.snap b/zellij-integration-tests/tests/snapshots/panes__toggle_pane_frames.snap index e58b8c3e..143b1902 100644 --- a/zellij-integration-tests/tests/snapshots/panes__toggle_pane_frames.snap +++ b/zellij-integration-tests/tests/snapshots/panes__toggle_pane_frames.snap @@ -2,7 +2,8 @@ source: zellij-integration-tests/tests/panes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 $ │$ █ │ │ @@ -24,5 +25,4 @@ $ │$ █ │ │ │ - │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/panes__toggle_pane_fullscreen.snap b/zellij-integration-tests/tests/snapshots/panes__toggle_pane_fullscreen.snap index fcb1eba9..ad010e60 100644 --- a/zellij-integration-tests/tests/snapshots/panes__toggle_pane_fullscreen.snap +++ b/zellij-integration-tests/tests/snapshots/panes__toggle_pane_fullscreen.snap @@ -2,27 +2,7 @@ source: zellij-integration-tests/tests/panes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 (FULLSCREEN) -┌ Pane #2 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 (FULLSCREEN) + + Pane #2 +$ █ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/panes__toggle_pane_pinned.snap b/zellij-integration-tests/tests/snapshots/panes__toggle_pane_pinned.snap index 858b2446..de6f7edb 100644 --- a/zellij-integration-tests/tests/snapshots/panes__toggle_pane_pinned.snap +++ b/zellij-integration-tests/tests/snapshots/panes__toggle_pane_pinned.snap @@ -2,27 +2,17 @@ source: zellij-integration-tests/tests/panes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ │ -│ │ -│ │ -│ │ -│ │ -│ ┌ Pane #2 ──────────────────────────────────────── PIN [+] ┐ │ -│ │$ █ │ │ -│ │ │ │ -│ │ │ │ -│ │ │ │ -│ │ │ │ -│ │ │ │ -│ │ │ │ -│ │ │ │ -│ │ │ │ -│ └──────────────────────────────────────────────────────────┘ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + +$ + ┌ Pane #2 ──────────────────────────────────────── PIN [+] ┐ + │$ █ │ + │ │ + │ │ + │ │ + │ │ + │ │ + │ │ + │ │ + │ │ + └──────────────────────────────────────────────────────────┘ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/panes__undo_rename_pane.snap b/zellij-integration-tests/tests/snapshots/panes__undo_rename_pane.snap index b9d0bb9c..143b1902 100644 --- a/zellij-integration-tests/tests/snapshots/panes__undo_rename_pane.snap +++ b/zellij-integration-tests/tests/snapshots/panes__undo_rename_pane.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/panes.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ │$ █ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/plugins__load_plugins_in_background_on_startup.snap b/zellij-integration-tests/tests/snapshots/plugins__load_plugins_in_background_on_startup.snap index 7341d7a6..034a2c02 100644 --- a/zellij-integration-tests/tests/snapshots/plugins__load_plugins_in_background_on_startup.snap +++ b/zellij-integration-tests/tests/snapshots/plugins__load_plugins_in_background_on_startup.snap @@ -2,27 +2,17 @@ source: zellij-integration-tests/tests/plugins.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ │ -│ │ -│ │ -│ │ -│ ┌ (.) - permission-requester ───────────────────── PIN [ ] ┐ │ -│ │This plugin asks permission to: ReadApplicationState, Chan│ │ -│ │geApplicationState, OpenFiles, RunCommands, OpenTerminalsO│ │ -│ │rPlugins, WriteToStdin, WebAccess, ReadCliPipes, MessageAn│ │ -│ │dLaunchOtherPlugins, Reconfigure, RunActionsAsUser, WriteT│ │ -│ │oClipboard, ReadSessionEnvironmentVariables. Allow? (y/n) │ │ -│ │ │ │ -│ │ │ │ -│ │ │ │ -│ │ │ │ -│ │ │ │ -│ └──────────────────────────────────────────────────────────┘ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - + Zellij (test) Tab #1 + +$ + ┌ (.) - permission-requester ───────────────────── PIN [ ] ┐ + │This plugin asks permission to: ReadApplicationState, Chan│ + │geApplicationState, OpenFiles, RunCommands, OpenTerminalsO│ + │rPlugins, WriteToStdin, WebAccess, ReadCliPipes, MessageAn│ + │dLaunchOtherPlugins, Reconfigure, RunActionsAsUser, WriteT│ + │oClipboard, ReadSessionEnvironmentVariables. Allow? (y/n) │ + │ │ + │ │ + │ │ + │ │ + │ │ + └──────────────────────────────────────────────────────────┘ diff --git a/zellij-integration-tests/tests/snapshots/resize__resize_decrease_down.snap b/zellij-integration-tests/tests/snapshots/resize__resize_decrease_down.snap index 6bb097ff..53311e6d 100644 --- a/zellij-integration-tests/tests/snapshots/resize__resize_decrease_down.snap +++ b/zellij-integration-tests/tests/snapshots/resize__resize_decrease_down.snap @@ -2,27 +2,10 @@ source: zellij-integration-tests/tests/resize.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ -┌ Pane #2 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 +$ █ +──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── + Pane #2 +$ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/resize__resize_decrease_in_normal_mode.snap b/zellij-integration-tests/tests/snapshots/resize__resize_decrease_in_normal_mode.snap index 6d94b5be..89aa0ab6 100644 --- a/zellij-integration-tests/tests/snapshots/resize__resize_decrease_in_normal_mode.snap +++ b/zellij-integration-tests/tests/snapshots/resize__resize_decrease_in_normal_mode.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/resize.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────┐┌ Pane #2 ─────────────┐ -│$ ││$ █ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ │$ █ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/resize__resize_decrease_in_resize_mode.snap b/zellij-integration-tests/tests/snapshots/resize__resize_decrease_in_resize_mode.snap index 6d94b5be..89aa0ab6 100644 --- a/zellij-integration-tests/tests/snapshots/resize__resize_decrease_in_resize_mode.snap +++ b/zellij-integration-tests/tests/snapshots/resize__resize_decrease_in_resize_mode.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/resize.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────┐┌ Pane #2 ─────────────┐ -│$ ││$ █ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────────────────────────────────────────────────────────────────────────────┘└──────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ │$ █ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/resize__resize_decrease_left.snap b/zellij-integration-tests/tests/snapshots/resize__resize_decrease_left.snap index 31a95ba2..086c9ed1 100644 --- a/zellij-integration-tests/tests/snapshots/resize__resize_decrease_left.snap +++ b/zellij-integration-tests/tests/snapshots/resize__resize_decrease_left.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/resize.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ───────────────────────────────────────────────────────┐┌ Pane #2 ───────────────────────────────────────────┐ -│$ ││$ █ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└────────────────────────────────────────────────────────────────┘└────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ │$ █ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/resize__resize_decrease_right.snap b/zellij-integration-tests/tests/snapshots/resize__resize_decrease_right.snap index 8071443e..811b464d 100644 --- a/zellij-integration-tests/tests/snapshots/resize__resize_decrease_right.snap +++ b/zellij-integration-tests/tests/snapshots/resize__resize_decrease_right.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/resize.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ───────────────────────────────────────────┐┌ Pane #2 ───────────────────────────────────────────────────────┐ -│$ █ ││$ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└────────────────────────────────────────────────────┘└────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ █ │$ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/resize__resize_decrease_up.snap b/zellij-integration-tests/tests/snapshots/resize__resize_decrease_up.snap index f60a7abc..9469e37a 100644 --- a/zellij-integration-tests/tests/snapshots/resize__resize_decrease_up.snap +++ b/zellij-integration-tests/tests/snapshots/resize__resize_decrease_up.snap @@ -2,27 +2,10 @@ source: zellij-integration-tests/tests/resize.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ -┌ Pane #2 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 +$ +──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── + Pane #2 +$ █ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/resize__resize_increase_down.snap b/zellij-integration-tests/tests/snapshots/resize__resize_increase_down.snap index b04b511a..53311e6d 100644 --- a/zellij-integration-tests/tests/snapshots/resize__resize_increase_down.snap +++ b/zellij-integration-tests/tests/snapshots/resize__resize_increase_down.snap @@ -2,27 +2,10 @@ source: zellij-integration-tests/tests/resize.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ -┌ Pane #2 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 +$ █ +──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── + Pane #2 +$ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/resize__resize_increase_in_normal_mode.snap b/zellij-integration-tests/tests/snapshots/resize__resize_increase_in_normal_mode.snap index 1da118af..2a1f23f0 100644 --- a/zellij-integration-tests/tests/snapshots/resize__resize_increase_in_normal_mode.snap +++ b/zellij-integration-tests/tests/snapshots/resize__resize_increase_in_normal_mode.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/resize.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────┐┌ Pane #2 ─────────────────────────────────────────────────────────────────────────────────────┐ -│$ ││$ █ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ │$ █ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/resize__resize_increase_in_resize_mode.snap b/zellij-integration-tests/tests/snapshots/resize__resize_increase_in_resize_mode.snap index 1da118af..2a1f23f0 100644 --- a/zellij-integration-tests/tests/snapshots/resize__resize_increase_in_resize_mode.snap +++ b/zellij-integration-tests/tests/snapshots/resize__resize_increase_in_resize_mode.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/resize.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────┐┌ Pane #2 ─────────────────────────────────────────────────────────────────────────────────────┐ -│$ ││$ █ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────┘└──────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ │$ █ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/resize__resize_increase_right.snap b/zellij-integration-tests/tests/snapshots/resize__resize_increase_right.snap index fca16a54..416be42d 100644 --- a/zellij-integration-tests/tests/snapshots/resize__resize_increase_right.snap +++ b/zellij-integration-tests/tests/snapshots/resize__resize_increase_right.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/resize.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ───────────────────────────────────────────────────────┐┌ Pane #2 ───────────────────────────────────────────┐ -│$ █ ││$ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└────────────────────────────────────────────────────────────────┘└────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ █ │$ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/resize__resize_increase_up.snap b/zellij-integration-tests/tests/snapshots/resize__resize_increase_up.snap index 5ff0c7aa..9469e37a 100644 --- a/zellij-integration-tests/tests/snapshots/resize__resize_increase_up.snap +++ b/zellij-integration-tests/tests/snapshots/resize__resize_increase_up.snap @@ -2,27 +2,10 @@ source: zellij-integration-tests/tests/resize.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ -┌ Pane #2 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 +$ +──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── + Pane #2 +$ █ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/resurrection__quit_and_resurrect_session.snap b/zellij-integration-tests/tests/snapshots/resurrection__quit_and_resurrect_session.snap index 414fdd10..70894a4e 100644 --- a/zellij-integration-tests/tests/snapshots/resurrection__quit_and_resurrect_session.snap +++ b/zellij-integration-tests/tests/snapshots/resurrection__quit_and_resurrect_session.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/resurrection.rs expression: normalized(&grid_snapshot) --- - Zellij (test) alpha beta -┌ Pane #1 ─────────────────────────────────────────────────┐┌ Pane #2 ─────────────────────────────────────────────────┐ -│ ││█ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) alpha beta + + Pane #1 │ Pane #2 + │█ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/resurrection__quit_and_resurrect_session_with_viewport_serialization.snap b/zellij-integration-tests/tests/snapshots/resurrection__quit_and_resurrect_session_with_viewport_serialization.snap index 9cdf365b..4c6f5ee3 100644 --- a/zellij-integration-tests/tests/snapshots/resurrection__quit_and_resurrect_session_with_viewport_serialization.snap +++ b/zellij-integration-tests/tests/snapshots/resurrection__quit_and_resurrect_session_with_viewport_serialization.snap @@ -2,27 +2,7 @@ source: zellij-integration-tests/tests/resurrection.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│ │ -│VIEWPORT_CONTENT_TO_RESTORE │ -│ │ -│█ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + +VIEWPORT_CONTENT_TO_RESTORE +█ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/scroll__half_page_scroll_down.snap b/zellij-integration-tests/tests/snapshots/scroll__half_page_scroll_down.snap index 2ce2743f..e51bd7c6 100644 --- a/zellij-integration-tests/tests/snapshots/scroll__half_page_scroll_down.snap +++ b/zellij-integration-tests/tests/snapshots/scroll__half_page_scroll_down.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/scroll.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ────────────────────────────────────────────────────────────────────────────────────────────── SCROLL: 0/21 ┐ -│line22 │ -│line23 │ -│line24 │ -│line25 │ -│line26 │ -│line27 │ -│line28 │ -│line29 │ -│line30 │ -│line31 │ -│line32 │ -│line33 │ -│line34 │ -│line35 │ -│line36 │ -│line37 │ -│line38 │ -│line39 │ -│line40 │ -│█ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Ctrl + <s> SEARCH s Search ↓↑ Scroll PgDn|PgUp Scroll d|u Scroll e Edit ENTER Select + Zellij (test) Tab #1 + [ SCROLL 0/19 ] +line20 +line21 +line22 +line23 +line24 +line25 +line26 +line27 +line28 +line29 +line30 +line31 +line32 +line33 +line34 +line35 +line36 +line37 +line38 +line39 +line40 +█ + Ctrl + <s> SEARCH s Search ↓↑ Scroll PgDn|PgUp Scroll d|u Scroll e Edit ENTER Select diff --git a/zellij-integration-tests/tests/snapshots/scroll__half_page_scroll_up.snap b/zellij-integration-tests/tests/snapshots/scroll__half_page_scroll_up.snap index 4adb7c17..1b2b0967 100644 --- a/zellij-integration-tests/tests/snapshots/scroll__half_page_scroll_up.snap +++ b/zellij-integration-tests/tests/snapshots/scroll__half_page_scroll_up.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/scroll.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ───────────────────────────────────────────────────────────────────────────────────────────── SCROLL: 10/21 ┐ -│line12 │ -│line13 │ -│line14 │ -│line15 │ -│line16 │ -│line17 │ -│line18 │ -│line19 │ -│line20 │ -│line21 │ -│line22 │ -│line23 │ -│line24 │ -│line25 │ -│line26 │ -│line27 │ -│line28 │ -│line29 │ -│line30 │ -│█ine31 │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Ctrl + <s> SEARCH s Search ↓↑ Scroll PgDn|PgUp Scroll d|u Scroll e Edit ENTER Select + Zellij (test) Tab #1 + [ SCROLL 10/19 ] +line10 +line11 +line12 +line13 +line14 +line15 +line16 +line17 +line18 +line19 +line20 +line21 +line22 +line23 +line24 +line25 +line26 +line27 +line28 +line29 +line30 +█ine31 + Ctrl + <s> SEARCH s Search ↓↑ Scroll PgDn|PgUp Scroll d|u Scroll e Edit ENTER Select diff --git a/zellij-integration-tests/tests/snapshots/scroll__page_scroll_down.snap b/zellij-integration-tests/tests/snapshots/scroll__page_scroll_down.snap index 6b3cec51..e51bd7c6 100644 --- a/zellij-integration-tests/tests/snapshots/scroll__page_scroll_down.snap +++ b/zellij-integration-tests/tests/snapshots/scroll__page_scroll_down.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/scroll.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ────────────────────────────────────────────────────────────────────────────────────────────── SCROLL: 1/21 ┐ -│line21 │ -│line22 │ -│line23 │ -│line24 │ -│line25 │ -│line26 │ -│line27 │ -│line28 │ -│line29 │ -│line30 │ -│line31 │ -│line32 │ -│line33 │ -│line34 │ -│line35 │ -│line36 │ -│line37 │ -│line38 │ -│line39 │ -│█ine40 │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Ctrl + <s> SEARCH s Search ↓↑ Scroll PgDn|PgUp Scroll d|u Scroll e Edit ENTER Select + Zellij (test) Tab #1 + [ SCROLL 0/19 ] +line20 +line21 +line22 +line23 +line24 +line25 +line26 +line27 +line28 +line29 +line30 +line31 +line32 +line33 +line34 +line35 +line36 +line37 +line38 +line39 +line40 +█ + Ctrl + <s> SEARCH s Search ↓↑ Scroll PgDn|PgUp Scroll d|u Scroll e Edit ENTER Select diff --git a/zellij-integration-tests/tests/snapshots/scroll__page_scroll_up.snap b/zellij-integration-tests/tests/snapshots/scroll__page_scroll_up.snap index d742f0d3..54718511 100644 --- a/zellij-integration-tests/tests/snapshots/scroll__page_scroll_up.snap +++ b/zellij-integration-tests/tests/snapshots/scroll__page_scroll_up.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/scroll.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ───────────────────────────────────────────────────────────────────────────────────────────── SCROLL: 21/21 ┐ -│$ line01 │ -│line02 │ -│line03 │ -│line04 │ -│line05 │ -│line06 │ -│line07 │ -│line08 │ -│line09 │ -│line10 │ -│line11 │ -│line12 │ -│line13 │ -│line14 │ -│line15 │ -│line16 │ -│line17 │ -│line18 │ -│line19 │ -│█ine20 │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Ctrl + <s> SEARCH s Search ↓↑ Scroll PgDn|PgUp Scroll d|u Scroll e Edit ENTER Select + Zellij (test) Tab #1 + [ SCROLL 19/19 ] +$ line01 +line02 +line03 +line04 +line05 +line06 +line07 +line08 +line09 +line10 +line11 +line12 +line13 +line14 +line15 +line16 +line17 +line18 +line19 +line20 +line21 +█ine22 + Ctrl + <s> SEARCH s Search ↓↑ Scroll PgDn|PgUp Scroll d|u Scroll e Edit ENTER Select diff --git a/zellij-integration-tests/tests/snapshots/scroll__scroll_down_one_line.snap b/zellij-integration-tests/tests/snapshots/scroll__scroll_down_one_line.snap index 6b3cec51..873db2ac 100644 --- a/zellij-integration-tests/tests/snapshots/scroll__scroll_down_one_line.snap +++ b/zellij-integration-tests/tests/snapshots/scroll__scroll_down_one_line.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/scroll.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ────────────────────────────────────────────────────────────────────────────────────────────── SCROLL: 1/21 ┐ -│line21 │ -│line22 │ -│line23 │ -│line24 │ -│line25 │ -│line26 │ -│line27 │ -│line28 │ -│line29 │ -│line30 │ -│line31 │ -│line32 │ -│line33 │ -│line34 │ -│line35 │ -│line36 │ -│line37 │ -│line38 │ -│line39 │ -│█ine40 │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - Ctrl + <s> SEARCH s Search ↓↑ Scroll PgDn|PgUp Scroll d|u Scroll e Edit ENTER Select + Zellij (test) Tab #1 + [ SCROLL 1/19 ] +line19 +line20 +line21 +line22 +line23 +line24 +line25 +line26 +line27 +line28 +line29 +line30 +line31 +line32 +line33 +line34 +line35 +line36 +line37 +line38 +line39 +█ine40 + Ctrl + <s> SEARCH s Search ↓↑ Scroll PgDn|PgUp Scroll d|u Scroll e Edit ENTER Select diff --git a/zellij-integration-tests/tests/snapshots/scroll__scroll_to_bottom.snap b/zellij-integration-tests/tests/snapshots/scroll__scroll_to_bottom.snap index 4e486cc2..50481925 100644 --- a/zellij-integration-tests/tests/snapshots/scroll__scroll_to_bottom.snap +++ b/zellij-integration-tests/tests/snapshots/scroll__scroll_to_bottom.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/scroll.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ────────────────────────────────────────────────────────────────────────────────────────────── SCROLL: 0/21 ┐ -│line22 │ -│line23 │ -│line24 │ -│line25 │ -│line26 │ -│line27 │ -│line28 │ -│line29 │ -│line30 │ -│line31 │ -│line32 │ -│line33 │ -│line34 │ -│line35 │ -│line36 │ -│line37 │ -│line38 │ -│line39 │ -│line40 │ -│█ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + [ SCROLL 0/19 ] +line20 +line21 +line22 +line23 +line24 +line25 +line26 +line27 +line28 +line29 +line30 +line31 +line32 +line33 +line34 +line35 +line36 +line37 +line38 +line39 +line40 +█ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/search__search_down_to_next_match.snap b/zellij-integration-tests/tests/snapshots/search__search_down_to_next_match.snap index 7f89ceaa..af4123ad 100644 --- a/zellij-integration-tests/tests/snapshots/search__search_down_to_next_match.snap +++ b/zellij-integration-tests/tests/snapshots/search__search_down_to_next_match.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/search.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ SEARCHING: NEEDLE ──────────────────────────────────────────────────────────────────────────────────── SCROLL: 6/21 ┐ -│line16 │ -│line17 │ -│line18 │ -│line19 │ -│line20 │ -│line21 │ -│line22 │ -│line23 │ -│line24 │ -│line25 │ -│line26 │ -│line27 │ -│line28 │ -│line29 │ -│line30 │ -│line31 │ -│line32 │ -│line33 │ -│line34 │ -│█ine35 NEEDLE lower │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - SEARCHING ↓↑ Scroll PgDn|PgUp Scroll d|u Scroll n Down p Up c Case w Wrap o Whole + Zellij (test) Tab #1 + [ SCROLL 15/19 ] +line14 +line15 +line16 +line17 +line18 +line19 +line20 +line21 +line22 +line23 +line24 +line25 +line26 +line27 +line28 +line29 +line30 +line31 +line32 +line33 +line34 +█ine35 NEEDLE lower + SEARCHING ↓↑ Scroll PgDn|PgUp Scroll d|u Scroll n Down p Up c Case w Wrap o Whole diff --git a/zellij-integration-tests/tests/snapshots/search__search_input_jumps_to_a_match.snap b/zellij-integration-tests/tests/snapshots/search__search_input_jumps_to_a_match.snap index d3c4a72d..bdceee74 100644 --- a/zellij-integration-tests/tests/snapshots/search__search_input_jumps_to_a_match.snap +++ b/zellij-integration-tests/tests/snapshots/search__search_input_jumps_to_a_match.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/search.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ SEARCHING: NEEDLE ─────────────────────────────────────────────────────────────────────────────────── SCROLL: 17/21 ┐ -│line05 NEEDLE │ -│line06 │ -│line07 │ -│line08 │ -│line09 │ -│line10 │ -│line11 │ -│line12 │ -│line13 │ -│line14 │ -│line15 │ -│line16 │ -│line17 │ -│line18 │ -│line19 │ -│line20 │ -│line21 │ -│line22 │ -│line23 │ -│█ine24 │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - ENTERING SEARCH TERM ENTER When done + Zellij (test) Tab #1 + [ SCROLL 0/19 ] +line05 NEEDLE +line06 +line07 +line08 +line09 +line10 +line11 +line12 +line13 +line14 +line15 +line16 +line17 +line18 +line19 +line20 +line21 +line22 +line23 +line24 +line25 +█ine26 + ENTERING SEARCH TERM ENTER When done diff --git a/zellij-integration-tests/tests/snapshots/search__search_toggle_case_sensitivity.snap b/zellij-integration-tests/tests/snapshots/search__search_toggle_case_sensitivity.snap index 8fab3747..b1642d5b 100644 --- a/zellij-integration-tests/tests/snapshots/search__search_toggle_case_sensitivity.snap +++ b/zellij-integration-tests/tests/snapshots/search__search_toggle_case_sensitivity.snap @@ -2,9 +2,9 @@ source: zellij-integration-tests/tests/search.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 + Zellij (test) Tab #1 + ┌ SEARCHING: NEEDLE [c] ───────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ NEEDLE on screen │ +│NEEDLE on screen │ │█ │ │ │ │ │ @@ -25,4 +25,4 @@ expression: normalized(&grid_snapshot) │ │ │ │ └──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - SEARCHING ↓↑ Scroll PgDn|PgUp Scroll d|u Scroll n Down p Up c Case w Wrap o Whole + SEARCHING ↓↑ Scroll PgDn|PgUp Scroll d|u Scroll n Down p Up c Case w Wrap o Whole diff --git a/zellij-integration-tests/tests/snapshots/search__search_toggle_whole_word.snap b/zellij-integration-tests/tests/snapshots/search__search_toggle_whole_word.snap index a611c034..9011cc91 100644 --- a/zellij-integration-tests/tests/snapshots/search__search_toggle_whole_word.snap +++ b/zellij-integration-tests/tests/snapshots/search__search_toggle_whole_word.snap @@ -2,9 +2,9 @@ source: zellij-integration-tests/tests/search.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 + Zellij (test) Tab #1 + ┌ SEARCHING: NEEDLE [o] ───────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ NEEDLE on screen │ +│NEEDLE on screen │ │█ │ │ │ │ │ @@ -25,4 +25,4 @@ expression: normalized(&grid_snapshot) │ │ │ │ └──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - SEARCHING ↓↑ Scroll PgDn|PgUp Scroll d|u Scroll n Down p Up c Case w Wrap o Whole + SEARCHING ↓↑ Scroll PgDn|PgUp Scroll d|u Scroll n Down p Up c Case w Wrap o Whole diff --git a/zellij-integration-tests/tests/snapshots/search__search_toggle_wrap.snap b/zellij-integration-tests/tests/snapshots/search__search_toggle_wrap.snap index 42903ace..5d52b7ed 100644 --- a/zellij-integration-tests/tests/snapshots/search__search_toggle_wrap.snap +++ b/zellij-integration-tests/tests/snapshots/search__search_toggle_wrap.snap @@ -2,9 +2,9 @@ source: zellij-integration-tests/tests/search.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 + Zellij (test) Tab #1 + ┌ SEARCHING: NEEDLE [w] ───────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ NEEDLE on screen │ +│NEEDLE on screen │ │█ │ │ │ │ │ @@ -25,4 +25,4 @@ expression: normalized(&grid_snapshot) │ │ │ │ └──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - SEARCHING ↓↑ Scroll PgDn|PgUp Scroll d|u Scroll n Down p Up c Case w Wrap o Whole + SEARCHING ↓↑ Scroll PgDn|PgUp Scroll d|u Scroll n Down p Up c Case w Wrap o Whole diff --git a/zellij-integration-tests/tests/snapshots/search__search_up_to_previous_match.snap b/zellij-integration-tests/tests/snapshots/search__search_up_to_previous_match.snap index c113cdad..b723f787 100644 --- a/zellij-integration-tests/tests/snapshots/search__search_up_to_previous_match.snap +++ b/zellij-integration-tests/tests/snapshots/search__search_up_to_previous_match.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/search.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ SEARCHING: NEEDLE ─────────────────────────────────────────────────────────────────────────────────── SCROLL: 17/21 ┐ -│line05 NEEDLE upper │ -│line06 │ -│line07 │ -│line08 │ -│line09 │ -│line10 │ -│line11 │ -│line12 │ -│line13 │ -│line14 │ -│line15 │ -│line16 │ -│line17 │ -│line18 │ -│line19 │ -│line20 │ -│line21 │ -│line22 │ -│line23 │ -│█ine24 │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ - SEARCHING ↓↑ Scroll PgDn|PgUp Scroll d|u Scroll n Down p Up c Case w Wrap o Whole + Zellij (test) Tab #1 + [ SCROLL 0/19 ] +line05 NEEDLE upper +line06 +line07 +line08 +line09 +line10 +line11 +line12 +line13 +line14 +line15 +line16 +line17 +line18 +line19 +line20 +line21 +line22 +line23 +line24 +line25 +█ine26 + SEARCHING ↓↑ Scroll PgDn|PgUp Scroll d|u Scroll n Down p Up c Case w Wrap o Whole diff --git a/zellij-integration-tests/tests/snapshots/tabs__break_pane_into_new_tab.snap b/zellij-integration-tests/tests/snapshots/tabs__break_pane_into_new_tab.snap index 83ddbab4..91c4eebe 100644 --- a/zellij-integration-tests/tests/snapshots/tabs__break_pane_into_new_tab.snap +++ b/zellij-integration-tests/tests/snapshots/tabs__break_pane_into_new_tab.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/tabs.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 Tab #2 -┌ Pane #2 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 Tab #2 + +$ █ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/tabs__break_pane_to_the_left.snap b/zellij-integration-tests/tests/snapshots/tabs__break_pane_to_the_left.snap index f64e72ee..2b03a0f3 100644 --- a/zellij-integration-tests/tests/snapshots/tabs__break_pane_to_the_left.snap +++ b/zellij-integration-tests/tests/snapshots/tabs__break_pane_to_the_left.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/tabs.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────┐┌ Pane #1 ─────────────────────────────────────────────────┐ -│$ alpha ││$ beta█ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + + Pane #1 │ Pane #1 +$ alpha │$ beta█ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/tabs__break_pane_to_the_right.snap b/zellij-integration-tests/tests/snapshots/tabs__break_pane_to_the_right.snap index db5fb026..7235b444 100644 --- a/zellij-integration-tests/tests/snapshots/tabs__break_pane_to_the_right.snap +++ b/zellij-integration-tests/tests/snapshots/tabs__break_pane_to_the_right.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/tabs.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 Tab #2 -┌ Pane #1 ─────────────────────────────────────────────────┐┌ Pane #2 ─────────────────────────────────────────────────┐ -│$ gamma ││$ beta█ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 Tab #2 + + Pane #1 │ Pane #2 +$ gamma │$ beta█ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/tabs__close_tab.snap b/zellij-integration-tests/tests/snapshots/tabs__close_tab.snap index f1544d42..5ffc3a99 100644 --- a/zellij-integration-tests/tests/snapshots/tabs__close_tab.snap +++ b/zellij-integration-tests/tests/snapshots/tabs__close_tab.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/tabs.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + +$ █ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/tabs__go_to_next_tab.snap b/zellij-integration-tests/tests/snapshots/tabs__go_to_next_tab.snap index 9441a9b1..403e5945 100644 --- a/zellij-integration-tests/tests/snapshots/tabs__go_to_next_tab.snap +++ b/zellij-integration-tests/tests/snapshots/tabs__go_to_next_tab.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/tabs.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 Tab #2 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ twotwo█ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 Tab #2 + +$ twotwo█ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/tabs__go_to_previous_tab.snap b/zellij-integration-tests/tests/snapshots/tabs__go_to_previous_tab.snap index e60935a0..47ff0263 100644 --- a/zellij-integration-tests/tests/snapshots/tabs__go_to_previous_tab.snap +++ b/zellij-integration-tests/tests/snapshots/tabs__go_to_previous_tab.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/tabs.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 Tab #2 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ oneone█ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 Tab #2 + +$ oneone█ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/tabs__go_to_tab_by_number.snap b/zellij-integration-tests/tests/snapshots/tabs__go_to_tab_by_number.snap index e60935a0..47ff0263 100644 --- a/zellij-integration-tests/tests/snapshots/tabs__go_to_tab_by_number.snap +++ b/zellij-integration-tests/tests/snapshots/tabs__go_to_tab_by_number.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/tabs.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 Tab #2 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ oneone█ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 Tab #2 + +$ oneone█ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/tabs__move_tab_to_left.snap b/zellij-integration-tests/tests/snapshots/tabs__move_tab_to_left.snap index 5afe4d28..d6207d33 100644 --- a/zellij-integration-tests/tests/snapshots/tabs__move_tab_to_left.snap +++ b/zellij-integration-tests/tests/snapshots/tabs__move_tab_to_left.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/tabs.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 Tab #3 Tab #2 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 Tab #3 Tab #2 + +$ █ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/tabs__move_tab_to_left_until_it_wraps_around.snap b/zellij-integration-tests/tests/snapshots/tabs__move_tab_to_left_until_it_wraps_around.snap index d045b135..95e5f3f3 100644 --- a/zellij-integration-tests/tests/snapshots/tabs__move_tab_to_left_until_it_wraps_around.snap +++ b/zellij-integration-tests/tests/snapshots/tabs__move_tab_to_left_until_it_wraps_around.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/tabs.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 Tab #2 Tab #3 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 Tab #2 Tab #3 + +$ █ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/tabs__move_tab_to_right.snap b/zellij-integration-tests/tests/snapshots/tabs__move_tab_to_right.snap index 5afe4d28..d6207d33 100644 --- a/zellij-integration-tests/tests/snapshots/tabs__move_tab_to_right.snap +++ b/zellij-integration-tests/tests/snapshots/tabs__move_tab_to_right.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/tabs.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 Tab #3 Tab #2 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 Tab #3 Tab #2 + +$ █ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/tabs__move_tab_to_right_until_it_wraps_around.snap b/zellij-integration-tests/tests/snapshots/tabs__move_tab_to_right_until_it_wraps_around.snap index 2b4f6227..f2a22412 100644 --- a/zellij-integration-tests/tests/snapshots/tabs__move_tab_to_right_until_it_wraps_around.snap +++ b/zellij-integration-tests/tests/snapshots/tabs__move_tab_to_right_until_it_wraps_around.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/tabs.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #3 Tab #1 Tab #2 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #3 Tab #1 Tab #2 + +$ █ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/tabs__open_new_tab.snap b/zellij-integration-tests/tests/snapshots/tabs__open_new_tab.snap index da0f2839..91c4eebe 100644 --- a/zellij-integration-tests/tests/snapshots/tabs__open_new_tab.snap +++ b/zellij-integration-tests/tests/snapshots/tabs__open_new_tab.snap @@ -1,28 +1,7 @@ --- source: zellij-integration-tests/tests/tabs.rs -expression: normalized(&zellij.snapshot()) +expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 Tab #2 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 Tab #2 + +$ █ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/tabs__toggle_active_sync_tab.snap b/zellij-integration-tests/tests/snapshots/tabs__toggle_active_sync_tab.snap index f34fad73..bd955b1a 100644 --- a/zellij-integration-tests/tests/snapshots/tabs__toggle_active_sync_tab.snap +++ b/zellij-integration-tests/tests/snapshots/tabs__toggle_active_sync_tab.snap @@ -2,27 +2,27 @@ source: zellij-integration-tests/tests/tabs.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 (SYNC) -┌ Pane #1 ─────────────────────────────────────────────────┐┌ Pane #2 ─────────────────────────────────────────────────┐ -│$ ││$ █ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -│ ││ │ -└──────────────────────────────────────────────────────────┘└──────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 (SYNC) + + Pane #1 │ Pane #2 +$ │$ █ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/tabs__toggle_tab_returns_to_last_used.snap b/zellij-integration-tests/tests/snapshots/tabs__toggle_tab_returns_to_last_used.snap index e60935a0..47ff0263 100644 --- a/zellij-integration-tests/tests/snapshots/tabs__toggle_tab_returns_to_last_used.snap +++ b/zellij-integration-tests/tests/snapshots/tabs__toggle_tab_returns_to_last_used.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/tabs.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 Tab #2 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ oneone█ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 Tab #2 + +$ oneone█ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/tabs__undo_rename_tab.snap b/zellij-integration-tests/tests/snapshots/tabs__undo_rename_tab.snap index f1544d42..5ffc3a99 100644 --- a/zellij-integration-tests/tests/snapshots/tabs__undo_rename_tab.snap +++ b/zellij-integration-tests/tests/snapshots/tabs__undo_rename_tab.snap @@ -2,27 +2,6 @@ source: zellij-integration-tests/tests/tabs.rs expression: normalized(&grid_snapshot) --- - Zellij (test) Tab #1 -┌ Pane #1 ─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ -│$ █ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -│ │ -└──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘ + Zellij (test) Tab #1 + +$ █ Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT ... diff --git a/zellij-integration-tests/tests/snapshots/title_frame_mouse__mouse_click_floating_ribbon_in_status_bar_opens_a_floating_pane.snap b/zellij-integration-tests/tests/snapshots/title_frame_mouse__mouse_click_floating_ribbon_in_status_bar_opens_a_floating_pane.snap new file mode 100644 index 00000000..ef47b9b9 --- /dev/null +++ b/zellij-integration-tests/tests/snapshots/title_frame_mouse__mouse_click_floating_ribbon_in_status_bar_opens_a_floating_pane.snap @@ -0,0 +1,18 @@ +--- +source: zellij-integration-tests/tests/title_frame_mouse.rs +expression: normalized(&grid_snapshot) +--- + Zellij (test) Tab #1 + +$ + ┌ Pane #2 ─────────────────────────────────────────────────────────────────────────── PIN [ ] ┐ + │$ █ │ + │ │ + │ │ + │ │ + │ │ + │ │ + │ │ + │ │ + │ │ + └─────────────────────────────────────────────────────────────────────────────────────────────┘ + Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT Alt + <n> New Pane <f> Floating diff --git a/zellij-integration-tests/tests/snapshots/title_frame_mouse__mouse_click_new_pane_in_status_bar_opens_a_new_pane.snap b/zellij-integration-tests/tests/snapshots/title_frame_mouse__mouse_click_new_pane_in_status_bar_opens_a_new_pane.snap new file mode 100644 index 00000000..7a7db894 --- /dev/null +++ b/zellij-integration-tests/tests/snapshots/title_frame_mouse__mouse_click_new_pane_in_status_bar_opens_a_new_pane.snap @@ -0,0 +1,28 @@ +--- +source: zellij-integration-tests/tests/title_frame_mouse.rs +expression: normalized(&grid_snapshot) +--- + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ │opened from the status bar█ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + │ + Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT Alt + <n> New Pane <←↓↑→> Change Focus <+-> Resize <f> Floating diff --git a/zellij-integration-tests/tests/snapshots/title_frame_mouse__mouse_click_new_pane_in_status_bar_twice_opens_two_panes.snap b/zellij-integration-tests/tests/snapshots/title_frame_mouse__mouse_click_new_pane_in_status_bar_twice_opens_two_panes.snap new file mode 100644 index 00000000..e3fbdb82 --- /dev/null +++ b/zellij-integration-tests/tests/snapshots/title_frame_mouse__mouse_click_new_pane_in_status_bar_twice_opens_two_panes.snap @@ -0,0 +1,28 @@ +--- +source: zellij-integration-tests/tests/title_frame_mouse.rs +expression: normalized(&grid_snapshot) +--- + Zellij (test) Tab #1 + + Pane #1 │ Pane #2 +$ │first pane from the status bar + │ + │ + │ + │ + │ + │ + │ + │ + ├─────────────────────────────────────────────────────────────────────────────────────────────── + │ Pane #3 + │second pane from the status bar█ + │ + │ + │ + │ + │ + │ + │ + │ + │ + Ctrl + <g> LOCK <p> PANE <t> TAB <n> RESIZE <h> MOVE <s> SEARCH <o> SESSION <q> QUIT Alt + <n> New Pane <←↓↑→> Change Focus <+-> Resize <f> Floating diff --git a/zellij-integration-tests/tests/snapshots/title_frame_mouse__mouse_click_new_tab_button_in_tab_bar_opens_a_new_tab.snap b/zellij-integration-tests/tests/snapshots/title_frame_mouse__mouse_click_new_tab_button_in_tab_bar_opens_a_new_tab.snap new file mode 100644 index 00000000..f05439e3 --- /dev/null +++ b/zellij-integration-tests/tests/snapshots/title_frame_mouse__mouse_click_new_tab_button_in_tab_bar_opens_a_new_tab.snap @@ -0,0 +1,7 @@ +--- +source: zellij-integration-tests/tests/title_frame_mouse.rs +expression: normalized(&grid_snapshot) +--- + Zellij (test) Tab #1 Tab #2 + +$ █ + diff --git a/zellij-integration-tests/tests/tabs.rs b/zellij-integration-tests/tests/tabs.rs index 7ba3194a..cd37e251 100644 --- a/zellij-integration-tests/tests/tabs.rs +++ b/zellij-integration-tests/tests/tabs.rs @@ -26,7 +26,7 @@ fn open_new_tab_and_wait_for_prompt(zellij: &TestSession, expected_tab: &str) -> zellij.wait_until("new tab opened with prompt", move |grid_snapshot| { grid_snapshot.status_bar_appears() && grid_snapshot.contains(&expected_tab) - && grid_snapshot.cursor_is_at(col(3).row(2)) + && grid_snapshot.cursor_is_at(col(2).row(1)) }); terminal } @@ -201,9 +201,8 @@ fn break_pane_into_new_tab() { let grid_snapshot = zellij.wait_until("focused pane broken into a new tab", |grid_snapshot| { grid_snapshot.status_bar_appears() && grid_snapshot.contains("Tab #2") - && grid_snapshot.contains("Pane #2") && !grid_snapshot.contains("Pane #1") - && grid_snapshot.cursor_is_at(col(3).row(2)) + && grid_snapshot.cursor_is_at(col(2).row(1)) }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); @@ -273,7 +272,7 @@ fn open_new_tab() { let grid_snapshot = zellij.wait_until("second tab steady in normal mode", |grid_snapshot| { grid_snapshot.status_bar_appears() && grid_snapshot.contains("Tab #2") - && grid_snapshot.cursor_is_at(col(3).row(2)) + && grid_snapshot.cursor_is_at(col(2).row(1)) }); assert_snapshot!(normalized(&grid_snapshot)); zellij.quit(); @@ -294,7 +293,7 @@ fn close_tab() { grid_snapshot.status_bar_appears() && grid_snapshot.contains("Tab #1") && !grid_snapshot.contains("Tab #2") - && grid_snapshot.cursor_is_at(col(3).row(2)) + && grid_snapshot.cursor_is_at(col(2).row(1)) }, ); assert_snapshot!(normalized(&grid_snapshot)); diff --git a/zellij-integration-tests/tests/title_frame_hints.rs b/zellij-integration-tests/tests/title_frame_hints.rs new file mode 100644 index 00000000..5f841486 --- /dev/null +++ b/zellij-integration-tests/tests/title_frame_hints.rs @@ -0,0 +1,233 @@ +#![cfg(unix)] + +use zellij_integration_tests::{ + claim_first_terminal_and_wait_for_prompt, keys, split_right_and_wait_for_prompt, FakePtyHandle, + Size, TestRunner, TestSession, PROMPT, +}; + +const FOCUSED_PANE_COLUMN: usize = 90; +const ALTERNATE_FOCUSED_PANE_COLUMN: usize = 100; +const OTHER_PANE_COLUMN: usize = 10; +const HOVER_LINE: usize = 12; + +fn start_zellij_with_mouse() -> TestSession { + TestRunner::new(Size { + cols: 120, + rows: 24, + }) + .with_config("mouse_mode true\nadvanced_mouse_actions true\nmouse_hover_effects true") + .start() +} + +fn start_full_frame_zellij_with_mouse(cols: usize) -> TestSession { + TestRunner::new(Size { cols, rows: 24 }) + .with_config( + "pane_frame_style \"full\"\nmouse_mode true\nadvanced_mouse_actions true\nmouse_hover_effects true", + ) + .start() +} + +fn sgr_motion(column: usize, line: usize) -> Vec<u8> { + format!("\u{1b}[<35;{};{}M", column, line).into_bytes() +} + +fn two_pane_session_with_handles() -> (TestSession, FakePtyHandle, FakePtyHandle) { + let zellij = start_zellij_with_mouse(); + let left_terminal = claim_first_terminal_and_wait_for_prompt(&zellij); + let right_terminal = split_right_and_wait_for_prompt(&zellij); + zellij.wait_until("two panes settled in locked base mode", |grid_snapshot| { + grid_snapshot.status_bar_appears() && grid_snapshot.tab_bar_appears() + }); + (zellij, left_terminal, right_terminal) +} + +fn two_pane_session() -> TestSession { + two_pane_session_with_handles().0 +} + +fn full_frame_two_pane_session(cols: usize) -> TestSession { + let zellij = start_full_frame_zellij_with_mouse(cols); + let left_terminal = zellij.expect_pty_spawn(); + left_terminal.output(PROMPT); + zellij.wait_until("first full-frame pane rendered", |grid_snapshot| { + grid_snapshot.status_bar_appears() + && grid_snapshot.contains("┌") + && grid_snapshot.contains("$ ") + }); + zellij.send_stdin(&keys::ctrl('p')); + zellij.send_stdin(&keys::key('r')); + let right_terminal = zellij.expect_pty_spawn(); + right_terminal.output(PROMPT); + zellij.wait_until("two full-frame panes rendered", |grid_snapshot| { + grid_snapshot.contains("Pane #1") + && grid_snapshot.contains("Pane #2") + && grid_snapshot.status_bar_appears() + }); + zellij +} + +#[test] +fn hovering_a_pane_shows_a_hint_on_the_status_bar() { + let mut zellij = two_pane_session(); + + zellij.send_stdin(&sgr_motion(FOCUSED_PANE_COLUMN, HOVER_LINE)); + zellij.wait_until( + "resize hint shown when hovering the focused pane", + |grid_snapshot| grid_snapshot.contains("resize"), + ); + + zellij.send_stdin(&sgr_motion(OTHER_PANE_COLUMN, HOVER_LINE)); + zellij.wait_until( + "group hint shown when hovering the other pane", + |grid_snapshot| grid_snapshot.contains("group"), + ); + + zellij.quit(); +} + +#[test] +fn any_input_dismisses_the_hint() { + let mut zellij = two_pane_session(); + + zellij.send_stdin(&sgr_motion(FOCUSED_PANE_COLUMN, HOVER_LINE)); + zellij.wait_until("resize hint shown", |grid_snapshot| { + grid_snapshot.contains("resize") + }); + + zellij.send_stdin(b"x"); + zellij.wait_until("hint cleared by input", |grid_snapshot| { + !grid_snapshot.contains("resize") && !grid_snapshot.contains("group") + }); + + zellij.quit(); +} + +#[test] +fn hint_only_re_fires_when_entering_a_different_pane() { + let mut zellij = two_pane_session(); + + zellij.send_stdin(&sgr_motion(FOCUSED_PANE_COLUMN, HOVER_LINE)); + zellij.wait_until("resize hint shown on first entry", |grid_snapshot| { + grid_snapshot.contains("resize") + }); + + zellij.send_stdin(b"x"); + zellij.wait_until("hint dismissed by input", |grid_snapshot| { + !grid_snapshot.contains("resize") && !grid_snapshot.contains("group") + }); + + zellij.send_stdin(&sgr_motion(ALTERNATE_FOCUSED_PANE_COLUMN, HOVER_LINE)); + let after_within_pane_motion = zellij.wait_until( + "a render settles after within-pane motion", + |grid_snapshot| grid_snapshot.status_bar_appears(), + ); + assert!( + !after_within_pane_motion.contains("resize"), + "within-pane motion must not re-show the resize hint:\n{}", + after_within_pane_motion.text + ); + + zellij.send_stdin(&sgr_motion(OTHER_PANE_COLUMN, HOVER_LINE)); + zellij.wait_until( + "group hint shown when crossing into the other pane", + |grid_snapshot| grid_snapshot.contains("group"), + ); + + zellij.send_stdin(&sgr_motion(FOCUSED_PANE_COLUMN, HOVER_LINE)); + zellij.wait_until( + "resize hint shown again when crossing back", + |grid_snapshot| grid_snapshot.contains("resize"), + ); + + zellij.quit(); +} + +#[test] +fn full_frame_help_renders_on_the_pane_not_the_status_bar() { + let mut zellij = full_frame_two_pane_session(120); + + zellij.send_stdin(&sgr_motion(FOCUSED_PANE_COLUMN, HOVER_LINE)); + let grid_snapshot = zellij.wait_until("resize help drawn on the pane frame", |grid_snapshot| { + grid_snapshot.contains("to resize") + }); + let status_bar = grid_snapshot.lines().last().cloned().unwrap(); + assert!( + !status_bar.contains("resize"), + "in full-frame mode the resize help belongs on the pane frame, not the status bar:\n{}", + grid_snapshot.text + ); + + zellij.quit(); +} + +#[test] +fn resize_hint_shortens_when_the_status_bar_narrows() { + let mut zellij = two_pane_session(); + + zellij.send_stdin(&sgr_motion(FOCUSED_PANE_COLUMN, HOVER_LINE)); + zellij.wait_until( + "full-width status bar shows the long resize hint", + |grid_snapshot| grid_snapshot.contains("to resize"), + ); + + zellij.resize(Size { cols: 46, rows: 24 }); + zellij.wait_until( + "narrowed status bar shortens the resize hint", + |grid_snapshot| { + grid_snapshot.contains("drag borders") && !grid_snapshot.contains("to resize") + }, + ); + + zellij.quit(); +} + +#[test] +fn resize_hint_absent_with_a_single_pane() { + let (mut zellij, left_terminal, _right_terminal) = two_pane_session_with_handles(); + left_terminal.output(b"LEFT_PANE_MARKER"); + zellij.wait_until("the other pane is populated", |grid_snapshot| { + grid_snapshot.contains("LEFT_PANE_MARKER") + }); + + zellij.send_stdin(&sgr_motion(FOCUSED_PANE_COLUMN, HOVER_LINE)); + zellij.wait_until("resize hint shown with two panes", |grid_snapshot| { + grid_snapshot.contains("resize") + }); + + left_terminal.exit(Some(0)); + zellij.wait_until( + "resize hint cleared once a single pane remains", + |grid_snapshot| { + !grid_snapshot.contains("LEFT_PANE_MARKER") + && grid_snapshot.status_bar_appears() + && !grid_snapshot.contains("resize") + }, + ); + + zellij.quit(); +} + +#[test] +fn resize_hint_absent_in_fullscreen() { + let (mut zellij, _left_terminal, _right_terminal) = two_pane_session_with_handles(); + + zellij.send_stdin(&keys::ctrl('p')); + zellij.send_stdin(&keys::key('f')); + zellij.wait_until("focused pane entered fullscreen", |grid_snapshot| { + grid_snapshot.contains("(FULLSCREEN)") && grid_snapshot.contains("LOCK") + }); + + zellij.send_stdin(&sgr_motion(FOCUSED_PANE_COLUMN, HOVER_LINE)); + zellij.send_stdin(&sgr_motion(ALTERNATE_FOCUSED_PANE_COLUMN, HOVER_LINE)); + let grid_snapshot = zellij + .wait_until("fullscreen stays settled after hovering", |grid_snapshot| { + grid_snapshot.contains("(FULLSCREEN)") && grid_snapshot.contains("LOCK") + }); + assert!( + !grid_snapshot.contains("resize"), + "fullscreen must suppress the resize hint:\n{}", + grid_snapshot.text + ); + + zellij.quit(); +} diff --git a/zellij-integration-tests/tests/title_frame_mouse.rs b/zellij-integration-tests/tests/title_frame_mouse.rs new file mode 100644 index 00000000..68467068 --- /dev/null +++ b/zellij-integration-tests/tests/title_frame_mouse.rs @@ -0,0 +1,158 @@ +#![cfg(unix)] + +use insta::assert_snapshot; +use zellij_integration_tests::{normalized, FakePtyHandle, Size, TestRunner, TestSession}; + +const PROMPT: &[u8] = b"$ "; +const STATUS_BAR_TEST_COLS: usize = 190; + +fn start_zellij(cols: usize) -> TestSession { + TestRunner::new(Size { cols, rows: 24 }) + .with_config("mouse_mode true\npane_frame_style \"titles\"") + .start() +} + +fn sgr_left_click(column: usize, line: usize) -> Vec<u8> { + format!( + "\u{1b}[<0;{};{}M\u{1b}[<0;{};{}m", + column, line, column, line + ) + .into_bytes() +} + +fn display_column_of(line: &str, needle: &str) -> Option<usize> { + line.find(needle) + .map(|byte_offset| line[..byte_offset].chars().count()) +} + +fn claim_first_terminal_and_wait_for_prompt(zellij: &TestSession) -> FakePtyHandle { + let terminal = zellij.expect_pty_spawn(); + terminal.output(PROMPT); + zellij.wait_until("first terminal prompt rendered", |grid_snapshot| { + grid_snapshot.tab_bar_appears() + && grid_snapshot.status_bar_appears() + && grid_snapshot.contains("$ ") + }); + terminal +} + +fn click_new_pane_button_in_status_bar(zellij: &TestSession, pane_output: &[u8]) -> FakePtyHandle { + let grid_snapshot = + zellij.wait_until("status bar shows the new pane button", |grid_snapshot| { + grid_snapshot + .lines() + .last() + .is_some_and(|status_bar| status_bar.contains("New Pane")) + }); + let status_bar = grid_snapshot.lines().last().cloned().unwrap(); + let new_pane_column = display_column_of(&status_bar, "New Pane") + .expect("new pane button is on the status bar") + + 1; + let status_bar_line = grid_snapshot.lines().len(); + + zellij.send_stdin(&sgr_left_click(new_pane_column, status_bar_line)); + let new_terminal = zellij.expect_pty_spawn(); + new_terminal.output(pane_output); + new_terminal +} + +#[test] +fn mouse_click_new_pane_in_status_bar_opens_a_new_pane() { + let mut zellij = start_zellij(STATUS_BAR_TEST_COLS); + claim_first_terminal_and_wait_for_prompt(&zellij); + + click_new_pane_button_in_status_bar(&zellij, b"opened from the status bar"); + + let grid_snapshot = zellij.wait_until("the clicked new pane rendered", |grid_snapshot| { + grid_snapshot.contains("opened from the status bar") + && grid_snapshot.contains("Change Focus") + }); + assert_snapshot!(normalized(&grid_snapshot)); + zellij.quit(); +} + +#[test] +fn mouse_click_new_pane_in_status_bar_twice_opens_two_panes() { + let mut zellij = start_zellij(STATUS_BAR_TEST_COLS); + claim_first_terminal_and_wait_for_prompt(&zellij); + + click_new_pane_button_in_status_bar(&zellij, b"first pane from the status bar"); + zellij.wait_until( + "the first clicked pane rendered and the status bar gained the multi-pane controls", + |grid_snapshot| { + grid_snapshot.contains("first pane from the status bar") + && grid_snapshot.contains("Change Focus") + }, + ); + + click_new_pane_button_in_status_bar(&zellij, b"second pane from the status bar"); + + let grid_snapshot = zellij.wait_until( + "the second clicked pane rendered alongside the first", + |grid_snapshot| { + grid_snapshot.contains("first pane from the status bar") + && grid_snapshot.contains("second pane from the status bar") + }, + ); + assert_snapshot!(normalized(&grid_snapshot)); + zellij.quit(); +} + +fn click_floating_ribbon_in_status_bar(zellij: &TestSession) { + let grid_snapshot = + zellij.wait_until("status bar shows the floating ribbon", |grid_snapshot| { + grid_snapshot + .lines() + .last() + .is_some_and(|status_bar| status_bar.contains("Floating")) + }); + let status_bar = grid_snapshot.lines().last().cloned().unwrap(); + let floating_ribbon_column = display_column_of(&status_bar, "Floating") + .expect("floating ribbon is on the status bar") + + 1; + let status_bar_line = grid_snapshot.lines().len(); + + zellij.send_stdin(&sgr_left_click(floating_ribbon_column, status_bar_line)); +} + +#[test] +fn mouse_click_floating_ribbon_in_status_bar_opens_a_floating_pane() { + let mut zellij = start_zellij(STATUS_BAR_TEST_COLS); + claim_first_terminal_and_wait_for_prompt(&zellij); + + click_floating_ribbon_in_status_bar(&zellij); + let floating_terminal = zellij.expect_pty_spawn(); + floating_terminal.output(PROMPT); + + let grid_snapshot = zellij.wait_until("a floating pane appeared", |grid_snapshot| { + grid_snapshot.contains("STAGGERED") && grid_snapshot.contains("┌") + }); + assert_snapshot!(normalized(&grid_snapshot)); + zellij.quit(); +} + +#[test] +fn mouse_click_new_tab_button_in_tab_bar_opens_a_new_tab() { + let mut zellij = start_zellij(120); + claim_first_terminal_and_wait_for_prompt(&zellij); + + let grid_snapshot = zellij.wait_until("tab bar shows the new tab button", |grid_snapshot| { + grid_snapshot + .lines() + .first() + .is_some_and(|tab_bar| tab_bar.contains('+')) + }); + let tab_bar = grid_snapshot.lines().first().cloned().unwrap(); + let new_tab_button_column = + display_column_of(&tab_bar, "+").expect("new tab button is on the tab bar") + 1; + + zellij.send_stdin(&sgr_left_click(new_tab_button_column, 1)); + let new_tab_terminal = zellij.expect_pty_spawn(); + new_tab_terminal.output(PROMPT); + + let grid_snapshot = zellij.wait_until("a second tab opened", |grid_snapshot| { + grid_snapshot.contains("Tab #1") && grid_snapshot.contains("Tab #2") + }); + assert_snapshot!(normalized(&grid_snapshot)); + zellij.quit(); +} diff --git a/zellij-integration-tests/tests/title_frame_scroll.rs b/zellij-integration-tests/tests/title_frame_scroll.rs new file mode 100644 index 00000000..a99e98dd --- /dev/null +++ b/zellij-integration-tests/tests/title_frame_scroll.rs @@ -0,0 +1,58 @@ +#![cfg(unix)] + +use zellij_integration_tests::{ + claim_first_terminal_and_wait_for_prompt, keys, split_right_and_wait_for_prompt, start_zellij, + FakePtyHandle, GridSnapshot, TestSession, +}; + +const LAST_LINE: &str = "line40"; + +fn tab_line_shows_scroll(grid_snapshot: &GridSnapshot) -> bool { + grid_snapshot + .lines() + .first() + .is_some_and(|tab_bar| tab_bar.contains("SCROLL")) +} + +fn fill_pane_past_viewport(zellij: &TestSession) -> FakePtyHandle { + let terminal = claim_first_terminal_and_wait_for_prompt(zellij); + for line in 1..=40 { + terminal.output(format!("line{:02}\r\n", line).as_bytes()); + } + zellij.wait_until("pane filled past its viewport", |grid_snapshot| { + grid_snapshot.contains(LAST_LINE) + }); + terminal +} + +#[test] +fn single_pane_scroll_shows_on_the_tab_line() { + let mut zellij = start_zellij(); + fill_pane_past_viewport(&zellij); + + zellij.send_stdin(&keys::ctrl('s')); + zellij.send_stdin(&keys::ctrl('b')); + + let grid_snapshot = zellij.wait_until( + "scroll indicator appears on the tab line", + |grid_snapshot| tab_line_shows_scroll(grid_snapshot) && !grid_snapshot.contains(LAST_LINE), + ); + assert!( + !grid_snapshot.contains("SCROLL:"), + "the single-pane tab-line indicator uses the colon-free format:\n{}", + grid_snapshot.text + ); + + zellij.send_stdin(&keys::ESC); + zellij.wait_until("back in the base mode after scrolling", |grid_snapshot| { + grid_snapshot.status_bar_appears() + }); + split_right_and_wait_for_prompt(&zellij); + + zellij.wait_until( + "tab-line scroll indicator clears once a second pane exists", + |grid_snapshot| !tab_line_shows_scroll(grid_snapshot), + ); + + zellij.quit(); +} |
