diff options
Diffstat (limited to 'opensuse/core/tdebase/teach-minicli-lock.diff')
-rw-r--r-- | opensuse/core/tdebase/teach-minicli-lock.diff | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/opensuse/core/tdebase/teach-minicli-lock.diff b/opensuse/core/tdebase/teach-minicli-lock.diff new file mode 100644 index 000000000..73bd7da1e --- /dev/null +++ b/opensuse/core/tdebase/teach-minicli-lock.diff @@ -0,0 +1,30 @@ +Index: kdesktop/minicli.cpp +=================================================================== +--- kdesktop/minicli.cpp.orig ++++ kdesktop/minicli.cpp +@@ -265,7 +265,9 @@ void Minicli::accept() + } + + bool logout = (cmd == "logout"); +- if( !logout && runCommand() == 1 ) ++ bool lock = (cmd == "lock"); ++ ++ if( !logout && !lock && runCommand() == 1 ) + return; + + m_dlg->cbCommand->addToHistory( m_dlg->cbCommand->currentText().stripWhiteSpace() ); +@@ -278,6 +280,14 @@ void Minicli::accept() + kapp->propagateSessionManager(); + kapp->requestShutDown(); + } ++ if ( lock ) ++ { ++ QCString appname( "kdesktop" ); ++ int kicker_screen_number = qt_xscreen(); ++ if ( kicker_screen_number ) ++ appname.sprintf("kdesktop-screen-%d", kicker_screen_number); ++ kapp->dcopClient()->send(appname, "KScreensaverIface", "lock()", ""); ++ } + } + + void Minicli::reject() |