fix(plugins): properly focus plugin after it was hidden (#3841)

This commit is contained in:
Aram Drevekenin 2024-12-06 11:56:53 +01:00 committed by GitHub
parent 521f27cbbb
commit 5a7a4d4592
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 4 additions and 3 deletions

View file

@ -2035,7 +2035,7 @@ impl Screen {
tab_index_and_plugin_pane_id = Some((*tab_index, plugin_pane_id)); tab_index_and_plugin_pane_id = Some((*tab_index, plugin_pane_id));
if move_to_focused_tab && focused_tab_index != *tab_index { if move_to_focused_tab && focused_tab_index != *tab_index {
plugin_pane_to_move_to_active_tab = plugin_pane_to_move_to_active_tab =
tab.extract_pane(plugin_pane_id, false, Some(client_id)); tab.extract_pane(plugin_pane_id, true, Some(client_id));
} }
break; break;

View file

@ -2760,10 +2760,11 @@ impl Tab {
pub fn extract_pane( pub fn extract_pane(
&mut self, &mut self,
id: PaneId, id: PaneId,
ignore_suppressed_panes: bool, dont_swap_if_suppressed: bool,
client_id: Option<ClientId>, client_id: Option<ClientId>,
) -> Option<Box<dyn Pane>> { ) -> Option<Box<dyn Pane>> {
if !ignore_suppressed_panes && self.suppressed_panes.contains_key(&id) { if !dont_swap_if_suppressed && self.suppressed_panes.contains_key(&id) {
// this is done for the scrollback editor
return match self.replace_pane_with_suppressed_pane(id) { return match self.replace_pane_with_suppressed_pane(id) {
Ok(pane) => pane, Ok(pane) => pane,
Err(e) => { Err(e) => {