aboutsummaryrefslogtreecommitdiffstats
path: root/zellij-utils/src/plugin_api/plugin_command.proto
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2025-04-29 20:52:17 +0200
committerGitHub <noreply@github.com>2025-04-29 20:52:17 +0200
commit27c8986939a1642f3e4afda73e9717b7bd328824 (patch)
treee80ee57aeede2578a5ce9fa6d0ab4a350ed9d838 /zellij-utils/src/plugin_api/plugin_command.proto
parentchore: update development version (diff)
downloadsl0ppij-27c8986939a1642f3e4afda73e9717b7bd328824.tar.gz
sl0ppij-27c8986939a1642f3e4afda73e9717b7bd328824.tar.xz
sl0ppij-27c8986939a1642f3e4afda73e9717b7bd328824.zip
feat: multiple Select and Bulk Pane Actions (#4169)
* initial implementation with break panes to new tab * break pane group left/right * group embed/eject panes * stack pane group on resize * close pane group * style(fmt): rustfmt * fix tests * group drag and ungroup with the mouse * fix mouse hover for multiple clients * fix for multiple clients * multiple select plugin initial * use real data in plugin * adjust functionality * fix some ux issues * reflect group mouse group selections in plugin * group/ungroup panes in Zellij * highlight frames when marked by the plugin * refactor: render function in plugin * some ui responsiveness * some more responsiveness and adjust hover text * break out functionality * stack functionality * break panes left/right and close multiple panes * fix(tab): only relayout the relevant layout when non-focused pane is closed * status bar UI * embed and float panes * work * fix some ui/ux issues * refactor: move stuff around * some responsiveness and fix search result browsing bug * change plugin pane title * differentiate group from focused pane * add keyboard shortcut * add ui to compact bar * make boundary colors appear properly without pane frames * get plugins to also display their frame color * make hover shortcuts appear on command panes * fix: do not render search string component if it's empty * BeforeClose Event and unhighlight panes on exit * some UI/UX fixes * some fixes to the catppuccin-latte theme * remove ungroup shortcut * make some ui components opaque * fix more opaque elements * fix some issues with stacking pane order * keyboard shortcuts for grouping * config to opt out of advanced mouse actions * make selected + focused frame color distinct * group marking mode * refactor: multiple-select plugin * adjust stacking group behavior * adjust flashing periods * render common modifier in group controls * add to compact bar * adjust key hint wording * add key to presets and default config * some cleanups * some refactoring * fix tests * fix plugin system tests * tests: group/ungroup/hover * test: BeforeClose plugin event * new plugin assets * style(fmt): rustfmt * remove warnings * tests: give plugin more time to load
Diffstat (limited to 'zellij-utils/src/plugin_api/plugin_command.proto')
-rw-r--r--zellij-utils/src/plugin_api/plugin_command.proto32
1 files changed, 32 insertions, 0 deletions
diff --git a/zellij-utils/src/plugin_api/plugin_command.proto b/zellij-utils/src/plugin_api/plugin_command.proto
index 3fa321cc..3a63b0c8 100644
--- a/zellij-utils/src/plugin_api/plugin_command.proto
+++ b/zellij-utils/src/plugin_api/plugin_command.proto
@@ -140,6 +140,11 @@ enum CommandName {
OpenFileNearPlugin = 124;
OpenFileFloatingNearPlugin = 125;
OpenFileInPlaceOfPlugin = 126;
+ GroupAndUngroupPanes = 127;
+ HighlightAndUnhighlightPanes = 128;
+ CloseMultiplePanes = 129;
+ FloatMultiplePanes = 130;
+ EmbedMultiplePanes = 131;
}
message PluginCommand {
@@ -236,9 +241,36 @@ message PluginCommand {
OpenFileNearPluginPayload open_file_near_plugin_payload = 99;
OpenFileFloatingNearPluginPayload open_file_floating_near_plugin_payload = 100;
OpenFileInPlaceOfPluginPayload open_file_in_place_of_plugin_payload = 101;
+ GroupAndUngroupPanesPayload group_and_ungroup_panes_payload = 102;
+ HighlightAndUnhighlightPanesPayload highlight_and_unhighlight_panes_payload = 103;
+ CloseMultiplePanesPayload close_multiple_panes_payload = 104;
+ FloatMultiplePanesPayload float_multiple_panes_payload = 105;
+ EmbedMultiplePanesPayload embed_multiple_panes_payload = 106;
}
}
+message EmbedMultiplePanesPayload {
+ repeated PaneId pane_ids = 1;
+}
+
+message FloatMultiplePanesPayload {
+ repeated PaneId pane_ids = 1;
+}
+
+message CloseMultiplePanesPayload {
+ repeated PaneId pane_ids = 1;
+}
+
+message HighlightAndUnhighlightPanesPayload {
+ repeated PaneId pane_ids_to_highlight = 1;
+ repeated PaneId pane_ids_to_unhighlight = 2;
+}
+
+message GroupAndUngroupPanesPayload {
+ repeated PaneId pane_ids_to_group = 1;
+ repeated PaneId pane_ids_to_ungroup = 2;
+}
+
message OpenFileInPlaceOfPluginPayload {
file.File file_to_open = 1;
optional FloatingPaneCoordinates floating_pane_coordinates = 2;