diff options
| author | Aram Drevekenin <aram@poor.dev> | 2026-01-20 10:13:37 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-01-20 10:13:37 +0100 |
| commit | 03c86d09cf301db9a62427170f956a632812d67e (patch) | |
| tree | 5eee73d6201cbe2066ec258a0b7612e84e97aa6d /zellij-utils/src/kdl/kdl_layout_parser.rs | |
| parent | Fix: allow 0% coordinate specification for floating panes (#4609) (diff) | |
| download | sl0ppij-03c86d09cf301db9a62427170f956a632812d67e.tar.gz sl0ppij-03c86d09cf301db9a62427170f956a632812d67e.tar.xz sl0ppij-03c86d09cf301db9a62427170f956a632812d67e.zip | |
Allow toggling pane frames for specific panes (#4615)
* initial implementation
* add borderless to edit and plugin cli commands
* allow changing existing pane to borderless
* allow setting in layouts and keybindings
* get to work through the existing plugin api commands
* fix when applying (swap) layouts
* fix tests
* allow setting pane as bordered (borderful?) when changing its coordinates (eg. through the cli)
* allow explicitly setting a pane as bordered or borderless without toggling
* rustfmt
* adjust snapshots
* docs(changelog): add PR
Diffstat (limited to 'zellij-utils/src/kdl/kdl_layout_parser.rs')
| -rw-r--r-- | zellij-utils/src/kdl/kdl_layout_parser.rs | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/zellij-utils/src/kdl/kdl_layout_parser.rs b/zellij-utils/src/kdl/kdl_layout_parser.rs index 38cda189..6e1e2c76 100644 --- a/zellij-utils/src/kdl/kdl_layout_parser.rs +++ b/zellij-utils/src/kdl/kdl_layout_parser.rs @@ -573,7 +573,7 @@ impl<'a> KdlLayoutParser<'a> { }) }); Ok(TiledPaneLayout { - borderless: borderless.unwrap_or_default(), + borderless, focus, name, split_size, @@ -598,6 +598,7 @@ impl<'a> KdlLayoutParser<'a> { let x = self.parse_percent_or_fixed(kdl_node, "x", true)?; let y = self.parse_percent_or_fixed(kdl_node, "y", true)?; let pinned = kdl_get_bool_property_or_child_value_with_error!(kdl_node, "pinned"); + let borderless = kdl_get_bool_property_or_child_value_with_error!(kdl_node, "borderless"); let run = self.parse_command_plugin_or_edit_block(kdl_node)?; 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") @@ -622,6 +623,7 @@ impl<'a> KdlLayoutParser<'a> { run, focus, pinned, + borderless, pane_initial_contents, ..Default::default() }) @@ -747,7 +749,7 @@ impl<'a> KdlLayoutParser<'a> { pane_template_run_command.add_start_suspended(start_suspended); }; if let Some(borderless) = borderless { - pane_template.borderless = borderless; + pane_template.borderless = Some(borderless); } if let Some(focus) = focus { pane_template.focus = Some(focus); @@ -1135,7 +1137,7 @@ impl<'a> KdlLayoutParser<'a> { template_name, ( PaneOrFloatingPane::Pane(TiledPaneLayout { - borderless: borderless.unwrap_or_default(), + borderless, focus, split_size, run, |
