diff options
Diffstat (limited to 'kdesktop')
-rw-r--r-- | kdesktop/kdesktopbindings.cpp | 6 | ||||
-rw-r--r-- | kdesktop/krootwm.cc | 5 | ||||
-rw-r--r-- | kdesktop/krootwm.h | 1 |
3 files changed, 12 insertions, 0 deletions
diff --git a/kdesktop/kdesktopbindings.cpp b/kdesktop/kdesktopbindings.cpp index ad166aab4..86dea3466 100644 --- a/kdesktop/kdesktopbindings.cpp +++ b/kdesktop/kdesktopbindings.cpp @@ -31,6 +31,12 @@ DEF2( I18N_NOOP("Lock Session"), ALT+CTRL+Qt::Key_L, WIN+Qt::Key_ScrollLock, KRootWm::self(), TQT_SLOT(slotLock()) ); #ifndef NOSLOTS } + if (kapp->authorize("start_screensaver")) + { +#endif + DEF2( I18N_NOOP("Start Screen Saver"), ALT+CTRL+Qt::Key_S, WIN+Qt::Key_S, KRootWm::self(), TQT_SLOT(slotSave()) ); +#ifndef NOSLOTS + } if (kapp->authorize("logout")) { #endif diff --git a/kdesktop/krootwm.cc b/kdesktop/krootwm.cc index 872c5560b..90b4ebd66 100644 --- a/kdesktop/krootwm.cc +++ b/kdesktop/krootwm.cc @@ -824,6 +824,11 @@ void KRootWm::slotLock() { } +void KRootWm::slotSave() { + kapp->dcopClient()->send(kdesktop_name, "KScreensaverIface", "save()", TQString("")); +} + + void KRootWm::slotLogout() { m_pDesktop->logout(KApplication::ShutdownConfirmDefault, KApplication::ShutdownTypeDefault); } diff --git a/kdesktop/krootwm.h b/kdesktop/krootwm.h index 007da9bf3..5bccc36c0 100644 --- a/kdesktop/krootwm.h +++ b/kdesktop/krootwm.h @@ -115,6 +115,7 @@ public slots: void slotWindowList(); void slotLock(); void slotLogout(); + void slotSave(); void slotSwitchUser(); void slotPopulateSessions(); void slotSessionActivated( int ); |