aboutsummaryrefslogtreecommitdiffstats
path: root/zellij-utils/src/plugin_api
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2025-07-22 09:13:41 +0200
committerGitHub <noreply@github.com>2025-07-22 09:13:41 +0200
commit6af82a9e9985072b418b89ccca95b53d2aaa2794 (patch)
tree4527fe4b7ee3c97cb4306f4ea4275755f8046da8 /zellij-utils/src/plugin_api
parentfix(compact-bar): tooltip duplication (#4310) (diff)
downloadsl0ppij-6af82a9e9985072b418b89ccca95b53d2aaa2794.tar.gz
sl0ppij-6af82a9e9985072b418b89ccca95b53d2aaa2794.tar.xz
sl0ppij-6af82a9e9985072b418b89ccca95b53d2aaa2794.zip
fix(plugins): multiple-select + compact-bar tooltip multiplayer issues (#4312)
* fix: allow stacking panes if root pane is floating * fix: handle multiple client gracefully in multiple select * style(fmt): rustfmt * fix compact-bar tooltip multiuser duplication * style(fmt): rustfmt
Diffstat (limited to 'zellij-utils/src/plugin_api')
-rw-r--r--zellij-utils/src/plugin_api/plugin_command.proto1
-rw-r--r--zellij-utils/src/plugin_api/plugin_command.rs38
2 files changed, 22 insertions, 17 deletions
diff --git a/zellij-utils/src/plugin_api/plugin_command.proto b/zellij-utils/src/plugin_api/plugin_command.proto
index 106544e0..49ab98c6 100644
--- a/zellij-utils/src/plugin_api/plugin_command.proto
+++ b/zellij-utils/src/plugin_api/plugin_command.proto
@@ -316,6 +316,7 @@ message HighlightAndUnhighlightPanesPayload {
message GroupAndUngroupPanesPayload {
repeated PaneId pane_ids_to_group = 1;
repeated PaneId pane_ids_to_ungroup = 2;
+ bool for_all_clients = 3;
}
message OpenFileInPlaceOfPluginPayload {
diff --git a/zellij-utils/src/plugin_api/plugin_command.rs b/zellij-utils/src/plugin_api/plugin_command.rs
index f5411cb8..4fc9d939 100644
--- a/zellij-utils/src/plugin_api/plugin_command.rs
+++ b/zellij-utils/src/plugin_api/plugin_command.rs
@@ -1591,6 +1591,7 @@ impl TryFrom<ProtobufPluginCommand> for PluginCommand {
.into_iter()
.filter_map(|p| p.try_into().ok())
.collect(),
+ group_and_ungroup_panes_payload.for_all_clients,
))
},
_ => Err("Mismatched payload for GroupAndUngroupPanes"),
@@ -2750,23 +2751,26 @@ impl TryFrom<PluginCommand> for ProtobufPluginCommand {
},
)),
}),
- PluginCommand::GroupAndUngroupPanes(panes_to_group, panes_to_ungroup) => {
- Ok(ProtobufPluginCommand {
- name: CommandName::GroupAndUngroupPanes as i32,
- payload: Some(Payload::GroupAndUngroupPanesPayload(
- GroupAndUngroupPanesPayload {
- pane_ids_to_group: panes_to_group
- .iter()
- .filter_map(|&p| p.try_into().ok())
- .collect(),
- pane_ids_to_ungroup: panes_to_ungroup
- .iter()
- .filter_map(|&p| p.try_into().ok())
- .collect(),
- },
- )),
- })
- },
+ PluginCommand::GroupAndUngroupPanes(
+ panes_to_group,
+ panes_to_ungroup,
+ for_all_clients,
+ ) => Ok(ProtobufPluginCommand {
+ name: CommandName::GroupAndUngroupPanes as i32,
+ payload: Some(Payload::GroupAndUngroupPanesPayload(
+ GroupAndUngroupPanesPayload {
+ pane_ids_to_group: panes_to_group
+ .iter()
+ .filter_map(|&p| p.try_into().ok())
+ .collect(),
+ pane_ids_to_ungroup: panes_to_ungroup
+ .iter()
+ .filter_map(|&p| p.try_into().ok())
+ .collect(),
+ for_all_clients,
+ },
+ )),
+ }),
PluginCommand::StartWebServer => Ok(ProtobufPluginCommand {
name: CommandName::StartWebServer as i32,
payload: None,