From c6b591023eded95e11eec4f64a9a30cc8ee501fb Mon Sep 17 00:00:00 2001 From: Ivailo Monev Date: Thu, 9 May 2024 09:03:17 +0300 Subject: [PATCH] generic: enable session management for all GUI applications to what degree session management is supported is different story, e.g. if there is no kRestoreMainWindows() call (or other method that actually restores state) then the application is simply started again on login and placed where it was in the window state it was by the window manager Signed-off-by: Ivailo Monev --- keditbookmarks/main.cpp | 2 +- kfind/main.cpp | 1 + kinfocenter/main.cpp | 1 + kmail/main.cpp | 1 + kmediaplayer/main.cpp | 1 + kmenuedit/main.cpp | 1 + knetattach/main.cpp | 1 + ksysguard/gui/ksysguard.cpp | 1 + systemsettings/app/main.cpp | 1 + 9 files changed, 9 insertions(+), 1 deletion(-) diff --git a/keditbookmarks/main.cpp b/keditbookmarks/main.cpp index eb1f26bd..3c8e54f5 100644 --- a/keditbookmarks/main.cpp +++ b/keditbookmarks/main.cpp @@ -119,8 +119,8 @@ int main(int argc, char **argv) { bool browser = args->isSet("browser"); - //KApplication::disableAutoDcopRegistration(); KApplication app; + app.enableSessionManagement(); bool gotFilenameArg = (args->count() == 1); diff --git a/kfind/main.cpp b/kfind/main.cpp index 0cbafb73..9f7cb50d 100644 --- a/kfind/main.cpp +++ b/kfind/main.cpp @@ -58,6 +58,7 @@ int main( int argc, char ** argv ) KCmdLineArgs::addCmdLineOptions( options ); KApplication app; + app.enableSessionManagement(); KCmdLineArgs *args= KCmdLineArgs::parsedArgs(); diff --git a/kinfocenter/main.cpp b/kinfocenter/main.cpp index 7a16f6ec..a09f766c 100644 --- a/kinfocenter/main.cpp +++ b/kinfocenter/main.cpp @@ -56,5 +56,6 @@ int main(int argc, char *argv[]) KCmdLineArgs::init( argc, argv, &aboutData ); KicApp Kic; + Kic.enableSessionManagement(); return Kic.exec(); } diff --git a/kmail/main.cpp b/kmail/main.cpp index 8d458961..809af7a4 100644 --- a/kmail/main.cpp +++ b/kmail/main.cpp @@ -68,6 +68,7 @@ int main(int argc, char **argv) { KCmdLineArgs::addCmdLineOptions(option); KApplication *kapplication = new KApplication(); + kapplication->enableSessionManagement(); KMailDialog kmaildialog; kmaildialog.setButtons(KDialog::Ok | KDialog::Close | KDialog::Help); kmaildialog.show(); diff --git a/kmediaplayer/main.cpp b/kmediaplayer/main.cpp index 19c61150..0cef8270 100644 --- a/kmediaplayer/main.cpp +++ b/kmediaplayer/main.cpp @@ -45,6 +45,7 @@ int main(int argc, char **argv) { KCmdLineArgs::addCmdLineOptions(option); KApplication app; + app.enableSessionManagement(); if (app.isSessionRestored()) { kRestoreMainWindows(); } else { diff --git a/kmenuedit/main.cpp b/kmenuedit/main.cpp index 7370bea8..94906801 100644 --- a/kmenuedit/main.cpp +++ b/kmenuedit/main.cpp @@ -74,6 +74,7 @@ int main( int argc, char **argv ) return 1; KMenuApplication app; + app.enableSessionManagement(); menuEdit = new KMenuEdit(); menuEdit->show(); diff --git a/knetattach/main.cpp b/knetattach/main.cpp index adba59e4..7016a303 100644 --- a/knetattach/main.cpp +++ b/knetattach/main.cpp @@ -36,6 +36,7 @@ int main(int argc, char **argv) { KCmdLineArgs::init(argc, argv, &about); KApplication a; + a.enableSessionManagement(); KNetAttach na; a.connect( &a, SIGNAL(lastWindowClosed()), &a, SLOT(quit()) ); diff --git a/ksysguard/gui/ksysguard.cpp b/ksysguard/gui/ksysguard.cpp index 3953177c..6e47d45c 100644 --- a/ksysguard/gui/ksysguard.cpp +++ b/ksysguard/gui/ksysguard.cpp @@ -537,6 +537,7 @@ int main( int argc, char** argv ) KCmdLineArgs::addCmdLineOptions( options ); // initialize KDE application KApplication *app = new KApplication(); + app->enableSessionManagement(); KSGRD::SensorMgr = new KSGRD::SensorManager(); KSGRD::Style = new KSGRD::StyleEngine(); diff --git a/systemsettings/app/main.cpp b/systemsettings/app/main.cpp index 907fe275..130bb54a 100644 --- a/systemsettings/app/main.cpp +++ b/systemsettings/app/main.cpp @@ -55,6 +55,7 @@ int main(int argc, char *argv[]) KCmdLineArgs::init(argc, argv, &aboutData); SystemSettingsApp application; + application.enableSessionManagement(); SettingsBase *mainWindow = new SettingsBase(); mainWindow->show();