summaryrefslogtreecommitdiffstats
path: root/zellij-utils/src/plugin_api
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2023-08-25 12:24:43 +0200
committerGitHub <noreply@github.com>2023-08-25 12:24:43 +0200
commitb44ba85895b4db3a67a0f5c329c62fe120079ff0 (patch)
treeff34fb572a4ca5e0ff71fc0db9bacb9ef3c56093 /zellij-utils/src/plugin_api
parent877c467f9f757ca560d77ceef83456c9a50f4917 (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.proto1
-rw-r--r--zellij-utils/src/plugin_api/action.rs10
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()?),
},
)),