aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2024-10-09 12:21:06 +0200
committerGitHub <noreply@github.com>2024-10-09 12:21:06 +0200
commit8a8ffb37be5e3e1a7ba64e94eedc9ae97d8d86b4 (patch)
tree93c11a22940587b8e95385a9178f795552f7f111
parentdocs(changelog): pane name fixes (diff)
downloadsl0ppij-8a8ffb37be5e3e1a7ba64e94eedc9ae97d8d86b4.tar.gz
sl0ppij-8a8ffb37be5e3e1a7ba64e94eedc9ae97d8d86b4.tar.xz
sl0ppij-8a8ffb37be5e3e1a7ba64e94eedc9ae97d8d86b4.zip
fix(ux): only damage the relevant swap layout layer when resizing panes (#3654)
-rw-r--r--zellij-server/src/tab/mod.rs7
1 files changed, 4 insertions, 3 deletions
diff --git a/zellij-server/src/tab/mod.rs b/zellij-server/src/tab/mod.rs
index bb2678e9..666b0b5c 100644
--- a/zellij-server/src/tab/mod.rs
+++ b/zellij-server/src/tab/mod.rs
@@ -2312,19 +2312,20 @@ impl Tab {
}
pub fn resize(&mut self, client_id: ClientId, strategy: ResizeStrategy) -> Result<()> {
let err_context = || format!("unable to resize pane");
- self.swap_layouts.set_is_floating_damaged();
- self.swap_layouts.set_is_tiled_damaged();
if self.floating_panes.panes_are_visible() {
let successfully_resized = self
.floating_panes
.resize_active_pane(client_id, &mut self.os_api, &strategy)
.with_context(err_context)?;
if successfully_resized {
+ self.swap_layouts.set_is_floating_damaged();
self.set_force_render(); // we force render here to make sure the panes under the floating pane render and don't leave "garbage" in case of a decrease
}
} else {
match self.tiled_panes.resize_active_pane(client_id, &strategy) {
- Ok(_) => {},
+ Ok(_) => {
+ self.swap_layouts.set_is_tiled_damaged();
+ },
Err(err) => match err.downcast_ref::<ZellijError>() {
Some(ZellijError::CantResizeFixedPanes { pane_ids }) => {
let mut pane_ids_to_error = vec![];