diff options
| author | Aram Drevekenin <aram@poor.dev> | 2026-03-11 09:40:11 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-11 09:40:11 +0100 |
| commit | 216f391b515a43bc22180af023979fd740c7cb70 (patch) | |
| tree | 76876073c2d433ecf1b4dbe8ff388dd348fc5d10 /zellij-server | |
| parent | Layout manager ux fixes (#4831) (diff) | |
| download | sl0ppij-216f391b515a43bc22180af023979fd740c7cb70.tar.gz sl0ppij-216f391b515a43bc22180af023979fd740c7cb70.tar.xz sl0ppij-216f391b515a43bc22180af023979fd740c7cb70.zip | |
fix: atomic floating pane issues with the about screen (#4834)
* fix: atomic floating pane issues with the about screen
* rustfmt
* add pr
Diffstat (limited to 'zellij-server')
| -rw-r--r-- | zellij-server/src/tab/mod.rs | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/zellij-server/src/tab/mod.rs b/zellij-server/src/tab/mod.rs index ad6d956b..ab8c4ba5 100644 --- a/zellij-server/src/tab/mod.rs +++ b/zellij-server/src/tab/mod.rs @@ -4914,19 +4914,22 @@ impl Tab { if let Some(c) = completion.as_mut() { c.set_exit_status(2); } - } else if self - .floating_panes - .last_selectable_floating_pane_id() - .is_none() - { - // No selectable floating panes exist — surface must not be shown - if let Some(c) = completion.as_mut() { - c.set_exit_status(1); - } } else { - self.show_floating_panes(); - if let Some(c) = completion.as_mut() { - c.set_exit_status(0); + match self.floating_panes.last_selectable_floating_pane_id() { + Some(last_selectable_floating_pane_id) => { + self.show_floating_panes(); + self.floating_panes + .focus_pane_for_all_clients(last_selectable_floating_pane_id); + if let Some(c) = completion.as_mut() { + c.set_exit_status(0); + } + }, + None => { + // No selectable floating panes exist — surface must not be shown + if let Some(c) = completion.as_mut() { + c.set_exit_status(1); + } + }, } } drop(completion); |
