diff options
author | Mavridis Philippe <mavridisf@gmail.com> | 2024-06-09 22:22:02 +0300 |
---|---|---|
committer | Mavridis Philippe <mavridisf@gmail.com> | 2024-08-01 13:00:28 +0300 |
commit | 95837cc844210a35b3374bbe707cb82920b80a9b (patch) | |
tree | 77289f86f35c84eb295771df876bb462a3680f28 /kdesktop/kdesktopbindings.cpp | |
parent | d88718ee027e329565d2d97c5cadde4aa1b83166 (diff) | |
download | tdebase-95837cc844210a35b3374bbe707cb82920b80a9b.tar.gz tdebase-95837cc844210a35b3374bbe707cb82920b80a9b.zip |
Add support for assigning global shortcuts for suspend actions
The corresponding shortcuts have been added as part of the KDesktop shortucts, to complement similar options (logout, shutdown, reboot).
The shortcuts are only shown for the options that KSMServer reports via DCOP as valid.
In order to do be able to make a DCOP call from kdesktopbindings.cpp, the <dcopref.h> include had to be added to several files of the shortcuts TDECM.
Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
Diffstat (limited to 'kdesktop/kdesktopbindings.cpp')
-rw-r--r-- | kdesktop/kdesktopbindings.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/kdesktop/kdesktopbindings.cpp b/kdesktop/kdesktopbindings.cpp index 17b27fc65..5f4fb24cd 100644 --- a/kdesktop/kdesktopbindings.cpp +++ b/kdesktop/kdesktopbindings.cpp @@ -49,6 +49,27 @@ } #endif + // Only add these options if supported by ksmserver + DCOPRef ksmref("ksmserver", "ksmserver"); + DCOPReply reply = ksmref.call("suspendOptions"); + + TQStringList suspendOptions; + if (reply.isValid()) { + reply.get(suspendOptions); + } + + if (suspendOptions.contains("freeze")) + DEF( I18N_NOOP("Freeze"), TDEShortcut(), TDEShortcut(), slotFreeze() ); + + if (suspendOptions.contains("suspend")) + DEF( I18N_NOOP("Suspend"), TDEShortcut(TQString("XF86Sleep")), TDEShortcut(TQString("XF86Sleep")), slotSuspend() ); + + if (suspendOptions.contains("hibernate")) + DEF( I18N_NOOP("Hibernate"), TDEShortcut(), TDEShortcut(), slotHibernate() ); + + if (suspendOptions.contains("hybridSuspend")) + DEF( I18N_NOOP("Hybrid Suspend"), TDEShortcut(), TDEShortcut(), slotHybridSuspend() ); + #undef DEF #undef DEF2 #undef WIN |