fix(panes): refocus pane properly on tab change (#2734)
* fix(panes): stacked panes focus bug * style(fmt): rustfmt
This commit is contained in:
parent
1ccc973c68
commit
b587125f06
4 changed files with 15 additions and 12 deletions
|
|
@ -696,8 +696,9 @@ impl FloatingPanes {
|
|||
self.focus_pane_for_all_clients(pane_id);
|
||||
}
|
||||
pub fn focus_pane_if_client_not_focused(&mut self, pane_id: PaneId, client_id: ClientId) {
|
||||
if self.active_panes.get(&client_id).is_none() {
|
||||
self.focus_pane(pane_id, client_id)
|
||||
match self.active_panes.get(&client_id) {
|
||||
Some(already_focused_pane_id) => self.focus_pane(*already_focused_pane_id, client_id),
|
||||
None => self.focus_pane(pane_id, client_id),
|
||||
}
|
||||
}
|
||||
pub fn defocus_pane(&mut self, pane_id: PaneId, client_id: ClientId) {
|
||||
|
|
|
|||
|
|
@ -588,8 +588,9 @@ impl TiledPanes {
|
|||
}
|
||||
}
|
||||
pub fn focus_pane_if_client_not_focused(&mut self, pane_id: PaneId, client_id: ClientId) {
|
||||
if self.active_panes.get(&client_id).is_none() {
|
||||
self.focus_pane(pane_id, client_id)
|
||||
match self.active_panes.get(&client_id) {
|
||||
Some(already_focused_pane_id) => self.focus_pane(*already_focused_pane_id, client_id),
|
||||
None => self.focus_pane(pane_id, client_id),
|
||||
}
|
||||
}
|
||||
pub fn clear_active_panes(&mut self) {
|
||||
|
|
|
|||
|
|
@ -1920,13 +1920,14 @@ pub(crate) fn screen_thread_main(
|
|||
) => {
|
||||
match client_or_tab_index {
|
||||
ClientOrTabIndex::ClientId(client_id) => {
|
||||
active_tab_and_connected_client_id!(screen, client_id, |tab: &mut Tab,
|
||||
client_id: ClientId| tab .new_pane(pid,
|
||||
initial_pane_title,
|
||||
should_float,
|
||||
None,
|
||||
Some(client_id)),
|
||||
?);
|
||||
active_tab_and_connected_client_id!(screen, client_id, |tab: &mut Tab, client_id: ClientId| {
|
||||
tab.new_pane(pid,
|
||||
initial_pane_title,
|
||||
should_float,
|
||||
None,
|
||||
Some(client_id)
|
||||
)
|
||||
}, ?);
|
||||
if let Some(hold_for_command) = hold_for_command {
|
||||
let is_first_run = true;
|
||||
active_tab_and_connected_client_id!(
|
||||
|
|
|
|||
|
|
@ -292,7 +292,7 @@ pub enum CliAction {
|
|||
requires("command")
|
||||
)]
|
||||
start_suspended: bool,
|
||||
#[clap(short, long, value_parser)]
|
||||
#[clap(long, value_parser)]
|
||||
configuration: Option<PluginUserConfiguration>,
|
||||
},
|
||||
/// Open the specified file in a new zellij pane with your default EDITOR
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue