diff options
Diffstat (limited to 'zellij-server')
-rw-r--r-- | zellij-server/src/output/mod.rs | 5 | ||||
-rw-r--r-- | zellij-server/src/screen.rs | 7 | ||||
-rw-r--r-- | zellij-server/src/tab/mod.rs | 11 | ||||
-rw-r--r-- | zellij-server/src/tab/unit/tab_integration_tests.rs | 216 |
4 files changed, 117 insertions, 122 deletions
diff --git a/zellij-server/src/output/mod.rs b/zellij-server/src/output/mod.rs index 51a21f7b4..efcb74313 100644 --- a/zellij-server/src/output/mod.rs +++ b/zellij-server/src/output/mod.rs @@ -402,6 +402,11 @@ impl Output { || self.client_character_chunks.values().any(|c| !c.is_empty()) || self.sixel_chunks.values().any(|c| !c.is_empty()) } + pub fn has_rendered_assets(&self) -> bool { + // pre_vte and post_vte are not considered rendered assets as they should not be visible + self.client_character_chunks.values().any(|c| !c.is_empty()) + || self.sixel_chunks.values().any(|c| !c.is_empty()) + } } // this struct represents the geometry of a group of floating panes diff --git a/zellij-server/src/screen.rs b/zellij-server/src/screen.rs index 920c93401..de53d0276 100644 --- a/zellij-server/src/screen.rs +++ b/zellij-server/src/screen.rs @@ -33,7 +33,7 @@ use crate::{ thread_bus::Bus, ui::{ loading_indication::LoadingIndication, - overlay::{Overlay, OverlayWindow, Overlayable}, + overlay::{Overlay, OverlayWindow}, }, ClientId, ServerInstruction, }; @@ -930,12 +930,9 @@ impl Screen { ); let mut tabs_to_close = vec![]; let size = self.size; - let overlay = self.overlay.clone(); for (tab_index, tab) in &mut self.tabs { if tab.has_selectable_tiled_panes() { - let vte_overlay = overlay.generate_overlay(size).context(err_context)?; - tab.render(&mut output, Some(vte_overlay)) - .context(err_context)?; + tab.render(&mut output).context(err_context)?; } else if !tab.is_pending() { tabs_to_close.push(*tab_index); } diff --git a/zellij-server/src/tab/mod.rs b/zellij-server/src/tab/mod.rs index e695117e2..9b9784ced 100644 --- a/zellij-server/src/tab/mod.rs +++ b/zellij-server/src/tab/mod.rs @@ -1648,7 +1648,7 @@ impl Tab { Ok(()) } - pub fn render(&mut self, output: &mut Output, overlay: Option<String>) -> Result<()> { + pub fn render(&mut self, output: &mut Output) -> Result<()> { let err_context = || "failed to render tab".to_string(); let connected_clients: HashSet<ClientId> = @@ -1676,15 +1676,8 @@ impl Tab { } self.render_cursor(output); - if output.is_dirty() { + if output.has_rendered_assets() { self.hide_cursor_and_clear_display_as_needed(output); - // FIXME: Once clients can be distinguished - if let Some(overlay_vte) = &overlay { - output.add_post_vte_instruction_to_multiple_clients( - connected_clients.iter().copied(), - overlay_vte, - ); - } } Ok(()) diff --git a/zellij-server/src/tab/unit/tab_integration_tests.rs b/zellij-server/src/tab/unit/tab_integration_tests.rs index 7cd32c0f5..ac0bae713 100644 --- a/zellij-server/src/tab/unit/tab_integration_tests.rs +++ b/zellij-server/src/tab/unit/tab_integration_tests.rs @@ -757,7 +757,7 @@ fn new_floating_pane() { Vec::from("\n\n\n I am scratch terminal".as_bytes()), ) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -789,7 +789,7 @@ fn floating_panes_persist_across_toggles() { ) .unwrap(); tab.toggle_floating_panes(Some(client_id), None).unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -818,7 +818,7 @@ fn toggle_floating_panes_off() { ) .unwrap(); tab.toggle_floating_panes(Some(client_id), None).unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -848,7 +848,7 @@ fn toggle_floating_panes_on() { .unwrap(); tab.toggle_floating_panes(Some(client_id), None).unwrap(); tab.toggle_floating_panes(Some(client_id), None).unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -896,7 +896,7 @@ fn five_new_floating_panes() { .unwrap(); tab.handle_pty_bytes(6, Vec::from("\u{1b}#8".as_bytes())) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -926,7 +926,7 @@ fn increase_floating_pane_size() { .unwrap(); tab.resize(client_id, ResizeStrategy::new(Resize::Increase, None)) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -956,7 +956,7 @@ fn decrease_floating_pane_size() { .unwrap(); tab.resize(client_id, ResizeStrategy::new(Resize::Decrease, None)) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -989,7 +989,7 @@ fn resize_floating_pane_left() { ResizeStrategy::new(Resize::Increase, Some(Direction::Left)), ) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -1022,7 +1022,7 @@ fn resize_floating_pane_right() { ResizeStrategy::new(Resize::Increase, Some(Direction::Right)), ) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -1055,7 +1055,7 @@ fn resize_floating_pane_up() { ResizeStrategy::new(Resize::Increase, Some(Direction::Up)), ) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -1088,7 +1088,7 @@ fn resize_floating_pane_down() { ResizeStrategy::new(Resize::Increase, Some(Direction::Down)), ) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -1137,7 +1137,7 @@ fn move_floating_pane_focus_left() { tab.handle_pty_bytes(6, Vec::from("\u{1b}#8".as_bytes())) .unwrap(); tab.move_focus_left(client_id).unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let (snapshot, cursor_coordinates) = take_snapshot_and_cursor_position( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -1193,7 +1193,7 @@ fn move_floating_pane_focus_right() { .unwrap(); tab.move_focus_left(client_id).unwrap(); tab.move_focus_right(client_id).unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let (snapshot, cursor_coordinates) = take_snapshot_and_cursor_position( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -1248,7 +1248,7 @@ fn move_floating_pane_focus_up() { tab.handle_pty_bytes(6, Vec::from("\u{1b}#8".as_bytes())) .unwrap(); tab.move_focus_up(client_id).unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let (snapshot, cursor_coordinates) = take_snapshot_and_cursor_position( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -1304,7 +1304,7 @@ fn move_floating_pane_focus_down() { .unwrap(); tab.move_focus_up(client_id).unwrap(); tab.move_focus_down(client_id).unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let (snapshot, cursor_coordinates) = take_snapshot_and_cursor_position( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -1362,7 +1362,7 @@ fn move_floating_pane_focus_with_mouse() { .unwrap(); tab.handle_left_mouse_release(&Position::new(9, 71), client_id) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let (snapshot, cursor_coordinates) = take_snapshot_and_cursor_position( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -1420,7 +1420,7 @@ fn move_pane_focus_with_mouse_to_non_floating_pane() { .unwrap(); tab.handle_left_mouse_release(&Position::new(4, 71), client_id) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let (snapshot, cursor_coordinates) = take_snapshot_and_cursor_position( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -1478,7 +1478,7 @@ fn drag_pane_with_mouse() { .unwrap(); tab.handle_left_mouse_release(&Position::new(7, 75), client_id) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let (snapshot, cursor_coordinates) = take_snapshot_and_cursor_position( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -1544,7 +1544,7 @@ fn mark_text_inside_floating_pane() { !tab.selecting_with_mouse, "stopped selecting with mouse on release" ); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let (snapshot, cursor_coordinates) = take_snapshot_and_cursor_position( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -1603,7 +1603,7 @@ fn resize_tab_with_floating_panes() { rows: 10, }) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let (snapshot, _cursor_coordinates) = take_snapshot_and_cursor_position( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -1653,7 +1653,7 @@ fn shrink_whole_tab_with_floating_panes_horizontally_and_vertically() { tab.handle_pty_bytes(6, Vec::from("\u{1b}#8".as_bytes())) .unwrap(); tab.resize_whole_tab(Size { cols: 50, rows: 10 }).unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let (snapshot, _cursor_coordinates) = take_snapshot_and_cursor_position( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -1708,7 +1708,7 @@ fn shrink_whole_tab_with_floating_panes_horizontally_and_vertically_and_expand_b rows: 20, }) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let (snapshot, _cursor_coordinates) = take_snapshot_and_cursor_position( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -1738,7 +1738,7 @@ fn embed_floating_pane() { ) .unwrap(); tab.toggle_pane_embed_or_floating(client_id).unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -1766,7 +1766,7 @@ fn float_embedded_pane() { ) .unwrap(); tab.toggle_pane_embed_or_floating(client_id).unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -1796,7 +1796,7 @@ fn embed_floating_pane_without_pane_frames() { ) .unwrap(); tab.toggle_pane_embed_or_floating(client_id).unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -1825,7 +1825,7 @@ fn float_embedded_pane_without_pane_frames() { ) .unwrap(); tab.toggle_pane_embed_or_floating(client_id).unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -1850,7 +1850,7 @@ fn cannot_float_only_embedded_pane() { ) .unwrap(); tab.toggle_pane_embed_or_floating(client_id).unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -1874,7 +1874,7 @@ fn replacing_existing_wide_characters() { let mut output = Output::default(); let pane_content = read_fixture("ncmpcpp-wide-chars"); tab.handle_pty_bytes(1, pane_content).unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -1900,7 +1900,7 @@ fn rename_embedded_pane() { .unwrap(); tab.update_active_pane_name("Renamed empedded pane".as_bytes().to_vec(), client_id) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -1930,7 +1930,7 @@ fn rename_floating_pane() { tab.toggle_pane_embed_or_floating(client_id).unwrap(); tab.update_active_pane_name("Renamed floating pane".as_bytes().to_vec(), client_id) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -1952,7 +1952,7 @@ fn wide_characters_in_left_title_side() { let mut output = Output::default(); let pane_content = read_fixture("title-wide-chars"); tab.handle_pty_bytes(1, pane_content).unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -1979,7 +1979,7 @@ fn save_cursor_position_across_resizes() { tab.handle_pty_bytes(1, Vec::from("\u{1b}[uthis overwrote me!".as_bytes())) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -2015,7 +2015,7 @@ fn move_floating_pane_with_sixel_image() { tab.handle_left_mouse_release(&Position::new(7, 75), client_id) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot_with_sixel( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -2053,7 +2053,7 @@ fn floating_pane_above_sixel_image() { tab.handle_left_mouse_release(&Position::new(7, 75), client_id) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot_with_sixel( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -2078,7 +2078,7 @@ fn suppress_tiled_pane() { tab.suppress_active_pane(new_pane_id, client_id).unwrap(); tab.handle_pty_bytes(2, Vec::from("\n\n\nI am an editor pane".as_bytes())) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -2106,7 +2106,7 @@ fn suppress_floating_pane() { tab.suppress_active_pane(editor_pane_id, client_id).unwrap(); tab.handle_pty_bytes(3, Vec::from("\n\n\nI am an editor pane".as_bytes())) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -2132,7 +2132,7 @@ fn close_suppressing_tiled_pane() { tab.handle_pty_bytes(1, Vec::from("\n\n\nI am the original pane".as_bytes())) .unwrap(); tab.close_pane(new_pane_id, false, None); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -2163,7 +2163,7 @@ fn close_suppressing_floating_pane() { tab.handle_pty_bytes(2, Vec::from("\n\n\nI am the original pane".as_bytes())) .unwrap(); tab.close_pane(editor_pane_id, false, None); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -2190,7 +2190,7 @@ fn suppress_tiled_pane_float_it_and_close() { .unwrap(); tab.toggle_pane_embed_or_floating(client_id).unwrap(); tab.close_pane(new_pane_id, false, None); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -2222,7 +2222,7 @@ fn suppress_floating_pane_embed_it_and_close_it() { .unwrap(); tab.toggle_pane_embed_or_floating(client_id).unwrap(); tab.close_pane(editor_pane_id, false, None); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -2250,7 +2250,7 @@ fn resize_whole_tab_while_tiled_pane_is_suppressed() { rows: 10, }) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -2283,7 +2283,7 @@ fn resize_whole_tab_while_floting_pane_is_suppressed() { rows: 10, }) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -2308,7 +2308,7 @@ fn enter_search_pane() { let mut output = Output::default(); let pane_content = read_fixture("grid_copy"); tab.handle_pty_bytes(1, pane_content).unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -2322,7 +2322,7 @@ fn enter_search_pane() { // only those are updated (search-styling is not visible here). tab.update_search_term("tortor".as_bytes().to_vec(), client_id) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -2335,7 +2335,7 @@ fn enter_search_pane() { tab.toggle_search_wrap(client_id); tab.toggle_search_whole_words(client_id); tab.toggle_search_case_sensitivity(client_id); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -2349,7 +2349,7 @@ fn enter_search_pane() { tab.toggle_search_whole_words(client_id); tab.toggle_search_case_sensitivity(client_id); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -2379,7 +2379,7 @@ fn enter_search_floating_pane() { let pane_content = read_fixture("grid_copy"); tab.handle_pty_bytes(2, pane_content).unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -2391,7 +2391,7 @@ fn enter_search_floating_pane() { // Only the line inside the floating tab which contain 'fring' should be in the new snapshot tab.update_search_term("fring".as_bytes().to_vec(), client_id) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -2669,7 +2669,7 @@ fn tab_with_basic_layout() { let client_id = 1; let mut tab = create_new_tab_with_layout(size, ModeInfo::default(), layout); let mut output = Output::default(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -2697,7 +2697,7 @@ fn tab_with_layout_that_has_floating_panes() { let client_id = 1; let mut tab = create_new_tab_with_layout(size, ModeInfo::default(), layout); let mut output = Output::default(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -2737,7 +2737,7 @@ fn tab_with_nested_layout() { let client_id = 1; let mut tab = create_new_tab_with_layout(size, ModeInfo::default(), layout); let mut output = Output::default(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -2771,7 +2771,7 @@ fn tab_with_nested_uneven_layout() { let client_id = 1; let mut tab = create_new_tab_with_layout(size, ModeInfo::default(), layout); let mut output = Output::default(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -3066,7 +3066,7 @@ fn can_swap_tiled_layout_at_runtime() { tab.new_pane(new_pane_id_1, None, None, None, Some(client_id)) .unwrap(); tab.next_swap_layout(Some(client_id), false).unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -3123,7 +3123,7 @@ fn can_swap_floating_layout_at_runtime() { tab.new_pane(new_pane_id_2, None, None, None, Some(client_id)) .unwrap(); tab.next_swap_layout(Some(client_id), false).unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -3177,7 +3177,7 @@ fn swapping_layouts_after_resize_snaps_to_current_layout() { tab.resize(client_id, ResizeStrategy::new(Resize::Increase, None)) .unwrap(); tab.next_swap_layout(Some(client_id), false).unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -3227,7 +3227,7 @@ fn swap_tiled_layout_with_stacked_children() { .unwrap(); tab.new_pane(new_pane_id_3, None, None, None, Some(client_id)) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -3274,7 +3274,7 @@ fn swap_tiled_layout_with_only_stacked_children() { .unwrap(); tab.new_pane(new_pane_id_3, None, None, None, Some(client_id)) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -3324,7 +3324,7 @@ fn swap_tiled_layout_with_stacked_children_and_no_pane_frames() { .unwrap(); tab.new_pane(new_pane_id_3, None, None, None, Some(client_id)) .unwrap(); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -3376,7 +3376,7 @@ fn move_focus_up_with_stacked_panes() { .unwrap(); tab.move_focus_right(client_id); tab.move_focus_up(client_id); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -3429,7 +3429,7 @@ fn move_focus_down_with_stacked_panes() { tab.move_focus_right(client_id); tab.move_focus_up(client_id); tab.move_focus_down(client_id); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let snapshot = take_snapshot( output.serialize().unwrap().get(&client_id).unwrap(), size.rows, @@ -3489,7 +3489,7 @@ fn move_focus_right_into_stacked_panes() { tab.move_focus_up(client_id); tab.move_focus_right(client_id); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let (snapshot, cursor_coordinates) = take_snapshot_and_cursor_position( output.serialize().unwrap().get(&client_id).unwrap(), @@ -3556,7 +3556,7 @@ fn move_focus_left_into_stacked_panes() { tab.move_focus_up(client_id); tab.move_focus_left(client_id); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let (snapshot, cursor_coordinates) = take_snapshot_and_cursor_position( output.serialize().unwrap().get(&client_id).unwrap(), @@ -3627,7 +3627,7 @@ fn move_focus_up_into_stacked_panes() { .unwrap(); tab.move_focus_up(client_id); - tab.render(&mut output, None).unwrap(); + tab.render(&mut output).unwrap(); let (snapshot, cursor_coordinates) = take_snapshot_and_cursor_position( output.serialize().unwrap().get(&client_id).unwrap(), @@ -3695,7 +3695,7 @@ fn move_focus_down_into_stacked_ |