ksmserver: use KSMServer::isWM() to check if session command is window manager command

fixes window manager session restoration, for reference:
c920743903

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2023-08-19 15:12:51 +03:00
parent ee10c1a6c3
commit 1091d4d98c

View file

@ -103,7 +103,7 @@ void KSMServer::restoreSession( const QString &sessionName )
if ( !wm.isEmpty() ) {
for ( int i = 1; i <= count; i++ ) {
QString n = QString::number(i);
if ( wm == configSessionGroup.readEntry( QString("program")+n, QString() ) ) {
if ( isWM( configSessionGroup.readEntry( QString("program")+n, QString() ) ) ) {
wmStartCommands << configSessionGroup.readEntry( QString("restartCommand")+n, QStringList() );
}
}
@ -310,7 +310,7 @@ void KSMServer::tryRestoreNext()
(config.readEntry( QString("restartStyleHint")+n, 0 ) == SmRestartNever)) {
continue;
}
if ( wm == config.readEntry( QString("program")+n, QString() ) )
if ( isWM( config.readEntry( QString("program")+n, QString() ) ) )
continue; // wm already started
if( config.readEntry( QString( "wasWm" )+n, false ))
continue; // it was wm before, but not now, don't run it (some have --replace in command :( )