diff options
author | Aram Drevekenin <aram@poor.dev> | 2023-08-25 12:24:43 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-08-25 12:24:43 +0200 |
commit | b44ba85895b4db3a67a0f5c329c62fe120079ff0 (patch) | |
tree | ff34fb572a4ca5e0ff71fc0db9bacb9ef3c56093 /zellij-utils/src/plugin_api | |
parent | 877c467f9f757ca560d77ceef83456c9a50f4917 (diff) |
feat(plugins): optionally move plugin to focused tab (#2725)
* feat(plugins): move_to_focused_tab attribute for LaunchOrFocusPlugin
* style(fmt): rustfmt
Diffstat (limited to 'zellij-utils/src/plugin_api')
-rw-r--r-- | zellij-utils/src/plugin_api/action.proto | 1 | ||||
-rw-r--r-- | zellij-utils/src/plugin_api/action.rs | 10 |
2 files changed, 9 insertions, 2 deletions
diff --git a/zellij-utils/src/plugin_api/action.proto b/zellij-utils/src/plugin_api/action.proto index 05fa5c6ed..429c8432e 100644 --- a/zellij-utils/src/plugin_api/action.proto +++ b/zellij-utils/src/plugin_api/action.proto @@ -84,6 +84,7 @@ message LaunchOrFocusPluginPayload { string plugin_url = 1; bool should_float = 2; optional PluginConfiguration plugin_configuration = 3; + bool move_to_focused_tab = 4; } message GoToTabNamePayload { diff --git a/zellij-utils/src/plugin_api/action.rs b/zellij-utils/src/plugin_api/action.rs index 1a964fa9b..b3bff6f84 100644 --- a/zellij-utils/src/plugin_api/action.rs +++ b/zellij-utils/src/plugin_api/action.rs @@ -399,7 +399,12 @@ impl TryFrom<ProtobufAction> for Action { configuration, }; let should_float = payload.should_float; - Ok(Action::LaunchOrFocusPlugin(run_plugin, should_float)) + let move_to_focused_tab = payload.move_to_focused_tab; + Ok(Action::LaunchOrFocusPlugin( + run_plugin, + should_float, + move_to_focused_tab, + )) }, _ => Err("Wrong payload for Action::LaunchOrFocusPlugin"), } @@ -954,7 +959,7 @@ impl TryFrom<Action> for ProtobufAction { optional_payload: Some(OptionalPayload::MiddleClickPayload(position)), }) }, - Action::LaunchOrFocusPlugin(run_plugin, should_float) => { + Action::LaunchOrFocusPlugin(run_plugin, should_float, move_to_focused_tab) => { let url: Url = Url::from(&run_plugin.location); Ok(ProtobufAction { name: ProtobufActionName::LaunchOrFocusPlugin as i32, @@ -962,6 +967,7 @@ impl TryFrom<Action> for ProtobufAction { LaunchOrFocusPluginPayload { plugin_url: url.into(), should_float, + move_to_focused_tab, plugin_configuration: Some(run_plugin.configuration.try_into()?), }, )), |