diff options
author | Mavridis Philippe <[email protected]> | 2024-06-09 22:22:02 +0300 |
---|---|---|
committer | Mavridis Philippe <[email protected]> | 2024-08-01 13:02:12 +0300 |
commit | eb1c3eedba99bb194d6aec4659fb5ff92348455c (patch) | |
tree | 66d14dc437953dbcbc0c37bb6ffad89d6c415658 /kdesktop/desktop.cpp | |
parent | db3f842c545ce838e40a50e8025268c833c9fc57 (diff) | |
download | tdebase-eb1c3eedba99bb194d6aec4659fb5ff92348455c.tar.gz tdebase-eb1c3eedba99bb194d6aec4659fb5ff92348455c.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 <[email protected]>
(cherry picked from commit 95837cc844210a35b3374bbe707cb82920b80a9b)
Diffstat (limited to 'kdesktop/desktop.cpp')
-rw-r--r-- | kdesktop/desktop.cpp | 28 |
1 files changed, 26 insertions, 2 deletions
diff --git a/kdesktop/desktop.cpp b/kdesktop/desktop.cpp index e7681b1f2..fac03a185 100644 --- a/kdesktop/desktop.cpp +++ b/kdesktop/desktop.cpp @@ -113,7 +113,7 @@ bool KRootWidget::eventFilter ( TQObject *, TQEvent * e ) else if ( e->type() == TQEvent::Drop ) { TQDropEvent* de = static_cast<TQDropEvent*>( e ); - if ( KColorDrag::canDecode( de ) ) + if ( KColorDrag::canDecode( de ) ) emit colorDropEvent( de ); else if ( TQImageDrag::canDecode( de ) ) emit imageDropEvent( de ); @@ -215,7 +215,7 @@ KDesktop::initRoot() Display *dpy = tqt_xdisplay(); Window root = RootWindow(dpy, kdesktop_screen_number); XDefineCursor(dpy, root, cursor().handle()); - + m_bDesktopEnabled = KDesktopSettings::desktopEnabled(); if ( !m_bDesktopEnabled && !m_pRootWidget ) { @@ -1064,6 +1064,30 @@ void KDesktop::slotRebootNoCnf() TDEApplication::ShutdownTypeReboot ); } +void KDesktop::slotFreeze() +{ + DCOPRef r("ksmserver", "ksmserver"); + r.send("suspend", 1); +} + +void KDesktop::slotSuspend() +{ + DCOPRef r("ksmserver", "ksmserver"); + r.send("suspend", 3); +} + +void KDesktop::slotHibernate() +{ + DCOPRef r("ksmserver", "ksmserver"); + r.send("suspend", 4); +} + +void KDesktop::slotHybridSuspend() +{ + DCOPRef r("ksmserver", "ksmserver"); + r.send("suspend", 5); +} + void KDesktop::setVRoot( bool enable ) { if ( enable == set_vroot ) |