summaryrefslogtreecommitdiffstats
path: root/zellij-server/src/panes/tiled_panes/mod.rs
diff options
context:
space:
mode:
Diffstat (limited to 'zellij-server/src/panes/tiled_panes/mod.rs')
-rw-r--r--zellij-server/src/panes/tiled_panes/mod.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/zellij-server/src/panes/tiled_panes/mod.rs b/zellij-server/src/panes/tiled_panes/mod.rs
index dca3afd84..411e0178e 100644
--- a/zellij-server/src/panes/tiled_panes/mod.rs
+++ b/zellij-server/src/panes/tiled_panes/mod.rs
@@ -1017,7 +1017,7 @@ impl TiledPanes {
self.set_pane_frames(self.draw_pane_frames);
}
}
- pub fn move_active_pane(&mut self, client_id: ClientId) {
+ pub fn move_active_pane(&mut self, search_backwards: bool, client_id: ClientId) {
let active_pane_id = self.get_active_pane_id(client_id).unwrap();
let new_position_id = {
@@ -1027,7 +1027,11 @@ impl TiledPanes {
*self.display_area.borrow(),
*self.viewport.borrow(),
);
- pane_grid.next_selectable_pane_id(&active_pane_id)
+ if search_backwards {
+ pane_grid.previous_selectable_pane_id(&active_pane_id)
+ } else {
+ pane_grid.next_selectable_pane_id(&active_pane_id)
+ }
};
if self.panes.get(&new_position_id).map(|p| p.current_geom().is_stacked).unwrap_or(false) {
let _ = StackedPanes::new_from_btreemap(&mut self.panes, &self.panes_to_hide).focus_pane(&new_position_id);