diff options
| author | Aram Drevekenin <aram@poor.dev> | 2023-08-25 16:25:09 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-08-25 16:25:09 +0200 |
| commit | a537e09bb7de280db90143c6e450eb906ef65abd (patch) | |
| tree | 04cec87e4f0dd02778af48d81cc29d04c26fdfd9 | |
| parent | docs(changelog): move plugin to focused tab (diff) | |
| download | sl0ppij-a537e09bb7de280db90143c6e450eb906ef65abd.tar.gz sl0ppij-a537e09bb7de280db90143c6e450eb906ef65abd.tar.xz sl0ppij-a537e09bb7de280db90143c6e450eb906ef65abd.zip | |
fix(keybinds): add 'floating' and 'name' to the Run command keybinding (#2726)
* fix(keybinds): add 'floating' and 'name' to the Run command keybinding
* style(fmt): rustfmt
| -rw-r--r-- | zellij-utils/src/kdl/mod.rs | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/zellij-utils/src/kdl/mod.rs b/zellij-utils/src/kdl/mod.rs index 1d09bdac..a7573af5 100644 --- a/zellij-utils/src/kdl/mod.rs +++ b/zellij-utils/src/kdl/mod.rs @@ -870,6 +870,9 @@ impl TryFrom<(&KdlNode, &Options)> for Action { let cwd = command_metadata .and_then(|c_m| kdl_child_string_value_for_entry(c_m, "cwd")) .map(|cwd_string| PathBuf::from(cwd_string)); + let name = command_metadata + .and_then(|c_m| kdl_child_string_value_for_entry(c_m, "name")) + .map(|name_string| name_string.to_string()); let direction = command_metadata .and_then(|c_m| kdl_child_string_value_for_entry(c_m, "direction")) .and_then(|direction_string| Direction::from_str(direction_string).ok()); @@ -880,6 +883,9 @@ impl TryFrom<(&KdlNode, &Options)> for Action { let hold_on_start = command_metadata .and_then(|c_m| kdl_child_bool_value_for_entry(c_m, "start_suspended")) .unwrap_or(false); + let floating = command_metadata + .and_then(|c_m| kdl_child_bool_value_for_entry(c_m, "floating")) + .unwrap_or(false); let run_command_action = RunCommandAction { command: PathBuf::from(command), args, @@ -888,7 +894,15 @@ impl TryFrom<(&KdlNode, &Options)> for Action { hold_on_close, hold_on_start, }; - Ok(Action::Run(run_command_action)) + if floating { + Ok(Action::NewFloatingPane(Some(run_command_action), name)) + } else { + Ok(Action::NewTiledPane( + direction, + Some(run_command_action), + name, + )) + } }, "LaunchOrFocusPlugin" => { let arguments = action_arguments.iter().copied(); |
