aboutsummaryrefslogtreecommitdiffstats
path: root/zellij-utils/src/plugin_api/plugin_command.proto
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2026-06-10 16:50:55 +0200
committerGitHub <noreply@github.com>2026-06-10 16:50:55 +0200
commitb6a5ad0e5a93d9f584b3f7a0fc90f497a09cbdb0 (patch)
tree38c77a381cfb937b428752a588c09a45c81434c9 /zellij-utils/src/plugin_api/plugin_command.proto
parentfeat: PWA support for the web client (#5184) (diff)
downloadsl0ppij-b6a5ad0e5a93d9f584b3f7a0fc90f497a09cbdb0.tar.gz
sl0ppij-b6a5ad0e5a93d9f584b3f7a0fc90f497a09cbdb0.tar.xz
sl0ppij-b6a5ad0e5a93d9f584b3f7a0fc90f497a09cbdb0.zip
Mobile layout (#5241)
* phase 2+3 * initial mobile plugin (phases 4 + 5 + 6) * some bugfixes * implement stage 7 * mobile interface improvements * improve mobile pane/tab picker * more ui improvements and fixes * various mobile fixes * some mobile fixes * mobile keyboard triggering fix * some cleanups * initial plugin keyboard implementation * improve keyboard hit zones * improve keyboard * pinch resize * pinching fixes * implement scrolling + panning * initial keyboard resizing * fix: mobile first render issues * keyboard responsiveness * fix some issues with the keyboard * implement fit * fix mobile scrolling * add tilde cell to compact * improve mobile keyboard * fix starting mobile terminal font to natural keyboard size * fix mobile resize blank screen flash * shadow focus for mobile * more keyboard fixes * improve mobile status bar * fix: render plugins to mobile clients * allow opening new panes/tabs from the mobile plugin * allow configuring * fix dot slash * improve mobile native soft keyboard interaction * switch to native keyboard - initial implementation * dirty hacks, but phone keyboard works now * adjust keyboard help strip * fix cursor in mobile * fix keyboard and help line * rename keyboard to modifier bar * allow starting new session * make clicking session name bring us to new session menu * allow switching to desktop from the mobile ui * mobile welcome screen initial implementation * mobile welcome screen fixes * various welcome screen fixes * more mobile fixes * moar mobile fixes * mobile ui redesign * fix: swallowed backspace bug * switch session screen improvement * touch up some interfaces * refactor: move mobile state to own struct * refactor: move fit resizing to the server * remove dead flash code * some cleanups * refactor: clear fit on close * refactor: improve fit api * refactor: pane sync functions * refactor: mouse * refactor: break into modules * some cleanups for the sessions screen * fix scrolling and other stuff * refactor: sessions screen * refactor: panes screen * refactor: new session screen * refactor: menu screen * refactor: render * cleanups * refactor: plugin structure * remove unused welcome screen path * Rename api * refactor input.js * cleanup useless comments * fit/mobile refactoring * take out the garbage * remove more comments * remove mobile flash on startup/attach * fix: various mobile startup issues * fix space bugs * cleanup * rustfmt * fix windows build * adjust modifier bar ui * add pr
Diffstat (limited to 'zellij-utils/src/plugin_api/plugin_command.proto')
-rw-r--r--zellij-utils/src/plugin_api/plugin_command.proto46
1 files changed, 46 insertions, 0 deletions
diff --git a/zellij-utils/src/plugin_api/plugin_command.proto b/zellij-utils/src/plugin_api/plugin_command.proto
index 729159e3..c65bcbfd 100644
--- a/zellij-utils/src/plugin_api/plugin_command.proto
+++ b/zellij-utils/src/plugin_api/plugin_command.proto
@@ -207,6 +207,12 @@ enum CommandName {
KillSessionsAndReply = 212;
DeleteDeadSessionAndReply = 213;
DeleteAllDeadSessionsAndReply = 214;
+ SetSoftKeyboard = 215;
+ SetTabFit = 216;
+ SetShadowFocus = 219;
+ NewTabUnfocused = 220;
+ NewTiledPaneInTab = 221;
+ ExitMobileMode = 222;
}
message PluginCommand {
@@ -361,6 +367,11 @@ message PluginCommand {
GetSessionListPayload get_session_list_payload = 161;
KillSessionsPayload kill_sessions_and_reply_payload = 162;
string delete_dead_session_and_reply_payload = 163;
+ SetSoftKeyboardPayload set_soft_keyboard_payload = 164;
+ SetTabFitPayload set_tab_fit_payload = 165;
+ PaneId set_shadow_focus_payload = 167;
+ NewTabUnfocusedPayload new_tab_unfocused_payload = 168;
+ NewTiledPaneInTabPayload new_tiled_pane_in_tab_payload = 169;
}
}
@@ -369,6 +380,15 @@ message NewTabPayload {
optional string cwd = 2;
}
+message NewTabUnfocusedPayload {
+ optional string name = 1;
+ optional string cwd = 2;
+}
+
+message NewTiledPaneInTabPayload {
+ uint32 tab_position = 1;
+}
+
message DumpSessionLayoutPayload {
optional uint32 tab_index = 1;
}
@@ -1057,6 +1077,17 @@ message NewTabResponse {
}
}
+message NewTabUnfocusedResponse {
+ oneof result {
+ uint64 tab_id = 1;
+ bool none = 2;
+ }
+}
+
+message NewTiledPaneInTabResponse {
+ optional PaneId pane_id = 1;
+}
+
message NewTabsResponse {
repeated uint64 tab_ids = 1; // Only includes successfully created tabs
}
@@ -1328,3 +1359,18 @@ message DeleteDeadSessionResponse {
message DeleteAllDeadSessionsResponse {
optional string error = 1; // absent => success
}
+
+message SetSoftKeyboardPayload {
+ bool on = 1;
+}
+
+message Size {
+ uint32 rows = 1;
+ uint32 cols = 2;
+}
+
+message SetTabFitPayload {
+ uint32 tab_id = 1;
+ PaneId pane_id = 2;
+ Size size = 3;
+}