aboutsummaryrefslogtreecommitdiffstats
path: root/zellij-utils/src/kdl/mod.rs
diff options
context:
space:
mode:
authorWeZZard <960509+WeZZard@users.noreply.github.com>2026-07-17 15:20:38 +0800
committerGitHub <noreply@github.com>2026-07-17 09:20:38 +0200
commitcd50d723b54c3b63e33b4292ccca5797a4d378da (patch)
tree2a12a988937012c52ce75d93abf8ca5837e97c0c /zellij-utils/src/kdl/mod.rs
parentfix(config): allow binding theme actions in config.kdl (#5302) (diff)
downloadsl0ppij-cd50d723b54c3b63e33b4292ccca5797a4d378da.tar.gz
sl0ppij-cd50d723b54c3b63e33b4292ccca5797a4d378da.tar.xz
sl0ppij-cd50d723b54c3b63e33b4292ccca5797a4d378da.zip
feat(config): add mouse_scroll_resize option (#5283)
Diffstat (limited to 'zellij-utils/src/kdl/mod.rs')
-rw-r--r--zellij-utils/src/kdl/mod.rs32
1 files changed, 32 insertions, 0 deletions
diff --git a/zellij-utils/src/kdl/mod.rs b/zellij-utils/src/kdl/mod.rs
index 5a8e1b34..b16e7f12 100644
--- a/zellij-utils/src/kdl/mod.rs
+++ b/zellij-utils/src/kdl/mod.rs
@@ -2839,6 +2839,9 @@ impl Options {
let advanced_mouse_actions =
kdl_property_first_arg_as_bool_or_error!(kdl_options, "advanced_mouse_actions")
.map(|(v, _)| v);
+ let mouse_scroll_resize =
+ kdl_property_first_arg_as_bool_or_error!(kdl_options, "mouse_scroll_resize")
+ .map(|(v, _)| v);
let mouse_hover_effects =
kdl_property_first_arg_as_bool_or_error!(kdl_options, "mouse_hover_effects")
.map(|(v, _)| v);
@@ -2963,6 +2966,7 @@ impl Options {
show_startup_tips,
show_release_notes,
advanced_mouse_actions,
+ mouse_scroll_resize,
mouse_hover_effects,
visual_bell,
focus_follows_mouse,
@@ -4196,6 +4200,31 @@ impl Options {
None
}
}
+ fn mouse_scroll_resize_to_kdl(&self, add_comments: bool) -> Option<KdlNode> {
+ let comment_text = format!(
+ "{}\n{}\n{}",
+ " ", "// Whether Ctrl+ScrollWheel resizes panes", "// default is true",
+ );
+
+ let create_node = |node_value: bool| -> KdlNode {
+ let mut node = KdlNode::new("mouse_scroll_resize");
+ node.push(KdlValue::Bool(node_value));
+ node
+ };
+ if let Some(mouse_scroll_resize) = self.mouse_scroll_resize {
+ let mut node = create_node(mouse_scroll_resize);
+ if add_comments {
+ node.set_leading(format!("{}\n", comment_text));
+ }
+ Some(node)
+ } else if add_comments {
+ let mut node = create_node(false);
+ node.set_leading(format!("{}\n// ", comment_text));
+ Some(node)
+ } else {
+ None
+ }
+ }
fn mouse_hover_effects_to_kdl(&self, add_comments: bool) -> Option<KdlNode> {
let comment_text = format!(
"{}\n{}\n{}",
@@ -4633,6 +4662,9 @@ impl Options {
if let Some(advanced_mouse_actions) = self.advanced_mouse_actions_to_kdl(add_comments) {
nodes.push(advanced_mouse_actions);
}
+ if let Some(mouse_scroll_resize) = self.mouse_scroll_resize_to_kdl(add_comments) {
+ nodes.push(mouse_scroll_resize);
+ }
if let Some(mouse_hover_effects) = self.mouse_hover_effects_to_kdl(add_comments) {
nodes.push(mouse_hover_effects);
}