diff options
| author | WeZZard <960509+WeZZard@users.noreply.github.com> | 2026-07-17 15:20:38 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-07-17 09:20:38 +0200 |
| commit | cd50d723b54c3b63e33b4292ccca5797a4d378da (patch) | |
| tree | 2a12a988937012c52ce75d93abf8ca5837e97c0c /zellij-utils/src/kdl/mod.rs | |
| parent | fix(config): allow binding theme actions in config.kdl (#5302) (diff) | |
| download | sl0ppij-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.rs | 32 |
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); } |
