summaryrefslogtreecommitdiffstats
path: root/zellij-server/src/panes/floating_panes/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'zellij-server/src/panes/floating_panes/mod.rs')
-rw-r--r--zellij-server/src/panes/floating_panes/mod.rs13
1 files changed, 13 insertions, 0 deletions
diff --git a/zellij-server/src/panes/floating_panes/mod.rs b/zellij-server/src/panes/floating_panes/mod.rs
index 765f0196d..84e85431f 100644
--- a/zellij-server/src/panes/floating_panes/mod.rs
+++ b/zellij-server/src/panes/floating_panes/mod.rs
@@ -529,6 +529,19 @@ impl FloatingPanes {
}
Ok(false)
}
+ pub fn focus_pane_on_edge(&mut self, direction: Direction, client_id: ClientId) {
+ let display_area = *self.display_area.borrow();
+ let viewport = *self.viewport.borrow();
+ let mut floating_pane_grid = FloatingPaneGrid::new(
+ &mut self.panes,
+ &mut self.desired_pane_positions,
+ display_area,
+ viewport,
+ );
+ let pane_id = floating_pane_grid.pane_id_on_edge(direction).unwrap();
+ self.focus_pane(pane_id, client_id);
+ self.set_force_render();
+ }
pub fn move_active_pane_down(&mut self, client_id: ClientId) {
let display_area = *self.display_area.borrow();