diff --git a/src/Session.cpp b/src/Session.cpp index 3996c137d..c459b1ceb 100644 --- a/src/Session.cpp +++ b/src/Session.cpp @@ -323,6 +323,8 @@ void Session::run() } _shellProcess->setWriteable(false); // We are reachable via kwrited. + + emit started(); } void Session::setUserTitle( int what, const QString &caption ) diff --git a/src/Session.h b/src/Session.h index c3c267082..0adcb2aa8 100644 --- a/src/Session.h +++ b/src/Session.h @@ -389,6 +389,9 @@ public slots: signals: + /** Emitted when the terminal process starts. */ + void started(); + /** * Emitted when the terminal process exits. */ diff --git a/src/SessionController.cpp b/src/SessionController.cpp index 472382a43..3c3e7b915 100644 --- a/src/SessionController.cpp +++ b/src/SessionController.cpp @@ -128,11 +128,13 @@ SessionController::SessionController(Session* session , TerminalDisplay* view, Q SLOT(sessionStateChanged(int) )); // listen to title and icon changes connect( _session , SIGNAL(titleChanged()) , this , SLOT(sessionTitleChanged()) ); + + // update the title when the session starts + connect( _session , SIGNAL(started()) , this , SLOT(snapshot()) ); // listen for output changes to set activity flag connect( _session->emulation() , SIGNAL(outputChanged()) , this , SLOT(fireActivity()) ); - // listen for flow control status changes connect( _session , SIGNAL(flowControlEnabledChanged(bool)) , _view ,