diff --git a/app/mainwindow.cpp b/app/mainwindow.cpp --- a/app/mainwindow.cpp +++ b/app/mainwindow.cpp @@ -113,6 +113,9 @@ connect(m_tabBar, SIGNAL(lastTabClosed()), this, SLOT(handleLastTabClosed())); connect(m_tabBar, SIGNAL(tabSelected(int)), m_sessionStack, SLOT(raiseSession(int))); connect(m_tabBar, SIGNAL(tabClosed(int)), m_sessionStack, SLOT(removeSession(int))); + connect(m_tabBar, &TabBar::tabTitleEdited, m_sessionStack, [&](int , QString) { + m_sessionStack->raiseSession(m_sessionStack->activeSessionId()); + }); connect(m_tabBar, SIGNAL(requestTerminalHighlight(int)), m_sessionStack, SLOT(handleTerminalHighlightRequest(int))); connect(m_tabBar, SIGNAL(requestRemoveTerminalHighlight()), m_sessionStack, SIGNAL(removeTerminalHighlight())); connect(m_tabBar, SIGNAL(tabContextMenuClosed()), m_sessionStack, SIGNAL(removeTerminalHighlight())); diff --git a/app/tabbar.h b/app/tabbar.h --- a/app/tabbar.h +++ b/app/tabbar.h @@ -78,6 +78,7 @@ void requestRemoveTerminalHighlight(); void tabContextMenuClosed(); void lastTabClosed(); + void tabTitleEdited(int sessionId, QString title); protected: diff --git a/app/tabbar.cpp b/app/tabbar.cpp --- a/app/tabbar.cpp +++ b/app/tabbar.cpp @@ -904,6 +904,7 @@ if (!newTitle.isEmpty()) m_tabTitles[sessionId] = newTitle; + emit tabTitleEdited(sessionId, newTitle); update(); } @@ -920,6 +921,7 @@ else m_tabTitlesSetInteractive.remove(sessionId); + emit tabTitleEdited(sessionId, newTitle); update(); }