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:
Kirill Bulatov 2024-12-17 14:19:13 +02:00 committed by GitHub
parent 4878b9bbed
commit cc56ed7a88
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -724,8 +724,6 @@ impl TerminalPanel {
cx: &mut ViewContext<Self>,
) -> Task<Result<Model<Terminal>>> {
let workspace = self.workspace.clone();
self.pending_terminals_to_add += 1;
cx.spawn(|terminal_panel, mut cx| async move {
if workspace.update(&mut cx, |workspace, cx| {
!is_enabled_in_workspace(workspace, cx)
@ -753,10 +751,6 @@ impl TerminalPanel {
cx,
)
}));
pane.update(cx, |pane, cx| {
let focus = pane.has_focus(cx);
pane.add_item(terminal_view, true, focus, None, cx);
});
match reveal_strategy {
RevealStrategy::Always => {
@ -767,6 +761,13 @@ impl TerminalPanel {
}
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)
})?;
terminal_panel.update(&mut cx, |this, cx| {