summaryrefslogtreecommitdiffstats
path: root/zellij-server/src/panes
diff options
context:
space:
mode:
Diffstat (limited to 'zellij-server/src/panes')
-rw-r--r--zellij-server/src/panes/plugin_pane.rs2
-rw-r--r--zellij-server/src/panes/terminal_pane.rs2
-rw-r--r--zellij-server/src/panes/tiled_panes/mod.rs31
-rw-r--r--zellij-server/src/panes/tiled_panes/pane_resizer.rs2
4 files changed, 21 insertions, 16 deletions
diff --git a/zellij-server/src/panes/plugin_pane.rs b/zellij-server/src/panes/plugin_pane.rs
index 56b252be0..244e8b25a 100644
--- a/zellij-server/src/panes/plugin_pane.rs
+++ b/zellij-server/src/panes/plugin_pane.rs
@@ -103,7 +103,7 @@ impl Pane for PluginPane {
self.geom = position_and_size;
self.should_render = true;
}
- fn get_geom_override(&mut self, pane_geom: PaneGeom) {
+ fn set_geom_override(&mut self, pane_geom: PaneGeom) {
self.geom_override = Some(pane_geom);
self.should_render = true;
}
diff --git a/zellij-server/src/panes/terminal_pane.rs b/zellij-server/src/panes/terminal_pane.rs
index c60833559..060bdd8fc 100644
--- a/zellij-server/src/panes/terminal_pane.rs
+++ b/zellij-server/src/panes/terminal_pane.rs
@@ -95,7 +95,7 @@ impl Pane for TerminalPane {
self.geom = position_and_size;
self.reflow_lines();
}
- fn get_geom_override(&mut self, pane_geom: PaneGeom) {
+ fn set_geom_override(&mut self, pane_geom: PaneGeom) {
self.geom_override = Some(pane_geom);
self.reflow_lines();
}
diff --git a/zellij-server/src/panes/tiled_panes/mod.rs b/zellij-server/src/panes/tiled_panes/mod.rs
index e0469b13f..143aec432 100644
--- a/zellij-server/src/panes/tiled_panes/mod.rs
+++ b/zellij-server/src/panes/tiled_panes/mod.rs
@@ -142,8 +142,13 @@ impl TiledPanes {
}
let removed_pane = self.panes.remove(&pane_id).map(|removed_pane| {
let with_pane_id = with_pane.pid();
- let removed_pane_geom = removed_pane.current_geom();
+ let removed_pane_geom = removed_pane.position_and_size();
+ let removed_pane_geom_override = removed_pane.geom_override();
with_pane.set_geom(removed_pane_geom);
+ match removed_pane_geom_override {
+ Some(geom_override) => with_pane.set_geom_override(geom_override),
+ None => with_pane.reset_size_and_position_override(),
+ };
self.panes.insert(with_pane_id, with_pane);
removed_pane
});
@@ -780,7 +785,7 @@ impl TiledPanes {
let next_geom_override = new_position.geom_override();
new_position.set_geom(prev_geom);
if let Some(geom) = prev_geom_override {
- new_position.get_geom_override(geom);
+ new_position.set_geom_override(geom);
}
resize_pty!(new_position, self.os_api);
new_position.set_should_render(true);
@@ -788,7 +793,7 @@ impl TiledPanes {
let current_position = self.panes.get_mut(&active_pane_id).unwrap();
current_position.set_geom(next_geom);
if let Some(geom) = next_geom_override {
- current_position.get_geom_override(geom);
+ current_position.set_geom_override(geom);
}
resize_pty!(current_position, self.os_api);
current_position.set_should_render(true);
@@ -813,7 +818,7 @@ impl TiledPanes {
let next_geom_override = new_position.geom_override();
new_position.set_geom(prev_geom);
if let Some(geom) = prev_geom_override {
- new_position.get_geom_override(geom);
+ new_position.set_geom_override(geom);
}
resize_pty!(new_position, self.os_api);
new_position.set_should_render(true);
@@ -821,7 +826,7 @@ impl TiledPanes {
let current_position = self.panes.get_mut(active_pane_id).unwrap();
current_position.set_geom(next_geom);
if let Some(geom) = next_geom_override {
- current_position.get_geom_override(geom);
+ current_position.set_geom_override(geom);
}
resize_pty!(current_position, self.os_api);
current_position.set_should_render(true);
@@ -848,7 +853,7 @@ impl TiledPanes {
let next_geom_override = new_position.geom_override();
new_position.set_geom(prev_geom);
if let Some(geom) = prev_geom_override {
- new_position.get_geom_override(geom);
+ new_position.set_geom_override(geom);
}
resize_pty!(new_position, self.os_api);
new_position.set_should_render(true);
@@ -856,7 +861,7 @@ impl TiledPanes {
let current_position = self.panes.get_mut(active_pane_id).unwrap();
current_position.set_geom(next_geom);
if let Some(geom) = next_geom_override {
- current_position.get_geom_override(geom);
+ current_position.set_geom_override(geom);
}
resize_pty!(current_position, self.os_api);
current_position.set_should_render(true);
@@ -883,7 +888,7 @@ impl TiledPanes {
let next_geom_override = new_position.geom_override();
new_position.set_geom(prev_geom);
if let Some(geom) = prev_geom_override {
- new_position.get_geom_override(geom);
+ new_position.set_geom_override(geom);
}
resize_pty!(new_position, self.os_api);
new_position.set_should_render(true);
@@ -891,7 +896,7 @@ impl TiledPanes {
let current_position = self.panes.get_mut(active_pane_id).unwrap();
current_position.set_geom(next_geom);
if let Some(geom) = next_geom_override {
- current_position.get_geom_override(geom);
+ current_position.set_geom_override(geom);
}
resize_pty!(current_position, self.os_api);
current_position.set_should_render(true);
@@ -918,7 +923,7 @@ impl TiledPanes {
let next_geom_override = new_position.geom_override();
new_position.set_geom(prev_geom);
if let Some(geom) = prev_geom_override {
- new_position.get_geom_override(geom);
+ new_position.set_geom_override(geom);
}
resize_pty!(new_position, self.os_api);
new_position.set_should_render(true);
@@ -926,7 +931,7 @@ impl TiledPanes {
let current_position = self.panes.get_mut(active_pane_id).unwrap();
current_position.set_geom(next_geom);
if let Some(geom) = next_geom_override {
- current_position.get_geom_override(geom);
+ current_position.set_geom_override(geom);
}
resize_pty!(current_position, self.os_api);
current_position.set_should_render(true);
@@ -1059,7 +1064,7 @@ impl TiledPanes {
.collect();
for pid in viewport_pane_ids {
let viewport_pane = self.get_pane_mut(pid).unwrap();
- viewport_pane.get_geom_override(viewport_pane.position_and_size());
+ viewport_pane.set_geom_override(viewport_pane.position_and_size());
}
let viewport = { *self.viewport.borrow() };
let active_terminal = self.get_pane_mut(active_pane_id).unwrap();
@@ -1068,7 +1073,7 @@ impl TiledPanes {
y: viewport.y,
..Default::default()
};
- active_terminal.get_geom_override(full_screen_geom);
+ active_terminal.set_geom_override(full_screen_geom);
}
let connected_client_list: Vec<ClientId> =
{ self.connected_clients.borrow().iter().copied().collect() };
diff --git a/zellij-server/src/panes/tiled_panes/pane_resizer.rs b/zellij-server/src/panes/tiled_panes/pane_resizer.rs
index 7264c49a1..6819a0a80 100644
--- a/zellij-server/src/panes/tiled_panes/pane_resizer.rs
+++ b/zellij-server/src/panes/tiled_panes/pane_resizer.rs
@@ -139,7 +139,7 @@ impl<'a> PaneResizer<'a> {
},
};
if pane.geom_override().is_some() {
- pane.get_geom_override(new_geom);
+ pane.set_geom_override(new_geom);
} else {
pane.set_geom(new_geom);
}