From 0db3db059def80ff505b56a89a84a3a8c24ac7fa Mon Sep 17 00:00:00 2001 From: Aram Drevekenin Date: Tue, 11 Jun 2024 15:19:29 +0200 Subject: [PATCH] fix(rendering): do not render if resizing screen to same size (#3413) --- zellij-server/src/screen.rs | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/zellij-server/src/screen.rs b/zellij-server/src/screen.rs index 8cf16dd8..cf3a6dd7 100644 --- a/zellij-server/src/screen.rs +++ b/zellij-server/src/screen.rs @@ -1038,15 +1038,19 @@ impl Screen { pub fn resize_to_screen(&mut self, new_screen_size: Size) -> Result<()> { let err_context = || format!("failed to resize to screen size: {new_screen_size:#?}"); - self.size = new_screen_size; - for tab in self.tabs.values_mut() { - tab.resize_whole_tab(new_screen_size) + if self.size != new_screen_size { + self.size = new_screen_size; + for tab in self.tabs.values_mut() { + tab.resize_whole_tab(new_screen_size) + .with_context(err_context)?; + tab.set_force_render(); + } + self.log_and_report_session_state() .with_context(err_context)?; - tab.set_force_render(); + self.render(None).with_context(err_context) + } else { + Ok(()) } - self.log_and_report_session_state() - .with_context(err_context)?; - self.render(None).with_context(err_context) } pub fn update_pixel_dimensions(&mut self, pixel_dimensions: PixelDimensions) {