Improve terminal theming, cursor UX, and size negotiation
This commit is contained in:
@@ -79,6 +79,11 @@ SessionTab::SessionTab(const Profile& profile, QWidget* parent)
|
||||
m_backend,
|
||||
&SessionBackend::confirmHostKey,
|
||||
Qt::QueuedConnection);
|
||||
connect(this,
|
||||
&SessionTab::requestTerminalSize,
|
||||
m_backend,
|
||||
&SessionBackend::updateTerminalSize,
|
||||
Qt::QueuedConnection);
|
||||
|
||||
connect(m_backend,
|
||||
&SessionBackend::stateChanged,
|
||||
@@ -172,6 +177,11 @@ void SessionTab::onCopyErrorClicked()
|
||||
void SessionTab::onClearTerminalClicked()
|
||||
{
|
||||
m_terminalOutput->clear();
|
||||
if (m_state == SessionState::Connected) {
|
||||
// Ask the remote shell to repaint a prompt after local clear.
|
||||
emit requestInput(QStringLiteral("\x0c"));
|
||||
}
|
||||
m_terminalOutput->setFocus();
|
||||
}
|
||||
|
||||
void SessionTab::onBackendStateChanged(SessionState state, const QString& message)
|
||||
@@ -339,6 +349,10 @@ void SessionTab::setupUi()
|
||||
&TerminalView::inputGenerated,
|
||||
this,
|
||||
[this](const QString& input) { emit requestInput(input); });
|
||||
connect(m_terminalOutput,
|
||||
&TerminalView::terminalSizeChanged,
|
||||
this,
|
||||
[this](int columns, int rows) { emit requestTerminalSize(columns, rows); });
|
||||
connect(m_themeSelector,
|
||||
&QComboBox::currentTextChanged,
|
||||
m_terminalOutput,
|
||||
@@ -493,9 +507,7 @@ void SessionTab::refreshActionButtons()
|
||||
m_copyErrorButton->setEnabled(!m_lastError.isEmpty());
|
||||
|
||||
m_terminalOutput->setEnabled(isConnected);
|
||||
if (isConnected) {
|
||||
m_terminalOutput->setFocus();
|
||||
}
|
||||
m_terminalOutput->setFocus();
|
||||
}
|
||||
|
||||
void SessionTab::setPanelExpanded(QToolButton* button,
|
||||
|
||||
Reference in New Issue
Block a user