Focus terminal when creating one after activating the terminal panel (#22133)
Follow-up of https://github.com/zed-industries/zed/pull/22082 Release Notes: - N/A
This commit is contained in:
parent
4878b9bbed
commit
cc56ed7a88
1 changed files with 7 additions and 6 deletions
|
@ -724,8 +724,6 @@ impl TerminalPanel {
|
||||||
cx: &mut ViewContext<Self>,
|
cx: &mut ViewContext<Self>,
|
||||||
) -> Task<Result<Model<Terminal>>> {
|
) -> Task<Result<Model<Terminal>>> {
|
||||||
let workspace = self.workspace.clone();
|
let workspace = self.workspace.clone();
|
||||||
self.pending_terminals_to_add += 1;
|
|
||||||
|
|
||||||
cx.spawn(|terminal_panel, mut cx| async move {
|
cx.spawn(|terminal_panel, mut cx| async move {
|
||||||
if workspace.update(&mut cx, |workspace, cx| {
|
if workspace.update(&mut cx, |workspace, cx| {
|
||||||
!is_enabled_in_workspace(workspace, cx)
|
!is_enabled_in_workspace(workspace, cx)
|
||||||
|
@ -753,10 +751,6 @@ impl TerminalPanel {
|
||||||
cx,
|
cx,
|
||||||
)
|
)
|
||||||
}));
|
}));
|
||||||
pane.update(cx, |pane, cx| {
|
|
||||||
let focus = pane.has_focus(cx);
|
|
||||||
pane.add_item(terminal_view, true, focus, None, cx);
|
|
||||||
});
|
|
||||||
|
|
||||||
match reveal_strategy {
|
match reveal_strategy {
|
||||||
RevealStrategy::Always => {
|
RevealStrategy::Always => {
|
||||||
|
@ -767,6 +761,13 @@ impl TerminalPanel {
|
||||||
}
|
}
|
||||||
RevealStrategy::Never => {}
|
RevealStrategy::Never => {}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
pane.update(cx, |pane, cx| {
|
||||||
|
let focus =
|
||||||
|
pane.has_focus(cx) || matches!(reveal_strategy, RevealStrategy::Always);
|
||||||
|
pane.add_item(terminal_view, true, focus, None, cx);
|
||||||
|
});
|
||||||
|
|
||||||
Ok(terminal)
|
Ok(terminal)
|
||||||
})?;
|
})?;
|
||||||
terminal_panel.update(&mut cx, |this, cx| {
|
terminal_panel.update(&mut cx, |this, cx| {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue