diff --git a/src/plugins/terminal/terminalpane.cpp b/src/plugins/terminal/terminalpane.cpp index ee23b62db4e..961359712a5 100644 --- a/src/plugins/terminal/terminalpane.cpp +++ b/src/plugins/terminal/terminalpane.cpp @@ -200,6 +200,11 @@ QWidget *TerminalPane::outputWidget(QWidget *parent) removeTab(index); }); + connect(m_tabWidget, &QTabWidget::currentChanged, this, [this](int index) { + if (auto widget = m_tabWidget->widget(index)) + widget->setFocus(); + }); + auto terminalWidget = new TerminalWidget(parent); m_tabWidget->addTab(terminalWidget, Tr::tr("Terminal")); setupTerminalWidget(terminalWidget); @@ -221,10 +226,6 @@ void TerminalPane::removeTab(int index) TerminalCommands::instance().paneActions().closeTerminal.setEnabled(m_tabWidget->count() > 1); - if (auto terminal = currentTerminal()) { - terminal->setFocus(); - } - emit navigateStateUpdate(); }