aboutsummaryrefslogtreecommitdiffstats
path: root/zellij-utils/src/input
diff options
context:
space:
mode:
authorAram Drevekenin <aram@poor.dev>2026-02-25 09:48:47 +0100
committerGitHub <noreply@github.com>2026-02-25 09:48:47 +0100
commit6e0dd8e51cae440c1453c983740abc6869c46029 (patch)
tree7b7a4aaef1fc5df6ad7c56e572aad50f19858f46 /zellij-utils/src/input
parentfix: respect user's cursor choice in web client even when terminal overrides ... (diff)
downloadsl0ppij-6e0dd8e51cae440c1453c983740abc6869c46029.tar.gz
sl0ppij-6e0dd8e51cae440c1453c983740abc6869c46029.tar.xz
sl0ppij-6e0dd8e51cae440c1453c983740abc6869c46029.zip
Atomic show hide floating panes (#4764)
* atomic show/hide floating panes (cli, plugin API, keybinding) * rustfmt * add pr
Diffstat (limited to 'zellij-utils/src/input')
-rw-r--r--zellij-utils/src/input/actions.rs14
1 files changed, 14 insertions, 0 deletions
diff --git a/zellij-utils/src/input/actions.rs b/zellij-utils/src/input/actions.rs
index 025b0535..2841ea53 100644
--- a/zellij-utils/src/input/actions.rs
+++ b/zellij-utils/src/input/actions.rs
@@ -273,6 +273,14 @@ pub enum Action {
TogglePaneEmbedOrFloating,
/// Toggle the visibility of all floating panes (if any) in the current Tab
ToggleFloatingPanes,
+ /// Show all floating panes in the specified tab (or active tab if tab_id is None)
+ ShowFloatingPanes {
+ tab_id: Option<usize>,
+ },
+ /// Hide all floating panes in the specified tab (or active tab if tab_id is None)
+ HideFloatingPanes {
+ tab_id: Option<usize>,
+ },
/// Close the focus pane.
CloseFocus,
PaneNameInput {
@@ -941,6 +949,12 @@ impl Action {
CliAction::SwitchMode { input_mode } => Ok(vec![Action::SwitchToMode { input_mode }]),
CliAction::TogglePaneEmbedOrFloating => Ok(vec![Action::TogglePaneEmbedOrFloating]),
CliAction::ToggleFloatingPanes => Ok(vec![Action::ToggleFloatingPanes]),
+ CliAction::ShowFloatingPanes { tab_id } => {
+ Ok(vec![Action::ShowFloatingPanes { tab_id }])
+ },
+ CliAction::HideFloatingPanes { tab_id } => {
+ Ok(vec![Action::HideFloatingPanes { tab_id }])
+ },
CliAction::ClosePane => Ok(vec![Action::CloseFocus]),
CliAction::RenamePane { name } => Ok(vec![
Action::UndoRenamePane,