summaryrefslogtreecommitdiffstats
path: root/kdesktop
diff options
context:
space:
mode:
Diffstat (limited to 'kdesktop')
-rw-r--r--kdesktop/kdesktopbindings.cpp6
-rw-r--r--kdesktop/krootwm.cc5
-rw-r--r--kdesktop/krootwm.h1
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 );