aboutsummaryrefslogtreecommitdiffstats
path: root/src/frames.rs
diff options
context:
space:
mode:
authorDaniel Jankowski <daniel.jankowski@rub.de>2024-05-25 11:29:35 +0200
committerDaniel Jankowski <daniel.jankowski@rub.de>2024-05-25 11:29:35 +0200
commitc186c82cad5dac26c0a2214a9fc89c5ff2c4f112 (patch)
tree0b8846258dfea45eac30384e8c0461bba9f20d0e /src/frames.rs
parentfeat(tabs): format for renaming tabs (diff)
downloadsl0pstatus-c186c82cad5dac26c0a2214a9fc89c5ff2c4f112.tar.gz
sl0pstatus-c186c82cad5dac26c0a2214a9fc89c5ff2c4f112.tar.xz
sl0pstatus-c186c82cad5dac26c0a2214a9fc89c5ff2c4f112.zip
feat(frames): show frames when renaming pane or searching
Diffstat (limited to 'src/frames.rs')
-rw-r--r--src/frames.rs18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/frames.rs b/src/frames.rs
index cfe333b..7954755 100644
--- a/src/frames.rs
+++ b/src/frames.rs
@@ -4,6 +4,7 @@ use zellij_tile::prelude::*;
pub fn hide_frames_on_single_pane(
tabs: Vec<TabInfo>,
pane_info: &PaneManifest,
+ mode_info: &ModeInfo,
plugin_pane_id: PluginIds,
) {
let panes = match get_current_panes(&tabs, pane_info) {
@@ -20,12 +21,27 @@ pub fn hide_frames_on_single_pane(
tracing::debug!("panes {:?}", panes);
- let panes: Vec<&PaneInfo> = panes.iter().filter(|p| !p.is_plugin && !p.is_floating).collect();
+ let panes: Vec<&PaneInfo> = panes
+ .iter()
+ .filter(|p| !p.is_plugin && !p.is_floating)
+ .collect();
// frame is enabled, when content does no start at [0, 0]. With default frames
// it's [1, 1]
let frame_enabled = panes.iter().any(|p| p.pane_content_x - p.pane_x > 0);
+ tracing::debug!("mode: {:?}", mode_info.mode);
+ if mode_info.mode == InputMode::RenamePane
+ || mode_info.mode == InputMode::Search
+ || mode_info.mode == InputMode::EnterSearch
+ {
+ if !frame_enabled {
+ toggle_pane_frames();
+ }
+
+ return;
+ }
+
if panes.len() == 1 && frame_enabled {
toggle_pane_frames();
}