aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2023-04-03 18:04:06 +0200
committerGitHub <noreply@github.com>2023-04-03 18:04:06 +0200
commit3a428effed2327b8f82bd8cd328f385032e5bc06 (patch)
treeb100fa9b9bb49583e8efee7567973ded1e8b87ae
parentdocs(changelog): tab focus race in layouts (diff)
downloadsl0ppij-3a428effed2327b8f82bd8cd328f385032e5bc06.tar.gz
sl0ppij-3a428effed2327b8f82bd8cd328f385032e5bc06.tar.xz
sl0ppij-3a428effed2327b8f82bd8cd328f385032e5bc06.zip
feat(panes): allow defining an expanded stacked pane (#2343)
* feat(panes): allow defining an expanded stacked pane * style(fmt): rustfmt
-rw-r--r--zellij-server/src/panes/tiled_panes/mod.rs43
-rw-r--r--zellij-server/src/panes/tiled_panes/stacked_panes.rs10
-rw-r--r--zellij-server/src/tab/layout_applier.rs21
-rw-r--r--zellij-server/src/tab/unit/snapshots/zellij_server__tab__tab_integration_tests__can_define_expanded_pane_in_stack.snap26
-rw-r--r--zellij-server/src/tab/unit/tab_integration_tests.rs32
-rw-r--r--zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_new_tab_action_default_params.snap5
-rw-r--r--zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_new_tab_action_with_name_and_layout.snap6
-rw-r--r--zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_rename_tab.snap7
-rw-r--r--zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_undo_rename_tab.snap7
-rw-r--r--zellij-utils/src/input/layout.rs6
-rw-r--r--zellij-utils/src/input/unit/layout_test.rs29
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__args_added_to_args_in_template.snap5
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__args_override_args_in_template.snap5
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_define_a_stack_with_an_expanded_pane.snap79
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_define_stacked_children_for_pane_node.snap6
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_define_stacked_children_for_pane_template.snap7
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_load_swap_layouts_from_a_different_file.snap38
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__children_not_as_first_child_of_pane_template.snap14
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__children_not_as_first_child_of_tab_template.snap14
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__close_on_exit_added_to_close_on_exit_in_template.snap5
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__close_on_exit_overrides_close_on_exit_in_template.snap5
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__combined_tab_and_pane_template_both_with_children.snap19
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__cwd_added_to_cwd_in_template.snap5
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__cwd_override_cwd_in_template.snap5
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd.snap6
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd_in_pane_templates.snap9
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd_in_tab_templates.snap8
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_given_to_panes_without_cwd.snap5
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_passed_from_layout_constructor.snap5
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_passed_from_layout_constructor_overrides_global_cwd_in_layout_file.snap5
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_prepended_to_panes_with_cwd.snap5
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_with_tab_cwd_given_to_panes_without_cwd.snap6
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_command_panes_and_close_on_exit.snap4
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_command_panes_and_start_suspended.snap4
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_default_tab_template.snap22
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_nested_branched_pane_templates.snap13
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_nested_pane_templates.snap10
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_pane_templates.snap24
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_tab_and_pane_templates.snap9
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_tabs_and_floating_panes.snap7
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_is_overriden_by_its_consumers_bare_cwd.snap4
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_overriden_by_its_consumers_command_cwd.snap4
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_remains_when_its_consumer_command_does_not_have_a_cwd.snap4
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_without_cwd_is_overriden_by_its_consumers_cwd.snap4
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_without_cwd_receives_its_consumers_bare_cwd.snap4
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_cwd_overriden_by_its_consumers_bare_cwd.snap4
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_command_with_cwd.snap4
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_command_without_cwd.snap4
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_edit.snap2
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_command_propagated_to_its_consumer_edit.snap2
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__tab_cwd_given_to_panes_without_cwd.snap6
-rw-r--r--zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__tab_cwd_prepended_to_panes_with_cwd.snap6
-rw-r--r--zellij-utils/src/kdl/kdl_layout_parser.rs32
-rw-r--r--zellij-utils/src/snapshots/zellij_utils__setup__setup_test__cli_arguments_override_layout_options-2.snap3
-rw-r--r--zellij-utils/src/snapshots/zellij_utils__setup__setup_test__default_config_with_no_cli_arguments-2.snap78
-rw-r--r--zellij-utils/src/snapshots/zellij_utils__setup__setup_test__layout_options_override_config_options-2.snap3
56 files changed, 649 insertions, 56 deletions
diff --git a/zellij-server/src/panes/tiled_panes/mod.rs b/zellij-server/src/panes/tiled_panes/mod.rs
index 89a329bb..4cc7279d 100644
--- a/zellij-server/src/panes/tiled_panes/mod.rs
+++ b/zellij-server/src/panes/tiled_panes/mod.rs
@@ -423,7 +423,7 @@ impl TiledPanes {
.unwrap_or(false)
{
let _ = StackedPanes::new_from_btreemap(&mut self.panes, &self.panes_to_hide)
- .focus_pane(&pane_id);
+ .expand_pane(&pane_id);
}
self.active_panes
.insert(client_id, pane_id, &mut self.panes);
@@ -446,7 +446,7 @@ impl TiledPanes {
{
let _ =
StackedPanes::new_from_btreemap(&mut self.panes, &self.panes_to_hide)
- .focus_pane(&pane_id);
+ .expand_pane(&pane_id);
}
self.active_panes
.insert(client_id, *pane_id, &mut self.panes);
@@ -465,7 +465,7 @@ impl TiledPanes {
&mut self.panes,
&self.panes_to_hide,
)
- .focus_pane(&pane_id);
+ .expand_pane(&pane_id);
}
self.active_panes
.insert(client_id, pane_id, &mut self.panes);
@@ -477,6 +477,33 @@ impl TiledPanes {
self.set_force_render();
self.reapply_pane_frames();
}
+ pub fn expand_pane_in_stack(&mut self, pane_id: PaneId) -> Vec<PaneId> {
+ // returns all pane ids in stack
+ match StackedPanes::new_from_btreemap(&mut self.panes, &self.panes_to_hide)
+ .expand_pane(&pane_id)
+ {
+ Ok(all_panes_in_stack) => {
+ let connected_clients: Vec<ClientId> =
+ self.connected_clients.borrow().iter().copied().collect();
+ for client_id in connected_clients {
+ if let Some(focused_pane_id_for_client) = self.active_panes.get(&client_id) {
+ if all_panes_in_stack.contains(focused_pane_id_for_client) {
+ self.active_panes
+ .insert(client_id, pane_id, &mut self.panes);
+ self.set_pane_active_at(pane_id);
+ }
+ }
+ }
+ self.set_force_render();
+ self.reapply_pane_frames();
+ all_panes_in_stack
+ },
+ Err(e) => {
+ log::error!("Failed to expand pane in stack: {:?}", e);
+ vec![]
+ },
+ }
+ }
pub fn focus_pane(&mut self, pane_id: PaneId, client_id: ClientId) {
if self
.panes
@@ -485,7 +512,7 @@ impl TiledPanes {
.unwrap_or(false)
{
let _ = StackedPanes::new_from_btreemap(&mut self.panes, &self.panes_to_hide)
- .focus_pane(&pane_id);
+ .expand_pane(&pane_id);
self.reapply_pane_frames();
}
@@ -826,7 +853,7 @@ impl TiledPanes {
.unwrap_or(false)
{
let _ = StackedPanes::new_from_btreemap(&mut self.panes, &self.panes_to_hide)
- .focus_pane(&next_active_pane_id);
+ .expand_pane(&next_active_pane_id);
self.reapply_pane_frames();
}
@@ -858,7 +885,7 @@ impl TiledPanes {
.unwrap_or(false)
{
let _ = StackedPanes::new_from_btreemap(&mut self.panes, &self.panes_to_hide)
- .focus_pane(&next_active_pane_id);
+ .expand_pane(&next_active_pane_id);
self.reapply_pane_frames();
}
for client_id in connected_clients {
@@ -1166,7 +1193,7 @@ impl TiledPanes {
.unwrap_or(false)
{
let _ = StackedPanes::new_from_btreemap(&mut self.panes, &self.panes_to_hide)
- .focus_pane(&new_position_id);
+ .expand_pane(&new_position_id);
self.reapply_pane_frames();
}
@@ -1430,7 +1457,7 @@ impl TiledPanes {
.unwrap_or(false)
{
let _ = StackedPanes::new_from_btreemap(&mut self.panes, &self.panes_to_hide)
- .focus_pane(&next_active_pane_id);
+ .expand_pane(&next_active_pane_id);
self.reapply_pane_frames();
}
for (client_id, active_pane_id) in active_panes {
diff --git a/zellij-server/src/panes/tiled_panes/stacked_panes.rs b/zellij-server/src/panes/tiled_panes/stacked_panes.rs
index cc0b0f15..bc5057a5 100644
--- a/zellij-server/src/panes/tiled_panes/stacked_panes.rs
+++ b/zellij-server/src/panes/tiled_panes/stacked_panes.rs
@@ -102,9 +102,8 @@ impl<'a> StackedPanes<'a> {
}
Ok(())
}
- pub fn focus_pane(&mut self, pane_id: &PaneId) -> Result<()> {
- // this function doesn't actually change the focus (since it is controlled elsewhere)
- // but rather makes sure pane_id is flexible if it were a one-liner before
+ pub fn expand_pane(&mut self, pane_id: &PaneId) -> Result<Vec<PaneId>> {
+ // returns all the pane ids in the stack
let err_context = || format!("Failed to focus stacked pane");
let all_stacked_pane_positions =
self.positions_in_stack(pane_id).with_context(err_context)?;
@@ -158,7 +157,10 @@ impl<'a> StackedPanes<'a> {
}
}
}
- Ok(())
+ Ok(all_stacked_pane_positions
+ .iter()
+ .map(|(pane_id, _pane_position)| *pane_id)
+ .collect())
}
pub fn flexible_pane_id_in_stack(&self, pane_id_in_stack: &PaneId) -> Option<PaneId> {
let all_stacked_pane_positions = self.positions_in_stack(pane_id_in_stack).ok()?;
diff --git a/zellij-server/src/tab/layout_applier.rs b/zellij-server/src/tab/layout_applier.rs
index 04c22fe9..ef475c07 100644
--- a/zellij-server/src/tab/layout_applier.rs
+++ b/zellij-server/src/tab/layout_applier.rs
@@ -138,6 +138,8 @@ impl<'a> LayoutApplier<'a> {
Some(position_and_size),
);
pane_focuser.set_pane_id_in_focused_location(layout.focus, &pane);
+ pane_focuser
+ .set_expanded_stacked_pane(layout.is_expanded_in_stack, &pane);
resize_pty!(pane, self.os_api, self.senders, self.character_cell_size)?;
self.tiled_panes
.add_pane_with_existing_geom(pane.pid(), pane);
@@ -161,6 +163,7 @@ impl<'a> LayoutApplier<'a> {
Some(position_and_size),
);
pane_focuser.set_pane_id_in_focused_location(layout.focus, &pane);
+ pane_focuser.set_expanded_stacked_pane(layout.is_expanded_in_stack, &pane);
resize_pty!(pane, self.os_api, self.senders, self.character_cell_size)?;
self.tiled_panes
.add_pane_with_existing_geom(pane.pid(), pane);
@@ -744,6 +747,7 @@ impl ExistingTabState {
struct PaneFocuser {
refocus_pane: bool,
pane_id_in_focused_location: Option<PaneId>,
+ expanded_stacked_pane_ids: Vec<PaneId>,
}
impl PaneFocuser {
@@ -762,12 +766,24 @@ impl PaneFocuser {
self.pane_id_in_focused_location = Some(pane.pid());
}
}
+ pub fn set_expanded_stacked_pane(&mut self, is_expanded_in_stack: bool, pane: &Box<dyn Pane>) {
+ if is_expanded_in_stack && pane.selectable() {
+ self.expanded_stacked_pane_ids.push(pane.pid());
+ }
+ }
pub fn focus_tiled_pane(&self, tiled_panes: &mut TiledPanes) {
+ let mut panes_in_stack = vec![];
+ for pane_id in &self.expanded_stacked_pane_ids {
+ panes_in_stack.append(&mut tiled_panes.expand_pane_in_stack(*pane_id));
+ }
match self.pane_id_in_focused_location {
Some(pane_id_in_focused_location) => {
if self.refocus_pane {
tiled_panes.reapply_pane_focus();
- tiled_panes.switch_active_pane_with(pane_id_in_focused_location);
+ if !panes_in_stack.contains(&pane_id_in_focused_location) {
+ // we do not change stacked panes locations because this has already been done above
+ tiled_panes.switch_active_pane_with(pane_id_in_focused_location);
+ }
} else {
tiled_panes.reapply_pane_focus();
}
@@ -776,6 +792,9 @@ impl PaneFocuser {
tiled_panes.reapply_pane_focus();
},
}
+ for pane_id in &self.expanded_stacked_pane_ids {
+ tiled_panes.expand_pane_in_stack(*pane_id);
+ }
}
pub fn focus_floating_pane(
&self,
diff --git a/zellij-server/src/tab/unit/snapshots/zellij_server__tab__tab_integration_tests__can_define_expanded_pane_in_stack.snap b/zellij-server/src/tab/unit/snapshots/zellij_server__tab__tab_integration_tests__can_define_expanded_pane_in_stack.snap
new file mode 100644
index 00000000..f12ea290
--- /dev/null
+++ b/zellij-server/src/tab/unit/snapshots/zellij_server__tab__tab_integration_tests__can_define_expanded_pane_in_stack.snap
@@ -0,0 +1,26 @@
+---
+source: zellij-server/src/tab/./unit/tab_integration_tests.rs
+assertion_line: 6826
+expression: snapshot
+---
+00 (C): ┌ Pane #1 ──────────────────────────────────────────────────┐┌ Pane #2 ─────────────────────────────────────────────────┐
+01 (C): │ │┌ Pane #3 ─────────────────────────────────────────────────┐
+02 (C): │ ││ │
+03 (C): │ ││ │
+04 (C): │ ││ │
+05 (C): │ ││ │
+06 (C): │ ││ │
+07 (C): │ ││ │
+08 (C): │ ││ │
+09 (C): │ ││ │
+10 (C): │ ││ │
+11 (C): │ ││ │
+12 (C): │ ││ │
+13 (C): │ ││ │
+14 (C): │ ││ │
+15 (C): │ ││ │
+16 (C): │ ││ │
+17 (C): │ │└──────────────────────────────────────────────────────────┘
+18 (C): │ │└ Pane #4 ─────────────────────────────────────────────────┘
+19 (C): └───────────────────────────────────────────────────────────┘└ Pane #5 ─────────────────────────────────────────────────┘
+
diff --git a/zellij-server/src/tab/unit/tab_integration_tests.rs b/zellij-server/src/tab/unit/tab_integration_tests.rs
index d7556eed..24fa1b2f 100644
--- a/zellij-server/src/tab/unit/tab_integration_tests.rs
+++ b/zellij-server/src/tab/unit/tab_integration_tests.rs
@@ -6793,3 +6793,35 @@ fn when_applying_a_truncated_swap_layout_child_attributes_are_not_ignored() {
);
assert_snapshot!(snapshot);
}
+
+#[test]
+fn can_define_expanded_pane_in_stack() {
+ let layout = r#"
+ layout {
+ pane split_direction="Vertical" {
+ pane
+ pane stacked=true {
+ pane
+ pane expanded=true
+ pane
+ pane
+ }
+ }
+ }
+ "#;
+ let size = Size {
+ cols: 121,
+ rows: 20,
+ };
+ let client_id = 1;
+ let mut tab = create_new_tab_with_layout(size, ModeInfo::default(), layout);
+ let mut output = Output::default();
+ tab.render(&mut output, None).unwrap();
+ let snapshot = take_snapshot(
+ output.serialize().unwrap().get(&client_id).unwrap(),
+ size.rows,
+ size.cols,
+ Palette::default(),
+ );
+ assert_snapshot!(snapshot);
+}
diff --git a/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_new_tab_action_default_params.snap b/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_new_tab_action_default_params.snap
index 08168b96..45e58cf7 100644
--- a/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_new_tab_action_default_params.snap
+++ b/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_new_tab_action_default_params.snap
@@ -1,6 +1,6 @@
---
source: zellij-server/src/./unit/screen_tests.rs
-assertion_line: 2394
+assertion_line: 2397
expression: "format!(\"{:#?}\", new_tab_action)"
---
Some(
@@ -21,6 +21,7 @@ Some(
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -32,6 +33,7 @@ Some(
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -40,6 +42,7 @@ Some(
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
),
[],
diff --git a/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_new_tab_action_with_name_and_layout.snap b/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_new_tab_action_with_name_and_layout.snap
index 195fc81e..d09628de 100644
--- a/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_new_tab_action_with_name_and_layout.snap
+++ b/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_new_tab_action_with_name_and_layout.snap
@@ -1,6 +1,6 @@
---
source: zellij-server/src/./unit/screen_tests.rs
-assertion_line: 2445
+assertion_line: 2448
expression: "format!(\"{:#?}\", new_tab_instruction)"
---
NewTab(
@@ -24,6 +24,7 @@ NewTab(
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -39,6 +40,7 @@ NewTab(
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -54,6 +56,7 @@ NewTab(
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -62,6 +65,7 @@ NewTab(
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
),
[],
diff --git a/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_rename_tab.snap b/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_rename_tab.snap
index 2423ce98..c0312eb7 100644
--- a/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_rename_tab.snap
+++ b/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_rename_tab.snap
@@ -1,5 +1,6 @@
---
source: zellij-server/src/./unit/screen_tests.rs
+assertion_line: 2632
expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())"
---
[
@@ -42,6 +43,7 @@ expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())"
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -53,6 +55,7 @@ expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())"
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -61,6 +64,7 @@ expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())"
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
),
[],
@@ -196,6 +200,7 @@ expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())"
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -207,6 +212,7 @@ expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())"
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -215,6 +221,7 @@ expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())"
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
),
[],
diff --git a/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_undo_rename_tab.snap b/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_undo_rename_tab.snap
index 0b777a1e..525bb97d 100644
--- a/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_undo_rename_tab.snap
+++ b/zellij-server/src/unit/snapshots/zellij_server__screen__screen_tests__send_cli_undo_rename_tab.snap
@@ -1,5 +1,6 @@
---
source: zellij-server/src/./unit/screen_tests.rs
+assertion_line: 2675
expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())"
---
[
@@ -42,6 +43,7 @@ expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())"
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -53,6 +55,7 @@ expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())"
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -61,6 +64,7 @@ expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())"
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
),
[],
@@ -196,6 +200,7 @@ expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())"
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -207,6 +212,7 @@ expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())"
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -215,6 +221,7 @@ expression: "format!(\"{:#?}\", * received_plugin_instructions.lock().unwrap())"
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
),
[],
diff --git a/zellij-utils/src/input/layout.rs b/zellij-utils/src/input/layout.rs
index 78db7ce5..a07e1d31 100644
--- a/zellij-utils/src/input/layout.rs
+++ b/zellij-utils/src/input/layout.rs
@@ -394,6 +394,7 @@ pub struct TiledPaneLayout {
pub focus: Option<bool>,
pub external_children_index: Option<usize>,
pub children_are_stacked: bool,
+ pub is_expanded_in_stack: bool,
}
impl TiledPaneLayout {
@@ -865,12 +866,15 @@ fn split_space(
) -> Result<Vec<(TiledPaneLayout, PaneGeom)>, &'static str> {
let mut pane_positions = Vec::new();
let sizes: Vec<Option<SplitSize>> = if layout.children_are_stacked {
+ let index_of_expanded_pane = layout.children.iter().position(|p| p.is_expanded_in_stack);
let mut sizes: Vec<Option<SplitSize>> = layout
.children
.iter()
.map(|_part| Some(SplitSize::Fixed(1)))
.collect();
- if let Some(last_size) = sizes.last_mut() {
+ if let Some(index_of_expanded_pane) = index_of_expanded_pane {
+ *sizes.get_mut(index_of_expanded_pane).unwrap() = None;
+ } else if let Some(last_size) = sizes.last_mut() {
*last_size = None;
}
sizes
diff --git a/zellij-utils/src/input/unit/layout_test.rs b/zellij-utils/src/input/unit/layout_test.rs
index 237cf978..7ff2567a 100644
--- a/zellij-utils/src/input/unit/layout_test.rs
+++ b/zellij-utils/src/input/unit/layout_test.rs
@@ -1882,6 +1882,21 @@ fn can_define_stacked_children_for_pane_template() {
}
#[test]
+fn can_define_a_stack_with_an_expanded_pane() {
+ let kdl_layout = r#"
+ layout {
+ pane stacked=true {
+ pane
+ pane expanded=true
+ pane
+ }
+ }
+ "#;
+ let layout = Layout::from_kdl(kdl_layout, "layout_file_name".into(), None, None).unwrap();
+ assert_snapshot!(format!("{:#?}", layout));
+}
+
+#[test]
fn cannot_define_stacked_panes_for_bare_node() {
let kdl_layout = r#"
layout {
@@ -1893,6 +1908,20 @@ fn cannot_define_stacked_panes_for_bare_node() {
}
#[test]
+fn cannot_define_an_expanded_pane_outside_of_a_stack() {
+ let kdl_layout = r#"
+ layout {
+ pane {
+ pane
+ pane expanded=true
+ }
+ }
+ "#;
+ let layout = Layout::from_kdl(kdl_layout, "layout_file_name".into(), None, None);
+ assert!(layout.is_err(), "error provided for tab name with space");
+}
+
+#[test]
fn cannot_define_stacked_panes_with_vertical_split_direction() {
let kdl_layout = r#"
layout {
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__args_added_to_args_in_template.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__args_added_to_args_in_template.snap
index 79990832..65450c12 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__args_added_to_args_in_template.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__args_added_to_args_in_template.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1266
+assertion_line: 1322
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -32,6 +32,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -56,6 +57,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -64,6 +66,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__args_override_args_in_template.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__args_override_args_in_template.snap
index bb691fe7..5db6198b 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__args_override_args_in_template.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__args_override_args_in_template.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1231
+assertion_line: 1287
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -35,6 +35,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -59,6 +60,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -67,6 +69,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_define_a_stack_with_an_expanded_pane.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_define_a_stack_with_an_expanded_pane.snap
new file mode 100644
index 00000000..92e0e436
--- /dev/null
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_define_a_stack_with_an_expanded_pane.snap
@@ -0,0 +1,79 @@
+---
+source: zellij-utils/src/input/./unit/layout_test.rs
+assertion_line: 1896
+expression: "format!(\"{:#?}\", layout)"
+---
+Layout {
+ tabs: [],
+ focused_tab_index: None,
+ template: Some(
+ (
+ TiledPaneLayout {
+ children_split_direction: Horizontal,
+ name: None,
+ children: [
+ TiledPaneLayout {
+ children_split_direction: Horizontal,
+ name: None,
+ children: [
+ TiledPaneLayout {
+ children_split_direction: Horizontal,
+ name: None,
+ children: [],
+ split_size: None,
+ run: None,
+ borderless: false,
+ focus: None,
+ external_children_index: None,
+ children_are_stacked: false,
+ is_expanded_in_stack: false,
+ },
+ TiledPaneLayout {
+ children_split_direction: Horizontal,
+ name: None,
+ children: [],
+ split_size: None,
+ run: None,
+ borderless: false,
+ focus: None,
+ external_children_index: None,
+ children_are_stacked: false,
+ is_expanded_in_stack: true,
+ },
+ TiledPaneLayout {
+ children_split_direction: Horizontal,
+ name: None,
+ children: [],
+ split_size: None,
+ run: None,
+ borderless: false,
+ focus: None,
+ external_children_index: None,
+ children_are_stacked: false,
+ is_expanded_in_stack: false,
+ },
+ ],
+ split_size: None,
+ run: None,
+ borderless: false,
+ focus: None,
+ external_children_index: None,
+ children_are_stacked: true,
+ is_expanded_in_stack: false,
+ },
+ ],
+ split_size: None,
+ run: None,
+ borderless: false,
+ focus: None,
+ external_children_index: None,
+ children_are_stacked: false,
+ is_expanded_in_stack: false,
+ },
+ [],
+ ),
+ ),
+ swap_layouts: [],
+ swap_tiled_layouts: [],
+ swap_floating_layouts: [],
+}
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_define_stacked_children_for_pane_node.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_define_stacked_children_for_pane_node.snap
index 74a872bc..c9aa7f87 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_define_stacked_children_for_pane_node.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_define_stacked_children_for_pane_node.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1870
+assertion_line: 1864
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -26,6 +26,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -37,6 +38,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -45,6 +47,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: true,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -53,6 +56,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_define_stacked_children_for_pane_template.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_define_stacked_children_for_pane_template.snap
index 9653eda5..36186c3c 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_define_stacked_children_for_pane_template.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_define_stacked_children_for_pane_template.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1893
+assertion_line: 1881
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -30,6 +30,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -41,6 +42,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -49,6 +51,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: true,
+ is_expanded_in_stack: true,
},
],
split_size: None,
@@ -57,6 +60,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: true,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -65,6 +69,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_load_swap_layouts_from_a_different_file.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_load_swap_layouts_from_a_different_file.snap
index be292b58..e2860ea0 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_load_swap_layouts_from_a_different_file.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__can_load_swap_layouts_from_a_different_file.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1788
+assertion_line: 1850
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -22,6 +22,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -30,6 +31,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
@@ -69,6 +71,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -88,6 +91,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -101,6 +105,7 @@ Layout {
0,
),
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -109,6 +114,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -117,6 +123,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -143,6 +150,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -151,6 +159,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
MaxPanes(
8,
@@ -183,6 +192,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -204,6 +214,7 @@ Layout {
0,
),
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -219,6 +230,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -230,6 +242,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -241,6 +254,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -252,6 +266,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -260,6 +275,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -268,6 +284,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -276,6 +293,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -302,6 +320,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -310,6 +329,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
MaxPanes(
12,
@@ -342,6 +362,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -363,6 +384,7 @@ Layout {
0,
),
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -378,6 +400,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -389,6 +412,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -400,6 +424,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -411,6 +436,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -419,6 +445,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -434,6 +461,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -445,6 +473,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -456,6 +485,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -467,6 +497,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -475,6 +506,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -483,6 +515,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -491,6 +524,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -517,6 +551,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -525,6 +560,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
},
Some(
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__children_not_as_first_child_of_pane_template.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__children_not_as_first_child_of_pane_template.snap
index 304f0169..be074f54 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__children_not_as_first_child_of_pane_template.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__children_not_as_first_child_of_pane_template.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 909
+assertion_line: 956
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -32,6 +32,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -47,6 +48,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -58,6 +60,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -66,6 +69,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -74,6 +78,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -85,6 +90,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -93,6 +99,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -112,6 +119,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -122,6 +130,7 @@ Layout {
1,
),
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -133,6 +142,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -141,6 +151,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -149,6 +160,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__children_not_as_first_child_of_tab_template.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__children_not_as_first_child_of_tab_template.snap
index ded8fd1f..4cb4b14e 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__children_not_as_first_child_of_tab_template.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__children_not_as_first_child_of_tab_template.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 861
+assertion_line: 908
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -27,6 +27,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -42,6 +43,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -53,6 +55,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -61,6 +64,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -69,6 +73,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -80,6 +85,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -88,6 +94,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
@@ -111,6 +118,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -121,6 +129,7 @@ Layout {
1,
),
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -132,6 +141,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -140,6 +150,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
@@ -157,6 +168,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__close_on_exit_added_to_close_on_exit_in_template.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__close_on_exit_added_to_close_on_exit_in_template.snap
index b7ed1fe8..aa59d56a 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__close_on_exit_added_to_close_on_exit_in_template.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__close_on_exit_added_to_close_on_exit_in_template.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1283
+assertion_line: 1339
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -32,6 +32,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -53,6 +54,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -61,6 +63,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__close_on_exit_overrides_close_on_exit_in_template.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__close_on_exit_overrides_close_on_exit_in_template.snap
index b0c35796..20cf29a6 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__close_on_exit_overrides_close_on_exit_in_template.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__close_on_exit_overrides_close_on_exit_in_template.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1249
+assertion_line: 1305
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -32,6 +32,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -53,6 +54,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -61,6 +63,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__combined_tab_and_pane_template_both_with_children.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__combined_tab_and_pane_template_both_with_children.snap
index ad335416..4690737e 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__combined_tab_and_pane_template_both_with_children.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__combined_tab_and_pane_template_both_with_children.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 961
+assertion_line: 1008
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -27,6 +27,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -44,6 +45,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -52,6 +54,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -63,6 +66,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -71,6 +75,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -86,6 +91,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -97,6 +103,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -105,6 +112,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -113,6 +121,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
@@ -136,6 +145,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -153,6 +163,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -161,6 +172,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -172,6 +184,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -180,6 +193,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -191,6 +205,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -199,6 +214,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
@@ -216,6 +232,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__cwd_added_to_cwd_in_template.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__cwd_added_to_cwd_in_template.snap
index 1940a648..0d55ae02 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__cwd_added_to_cwd_in_template.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__cwd_added_to_cwd_in_template.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1318
+assertion_line: 1374
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -32,6 +32,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -55,6 +56,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -63,6 +65,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__cwd_override_cwd_in_template.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__cwd_override_cwd_in_template.snap
index f89eb14e..7c487e00 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__cwd_override_cwd_in_template.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__cwd_override_cwd_in_template.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1301
+assertion_line: 1357
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -34,6 +34,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -57,6 +58,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -65,6 +67,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd.snap
index 0c0dc06d..72e1a7ae 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1701
+assertion_line: 1759
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -25,6 +25,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -48,6 +49,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -60,6 +62,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
@@ -77,6 +80,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd_in_pane_templates.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd_in_pane_templates.snap
index 7859311c..45cbc40c 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd_in_pane_templates.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd_in_pane_templates.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1722
+assertion_line: 1780
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -29,6 +29,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -52,6 +53,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -71,6 +73,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -83,6 +86,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -95,6 +99,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -107,6 +112,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
@@ -124,6 +130,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd_in_tab_templates.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd_in_tab_templates.snap
index 76d08d57..4fe1ca34 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd_in_tab_templates.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_and_tab_cwd_prepended_to_panes_with_and_without_cwd_in_tab_templates.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1741
+assertion_line: 1799
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -25,6 +25,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -48,6 +49,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -67,6 +69,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -79,6 +82,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -91,6 +95,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
@@ -108,6 +113,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_given_to_panes_without_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_given_to_panes_without_cwd.snap
index c9b824bd..350be507 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_given_to_panes_without_cwd.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_given_to_panes_without_cwd.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1588
+assertion_line: 1644
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -26,6 +26,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -49,6 +50,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -57,6 +59,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_passed_from_layout_constructor.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_passed_from_layout_constructor.snap
index 328b9bc9..83d4e314 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_passed_from_layout_constructor.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_passed_from_layout_constructor.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1620
+assertion_line: 1677
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -26,6 +26,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -49,6 +50,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -57,6 +59,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_passed_from_layout_constructor_overrides_global_cwd_in_layout_file.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_passed_from_layout_constructor_overrides_global_cwd_in_layout_file.snap
index d16986e1..ecffcd50 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_passed_from_layout_constructor_overrides_global_cwd_in_layout_file.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_passed_from_layout_constructor_overrides_global_cwd_in_layout_file.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1640
+assertion_line: 1698
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -26,6 +26,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -49,6 +50,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -57,6 +59,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_prepended_to_panes_with_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_prepended_to_panes_with_cwd.snap
index 3b445963..36f7eae1 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_prepended_to_panes_with_cwd.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_prepended_to_panes_with_cwd.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1601
+assertion_line: 1657
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -26,6 +26,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -49,6 +50,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -57,6 +59,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_with_tab_cwd_given_to_panes_without_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_with_tab_cwd_given_to_panes_without_cwd.snap
index 58602c68..bb2788f1 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_with_tab_cwd_given_to_panes_without_cwd.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__global_cwd_with_tab_cwd_given_to_panes_without_cwd.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1656
+assertion_line: 1714
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -25,6 +25,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -48,6 +49,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -60,6 +62,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
@@ -77,6 +80,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_command_panes_and_close_on_exit.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_command_panes_and_close_on_exit.snap
index 83f17c11..a1c0e304 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_command_panes_and_close_on_exit.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_command_panes_and_close_on_exit.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 448
+assertion_line: 481
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -32,6 +32,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -40,6 +41,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_command_panes_and_start_suspended.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_command_panes_and_start_suspended.snap
index 8b3afcdd..bff3ec1d 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_command_panes_and_start_suspended.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_command_panes_and_start_suspended.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 461
+assertion_line: 494
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -32,6 +32,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -40,6 +41,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_default_tab_template.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_default_tab_template.snap
index daf284ff..470639ec 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_default_tab_template.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_default_tab_template.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 720
+assertion_line: 767
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -23,6 +23,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Vertical,
@@ -38,6 +39,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -49,6 +51,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -57,6 +60,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -68,6 +72,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -76,6 +81,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
@@ -97,6 +103,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -112,6 +119,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -123,6 +131,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -131,6 +140,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -142,6 +152,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -150,6 +161,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
@@ -169,6 +181,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -180,6 +193,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -191,6 +205,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -199,6 +214,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
@@ -220,6 +236,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -231,6 +248,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -242,6 +260,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -250,6 +269,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_nested_branched_pane_templates.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_nested_branched_pane_templates.snap
index cb166970..7a0e3552 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_nested_branched_pane_templates.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_nested_branched_pane_templates.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 815
+assertion_line: 862
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -26,6 +26,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -37,6 +38,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -52,6 +54,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -63,6 +66,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -71,6 +75,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -86,6 +91,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -97,6 +103,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -108,6 +115,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -116,6 +124,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -124,6 +133,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -132,6 +142,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_nested_pane_templates.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_nested_pane_templates.snap
index 3fab5306..727a2afa 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_nested_pane_templates.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_nested_pane_templates.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 789
+assertion_line: 836
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -26,6 +26,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -37,6 +38,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -52,6 +54,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -63,6 +66,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -71,6 +75,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -82,6 +87,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -90,6 +96,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -98,6 +105,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_pane_templates.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_pane_templates.snap
index f52d2c97..c0a6055c 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_pane_templates.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_pane_templates.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 747
+assertion_line: 794
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -26,6 +26,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -41,6 +42,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -49,6 +51,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -60,6 +63,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -68,6 +72,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Vertical,
@@ -83,6 +88,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -98,6 +104,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -109,6 +116,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -117,6 +125,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -128,6 +137,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -136,6 +146,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Vertical,
@@ -151,6 +162,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Vertical,
@@ -166,6 +178,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -177,6 +190,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -185,6 +199,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -196,6 +211,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -204,6 +220,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Vertical,
@@ -219,6 +236,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -230,6 +248,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -241,6 +260,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -249,6 +269,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -257,6 +278,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_tab_and_pane_templates.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_tab_and_pane_templates.snap
index 9126477e..922932c8 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_tab_and_pane_templates.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_tab_and_pane_templates.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 768
+assertion_line: 815
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -25,6 +25,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -50,6 +51,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -58,6 +60,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -69,6 +72,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -77,6 +81,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -85,6 +90,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
@@ -102,6 +108,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_tabs_and_floating_panes.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_tabs_and_floating_panes.snap
index 61286160..3ea06c6c 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_tabs_and_floating_panes.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__layout_with_tabs_and_floating_panes.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 254
+assertion_line: 275
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -21,6 +21,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -29,6 +30,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[
FloatingPaneLayout {
@@ -58,6 +60,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -66,6 +69,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[
FloatingPaneLayout {
@@ -102,6 +106,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_is_overriden_by_its_consumers_bare_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_is_overriden_by_its_consumers_bare_cwd.snap
index a3a4965c..9a8f037e 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_is_overriden_by_its_consumers_bare_cwd.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_is_overriden_by_its_consumers_bare_cwd.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1472
+assertion_line: 1528
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -34,6 +34,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -42,6 +43,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_overriden_by_its_consumers_command_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_overriden_by_its_consumers_command_cwd.snap
index a0d1a943..4cc09f33 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_overriden_by_its_consumers_command_cwd.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_overriden_by_its_consumers_command_cwd.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1418
+assertion_line: 1474
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -34,6 +34,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -42,6 +43,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_remains_when_its_consumer_command_does_not_have_a_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_remains_when_its_consumer_command_does_not_have_a_cwd.snap
index 81f0a09f..93af65c6 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_remains_when_its_consumer_command_does_not_have_a_cwd.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_with_cwd_remains_when_its_consumer_command_does_not_have_a_cwd.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1435
+assertion_line: 1491
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -34,6 +34,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -42,6 +43,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_without_cwd_is_overriden_by_its_consumers_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_without_cwd_is_overriden_by_its_consumers_cwd.snap
index ddcd1225..6f3eadfa 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_without_cwd_is_overriden_by_its_consumers_cwd.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_without_cwd_is_overriden_by_its_consumers_cwd.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1453
+assertion_line: 1509
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -34,6 +34,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -42,6 +43,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_without_cwd_receives_its_consumers_bare_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_without_cwd_receives_its_consumers_bare_cwd.snap
index 74318d3a..7e899c39 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_without_cwd_receives_its_consumers_bare_cwd.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_command_without_cwd_receives_its_consumers_bare_cwd.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1490
+assertion_line: 1546
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -34,6 +34,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -42,6 +43,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_cwd_overriden_by_its_consumers_bare_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_cwd_overriden_by_its_consumers_bare_cwd.snap
index 13492fea..6395def8 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_cwd_overriden_by_its_consumers_bare_cwd.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_cwd_overriden_by_its_consumers_bare_cwd.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1508
+assertion_line: 1564
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -26,6 +26,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -34,6 +35,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_command_with_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_command_with_cwd.snap
index bb193e7c..2615e5f1 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_command_with_cwd.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_command_with_cwd.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1542
+assertion_line: 1598
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -34,6 +34,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -42,6 +43,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_command_without_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_command_without_cwd.snap
index d28a7be1..e4506f35 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_command_without_cwd.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_command_without_cwd.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1524
+assertion_line: 1580
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -34,6 +34,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -42,6 +43,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_edit.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_edit.snap
index 68661a9c..64641deb 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_edit.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_bare_propagated_to_its_consumer_edit.snap
@@ -30,6 +30,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -38,6 +39,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_command_propagated_to_its_consumer_edit.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_command_propagated_to_its_consumer_edit.snap
index 47469139..9ed7fb77 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_command_propagated_to_its_consumer_edit.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__pane_template_with_command_propagated_to_its_consumer_edit.snap
@@ -30,6 +30,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -38,6 +39,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__tab_cwd_given_to_panes_without_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__tab_cwd_given_to_panes_without_cwd.snap
index 718b0edb..32ae0b59 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__tab_cwd_given_to_panes_without_cwd.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__tab_cwd_given_to_panes_without_cwd.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1671
+assertion_line: 1729
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -25,6 +25,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -48,6 +49,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -60,6 +62,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
@@ -77,6 +80,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__tab_cwd_prepended_to_panes_with_cwd.snap b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__tab_cwd_prepended_to_panes_with_cwd.snap
index 1a205760..6334e791 100644
--- a/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__tab_cwd_prepended_to_panes_with_cwd.snap
+++ b/zellij-utils/src/input/unit/snapshots/zellij_utils__input__layout__layout_test__tab_cwd_prepended_to_panes_with_cwd.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/input/./unit/layout_test.rs
-assertion_line: 1686
+assertion_line: 1744
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -25,6 +25,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -48,6 +49,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -60,6 +62,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
@@ -77,6 +80,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/kdl/kdl_layout_parser.rs b/zellij-utils/src/kdl/kdl_layout_parser.rs
index bcb21b86..570824a0 100644
--- a/zellij-utils/src/kdl/kdl_layout_parser.rs
+++ b/zellij-utils/src/kdl/kdl_layout_parser.rs
@@ -91,6 +91,7 @@ impl<'a> KdlLayoutParser<'a> {
|| property_name == "pane"
|| property_name == "children"
|| property_name == "stacked"
+ || property_name == "expanded"
}
fn is_a_valid_floating_pane_property(&self, property_name: &str) -> bool {
property_name == "borderless"
@@ -438,6 +439,8 @@ impl<'a> KdlLayoutParser<'a> {
self.assert_valid_pane_properties(kdl_node)?;
let children_are_stacked =
kdl_get_bool_property_or_child_value_with_error!(kdl_node, "stacked").unwrap_or(false);
+ let is_expanded_in_stack =
+ kdl_get_bool_property_or_child_value_with_error!(kdl_node, "expanded").unwrap_or(false);
let borderless = kdl_get_bool_property_or_child_value_with_error!(kdl_node, "borderless");
let focus = kdl_get_bool_property_or_child_value_with_error!(kdl_node, "focus");
let name = kdl_get_string_property_or_child_value_with_error!(kdl_node, "name")
@@ -464,6 +467,12 @@ impl<'a> KdlLayoutParser<'a> {
kdl_node.span().offset(),
kdl_node.span().len(),
));
+ } else if is_expanded_in_stack && !is_part_of_stack {
+ return Err(ConfigError::new_layout_kdl_error(
+ format!("An expanded pane must be part of a stack"),
+ kdl_node.span().offset(),
+ kdl_node.span().len(),
+ ));
}
self.assert_no_mixed_children_and_properties(kdl_node)?;
Ok(TiledPaneLayout {
@@ -476,6 +485,7 @@ impl<'a> KdlLayoutParser<'a> {
external_children_index,
children,
children_are_stacked,
+ is_expanded_in_stack,
..Default::default()
})
}
@@ -513,6 +523,9 @@ impl<'a> KdlLayoutParser<'a> {
let children_are_stacked =
kdl_get_bool_property_or_child_value_with_error!(kdl_node, "stacked")
.unwrap_or(pane_template.children_are_stacked);
+ let is_expanded_in_stack =
+ kdl_get_bool_property_or_child_value_with_error!(kdl_node, "expanded")
+ .unwrap_or(pane_template.children_are_stacked);
let children_split_direction = self.parse_split_direction(kdl_node)?;
let (external_children_index, pane_parts) = match kdl_children_nodes!(kdl_node) {
Some(children) => {
@@ -526,6 +539,7 @@ impl<'a> KdlLayoutParser<'a> {
children: pane_parts,
external_children_index,
children_are_stacked,
+ is_expanded_in_stack,
..Default::default()
};
self.assert_one_children_block(&pane_template, pane_template_kdl_node)?;
@@ -582,6 +596,8 @@ impl<'a> KdlLayoutParser<'a> {
.map(|name| name.to_string());
let children_are_stacked =
kdl_get_bool_property_or_child_value_with_error!(kdl_node, "stacked");
+ let is_expanded_in_stack =
+ kdl_get_bool_property_or_child_value_with_error!(kdl_node, "expanded");
let args = self.parse_args(kdl_node)?;
let close_on_exit =
kdl_get_bool_property_or_child_value_with_error!(kdl_node, "close_on_exit");
@@ -640,6 +656,9 @@ impl<'a> KdlLayoutParser<'a> {
if let Some(children_are_stacked) = children_are_stacked {
pane_template.children_are_stacked = children_are_stacked;
}
+ if let Some(is_expanded_in_stack) = is_expanded_in_stack {
+ pane_template.is_expanded_in_stack = is_expanded_in_stack;
+ }
pane_template.external_children_index = external_children_index;
Ok(pane_template)
},
@@ -803,6 +822,8 @@ impl<'a> KdlLayoutParser<'a> {
let borderless = kdl_get_bool_property_or_child_value_with_error!(kdl_node, "borderless");
let children_are_stacked =
kdl_get_bool_property_or_child_value_with_error!(kdl_node, "stacked");
+ let is_expanded_in_stack =
+ kdl_get_bool_property_or_child_value_with_error!(kdl_node, "expanded");
let split_size = self.parse_split_size(kdl_node)?;
let split_direction =
kdl_get_string_property_or_child_value_with_error!(kdl_node, "split_direction");
@@ -818,6 +839,7 @@ impl<'a> KdlLayoutParser<'a> {
|| split_size.is_some()
|| split_direction.is_some()
|| children_are_stacked.is_some()
+ || is_expanded_in_stack.is_some()
|| has_children_nodes;
let has_floating_pane_properties =
height.is_some() || width.is_some() || x.is_some() || y.is_some();
@@ -837,6 +859,8 @@ impl<'a> KdlLayoutParser<'a> {
let borderless = kdl_get_bool_property_or_child_value_with_error!(kdl_node, "borderless");
let children_are_stacked =
kdl_get_bool_property_or_child_value_with_error!(kdl_node, "stacked");
+ let is_expanded_in_stack =
+ kdl_get_bool_property_or_child_value_with_error!(kdl_node, "expanded");
let split_size = self.parse_split_size(kdl_node)?;
let split_direction =
kdl_get_string_property_or_child_value_with_error!(kdl_node, "split_direction");
@@ -852,6 +876,7 @@ impl<'a> KdlLayoutParser<'a> {
|| split_size.is_some()
|| split_direction.is_some()
|| children_are_stacked.is_some()
+ || is_expanded_in_stack.is_some()
|| has_children_nodes;
let has_floating_pane_properties =
height.is_some() || width.is_some() || x.is_some() || y.is_some();
@@ -864,6 +889,9 @@ impl<'a> KdlLayoutParser<'a> {
if children_are_stacked.is_some() {
pane_properties.push("stacked");
}
+ if is_expanded_in_stack.is_some() {
+ pane_properties.push("expanded");
+ }
if split_size.is_some() {
pane_properties.push("split_size");
}
@@ -960,6 +988,9 @@ impl<'a> KdlLayoutParser<'a> {
let children_are_stacked =
kdl_get_bool_property_or_child_value_with_error!(kdl_node, "stacked")
.unwrap_or(false);
+ let is_expanded_in_stack =
+ kdl_get_bool_property_or_child_value_with_error!(kdl_node, "expanded")
+ .unwrap_or(false);
let split_size = self.parse_split_size(kdl_node)?;
let children_split_direction = self.parse_split_direction(kdl_node)?;
let (external_children_index, pane_parts) = match kdl_children_nodes!(kdl_node) {
@@ -981,6 +1012,7 @@ impl<'a> KdlLayoutParser<'a> {
external_children_index,
children: pane_parts,
children_are_stacked,
+ is_expanded_in_stack,
..Default::default()
}),
kdl_node.clone(),
diff --git a/zellij-utils/src/snapshots/zellij_utils__setup__setup_test__cli_arguments_override_layout_options-2.snap b/zellij-utils/src/snapshots/zellij_utils__setup__setup_test__cli_arguments_override_layout_options-2.snap
index 2b284c4a..830365bd 100644
--- a/zellij-utils/src/snapshots/zellij_utils__setup__setup_test__cli_arguments_override_layout_options-2.snap
+++ b/zellij-utils/src/snapshots/zellij_utils__setup__setup_test__cli_arguments_override_layout_options-2.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/setup.rs
-assertion_line: 626
+assertion_line: 665
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -18,6 +18,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
diff --git a/zellij-utils/src/snapshots/zellij_utils__setup__setup_test__default_config_with_no_cli_arguments-2.snap b/zellij-utils/src/snapshots/zellij_utils__setup__setup_test__default_config_with_no_cli_arguments-2.snap
index f53ecc5e..cebcb3a4 100644
--- a/zellij-utils/src/snapshots/zellij_utils__setup__setup_test__default_config_with_no_cli_arguments-2.snap
+++ b/zellij-utils/src/snapshots/zellij_utils__setup__setup_test__default_config_with_no_cli_arguments-2.snap
@@ -37,6 +37,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -48,6 +49,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -74,6 +76,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -82,6 +85,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),
@@ -121,6 +125,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -140,6 +145,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -153,6 +159,7 @@ Layout {
0,
),
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -161,6 +168,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -169,6 +177,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -195,6 +204,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -203,6 +213,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
MaxPanes(
8,
@@ -235,6 +246,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -256,6 +268,7 @@ Layout {
0,
),
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -271,6 +284,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -282,6 +296,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -293,6 +308,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -304,6 +320,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -312,6 +329,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -320,6 +338,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -328,6 +347,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -354,6 +374,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -362,6 +383,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
MaxPanes(
12,
@@ -394,6 +416,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -415,6 +438,7 @@ Layout {
0,
),
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -430,6 +454,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -441,6 +466,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -452,6 +478,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -463,6 +490,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -471,6 +499,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -486,6 +515,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -497,6 +527,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -508,6 +539,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -519,6 +551,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -527,6 +560,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -535,6 +569,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -543,6 +578,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -569,6 +605,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -577,6 +614,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
},
Some(
@@ -616,6 +654,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -631,6 +670,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -642,6 +682,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -650,6 +691,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -676,6 +718,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -684,6 +727,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
MaxPanes(
8,
@@ -716,6 +760,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -737,6 +782,7 @@ Layout {
0,
),
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Vertical,
@@ -752,6 +798,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -763,6 +810,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -774,6 +822,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -785,6 +834,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -793,6 +843,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -801,6 +852,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -809,6 +861,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -835,6 +888,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -843,6 +897,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
MaxPanes(
12,
@@ -875,6 +930,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -896,6 +952,7 @@ Layout {
0,
),
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Vertical,
@@ -911,6 +968,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -922,6 +980,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -933,6 +992,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -944,6 +1004,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -952,6 +1013,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Vertical,
@@ -967,6 +1029,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -978,6 +1041,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -989,6 +1053,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -1000,6 +1065,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -1008,6 +1074,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -1016,6 +1083,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -1024,6 +1092,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -1050,6 +1119,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -1058,6 +1128,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
},
Some(
@@ -1097,6 +1168,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -1116,6 +1188,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -1129,6 +1202,7 @@ Layout {
0,
),
children_are_stacked: true,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -1137,6 +1211,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -1145,6 +1220,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
TiledPaneLayout {
children_split_direction: Horizontal,
@@ -1171,6 +1247,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
],
split_size: None,
@@ -1179,6 +1256,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
},
Some(
diff --git a/zellij-utils/src/snapshots/zellij_utils__setup__setup_test__layout_options_override_config_options-2.snap b/zellij-utils/src/snapshots/zellij_utils__setup__setup_test__layout_options_override_config_options-2.snap
index 790df2f6..b4a7ed0c 100644
--- a/zellij-utils/src/snapshots/zellij_utils__setup__setup_test__layout_options_override_config_options-2.snap
+++ b/zellij-utils/src/snapshots/zellij_utils__setup__setup_test__layout_options_override_config_options-2.snap
@@ -1,6 +1,6 @@
---
source: zellij-utils/src/setup.rs
-assertion_line: 608
+assertion_line: 647
expression: "format!(\"{:#?}\", layout)"
---
Layout {
@@ -18,6 +18,7 @@ Layout {
focus: None,
external_children_index: None,
children_are_stacked: false,
+ is_expanded_in_stack: false,
},
[],
),