aboutsummaryrefslogtreecommitdiffstats
path: root/zellij-utils/src/plugin_api/action.rs
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2026-03-27 16:23:14 +0100
committerGitHub <noreply@github.com>2026-03-27 16:23:14 +0100
commit802c96f5fca9de479af7c249130a7928bc441349 (patch)
tree8ebf6ef1d535d5e1ea706c823eae589bc0809edd /zellij-utils/src/plugin_api/action.rs
parentdocs(changelog): riscv64 binaries (diff)
downloadsl0ppij-802c96f5fca9de479af7c249130a7928bc441349.tar.gz
sl0ppij-802c96f5fca9de479af7c249130a7928bc441349.tar.xz
sl0ppij-802c96f5fca9de479af7c249130a7928bc441349.zip
CLI focus-pane-id and are-floating-panes-visible actions (#4926)
* add zellij action focus-pane-id * zellij action are-floating-panes-visible * fix e2e tests * add pr
Diffstat (limited to 'zellij-utils/src/plugin_api/action.rs')
-rw-r--r--zellij-utils/src/plugin_api/action.rs21
1 files changed, 21 insertions, 0 deletions
diff --git a/zellij-utils/src/plugin_api/action.rs b/zellij-utils/src/plugin_api/action.rs
index 93d0a556..4384eb68 100644
--- a/zellij-utils/src/plugin_api/action.rs
+++ b/zellij-utils/src/plugin_api/action.rs
@@ -7,6 +7,7 @@ pub use super::generated_api::api::{
run_plugin_or_alias::PluginType,
Action as ProtobufAction,
ActionName as ProtobufActionName,
+ AreFloatingPanesVisiblePayload,
BareKey as ProtobufBareKey,
// New layout-related types
CommandOrPlugin as ProtobufCommandOrPlugin,
@@ -424,6 +425,17 @@ impl TryFrom<ProtobufAction> for Action {
None => Ok(Action::HideFloatingPanes { tab_id: None }),
_ => Err("Wrong payload for HideFloatingPanes"),
},
+ Some(ProtobufActionName::AreFloatingPanesVisible) => {
+ match protobuf_action.optional_payload {
+ Some(OptionalPayload::AreFloatingPanesVisiblePayload(payload)) => {
+ Ok(Action::AreFloatingPanesVisible {
+ tab_id: payload.tab_id.map(|id| id as usize),
+ })
+ },
+ None => Ok(Action::AreFloatingPanesVisible { tab_id: None }),
+ _ => Err("Wrong payload for AreFloatingPanesVisible"),
+ }
+ },
Some(ProtobufActionName::CloseFocus) => match protobuf_action.optional_payload {
Some(_) => Err("CloseFocus should not have a payload"),
None => Ok(Action::CloseFocus),
@@ -1086,6 +1098,7 @@ impl TryFrom<Action> for ProtobufAction {
| Action::RenamePaneByPaneId { .. }
| Action::UndoRenamePaneByPaneId { .. }
| Action::TogglePanePinnedByPaneId { .. }
+ | Action::FocusPaneByPaneId { .. }
| Action::UndoRenameTabByTabId { .. }
| Action::ToggleActiveSyncTabByTabId { .. }
| Action::ToggleFloatingPanesByTabId { .. }
@@ -1380,6 +1393,14 @@ impl TryFrom<Action> for ProtobufAction {
},
)),
}),
+ Action::AreFloatingPanesVisible { tab_id } => Ok(ProtobufAction {
+ name: ProtobufActionName::AreFloatingPanesVisible as i32,
+ optional_payload: Some(OptionalPayload::AreFloatingPanesVisiblePayload(
+ AreFloatingPanesVisiblePayload {
+ tab_id: tab_id.map(|id| id as u32),
+ },
+ )),
+ }),
Action::CloseFocus => Ok(ProtobufAction {
name: ProtobufActionName::CloseFocus as i32,
optional_payload: None,