From bbae7554f1dcb98d94bd73ec9bce07f0e99e21d0 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sat, 12 Jan 2013 14:06:37 -0600 Subject: [PATCH] Add keyboard shortcut to start screensaver directly --- kcontrol/keys/trinity.kksrc | 1 + kdesktop/kdesktopbindings.cpp | 6 ++++++ kdesktop/krootwm.cc | 5 +++++ kdesktop/krootwm.h | 1 + 4 files changed, 13 insertions(+) diff --git a/kcontrol/keys/trinity.kksrc b/kcontrol/keys/trinity.kksrc index 4971e5194..57681b60f 100644 --- a/kcontrol/keys/trinity.kksrc +++ b/kcontrol/keys/trinity.kksrc @@ -85,6 +85,7 @@ Reboot without Confirmation=none Show Klipper Popup-Menu=Alt+Ctrl+V Show Taskmanager=Ctrl+Escape Show Window List=Alt+F5 +Start Screen Saver=Alt+Ctrl+S Switch One Desktop Down=none Switch One Desktop to the Left=none Switch One Desktop to the Right=none diff --git a/kdesktop/kdesktopbindings.cpp b/kdesktop/kdesktopbindings.cpp index ad166aab4..86dea3466 100644 --- a/kdesktop/kdesktopbindings.cpp +++ b/kdesktop/kdesktopbindings.cpp @@ -29,6 +29,12 @@ { #endif 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")) 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 );