diff options
Diffstat (limited to 'zellij-server/src/tab/layout_applier.rs')
-rw-r--r-- | zellij-server/src/tab/layout_applier.rs | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/zellij-server/src/tab/layout_applier.rs b/zellij-server/src/tab/layout_applier.rs index 9fcb03605..c66fac170 100644 --- a/zellij-server/src/tab/layout_applier.rs +++ b/zellij-server/src/tab/layout_applier.rs @@ -18,9 +18,7 @@ use std::collections::{BTreeMap, HashMap, HashSet}; use std::rc::Rc; use zellij_utils::{ data::{Palette, Style}, - input::layout::{ - FloatingPaneLayout, PluginUserConfiguration, Run, RunPluginLocation, TiledPaneLayout, - }, + input::layout::{FloatingPaneLayout, Run, RunPluginOrAlias, TiledPaneLayout}, pane_size::{Offset, PaneGeom, Size, SizeInPixels, Viewport}, }; @@ -104,7 +102,7 @@ impl<'a> LayoutApplier<'a> { floating_panes_layout: Vec<FloatingPaneLayout>, new_terminal_ids: Vec<(u32, HoldForCommand)>, new_floating_terminal_ids: Vec<(u32, HoldForCommand)>, - mut new_plugin_ids: HashMap<(RunPluginLocation, PluginUserConfiguration), Vec<u32>>, + mut new_plugin_ids: HashMap<RunPluginOrAlias, Vec<u32>>, client_id: ClientId, ) -> Result<bool> { // true => should_show_floating_panes @@ -208,7 +206,7 @@ impl<'a> LayoutApplier<'a> { &mut self, layout: TiledPaneLayout, new_terminal_ids: Vec<(u32, HoldForCommand)>, - new_plugin_ids: &mut HashMap<(RunPluginLocation, PluginUserConfiguration), Vec<u32>>, + new_plugin_ids: &mut HashMap<RunPluginOrAlias, Vec<u32>>, client_id: ClientId, ) -> Result<()> { let err_context = || format!("failed to apply tiled panes layout"); @@ -263,9 +261,9 @@ impl<'a> LayoutApplier<'a> { let positions_and_size = positions_in_layout.iter(); for (layout, position_and_size) in positions_and_size { if let Some(Run::Plugin(run)) = layout.run.clone() { - let pane_title = run.location.to_string(); + let pane_title = run.location_string(); let pid = new_plugin_ids - .get_mut(&(run.location, run.configuration)) + .get_mut(&run) .and_then(|ids| ids.pop()) .with_context(err_context)?; let mut new_plugin = PluginPane::new( @@ -372,7 +370,7 @@ impl<'a> LayoutApplier<'a> { &mut self, floating_panes_layout: Vec<FloatingPaneLayout>, new_floating_terminal_ids: Vec<(u32, HoldForCommand)>, - new_plugin_ids: &mut HashMap<(RunPluginLocation, PluginUserConfiguration), Vec<u32>>, + new_plugin_ids: &mut HashMap<RunPluginOrAlias, Vec<u32>>, layout_name: Option<String>, ) -> Result<bool> { // true => has floating panes @@ -392,9 +390,9 @@ impl<'a> LayoutApplier<'a> { position_and_size, ); } else if let Some(Run::Plugin(run)) = floating_pane_layout.run.clone() { - let pane_title = run.location.to_string(); + let pane_title = run.location_string(); let pid = new_plugin_ids - .get_mut(&(run.location, run.configuration)) + .get_mut(&run) .and_then(|ids| ids.pop()) .with_context(err_context)?; let mut new_pane = PluginPane::new( |