aboutsummaryrefslogtreecommitdiffstats
path: root/zellij-utils/src/kdl/kdl_layout_parser.rs
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2026-01-20 10:13:37 +0100
committerGitHub <noreply@github.com>2026-01-20 10:13:37 +0100
commit03c86d09cf301db9a62427170f956a632812d67e (patch)
tree5eee73d6201cbe2066ec258a0b7612e84e97aa6d /zellij-utils/src/kdl/kdl_layout_parser.rs
parentFix: allow 0% coordinate specification for floating panes (#4609) (diff)
downloadsl0ppij-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.rs8
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,