diff options
Diffstat (limited to 'opensuse/tdebase/suspend-kpowersave.diff')
-rw-r--r-- | opensuse/tdebase/suspend-kpowersave.diff | 178 |
1 files changed, 0 insertions, 178 deletions
diff --git a/opensuse/tdebase/suspend-kpowersave.diff b/opensuse/tdebase/suspend-kpowersave.diff deleted file mode 100644 index 13aaa131c..000000000 --- a/opensuse/tdebase/suspend-kpowersave.diff +++ /dev/null @@ -1,178 +0,0 @@ -Subject: Use KPowersave for suspend if available -From: Lubos Lunak -Bug: bnc#326848 -Patch-upstream: No - ---- kicker/kicker/ui/k_new_mnu.cpp.sav 2008-11-20 10:12:42.000000000 +0100 -+++ kicker/kicker/ui/k_new_mnu.cpp 2008-11-20 13:49:20.000000000 +0100 -@@ -3691,6 +3691,9 @@ int KMenu::max_items(int category) const - - #ifdef KDELIBS_SUSE - #include <liblazy.h> -+ -+#include <X11/Xlib.h> -+#include <fixx11h.h> - #endif - - void KMenu::insertSuspendOption( int &nId, int &index ) -@@ -3699,6 +3702,14 @@ void KMenu::insertSuspendOption( int &nI - int supported = -1; - bool suspend_ram, suspend_disk, standby; - -+ DCOPRef kpowersave( "kpowersave", "KPowersaveIface" ); -+ DCOPReply reply = kpowersave.call( "allowed_sleepingStates" ); -+ if( reply.isValid()) { -+ QStringList supported = reply; -+ suspend_ram = supported.contains( "suspendToRAM" ); -+ suspend_disk = supported.contains( "suspendToDisk" ); -+ standby = supported.contains( "standBy" ); -+ } else { - liblazy_hal_get_property_bool(HAL_UDI_COMPUTER, "power_management.can_suspend", &supported); - if (supported == 1) - suspend_ram = true; -@@ -3721,6 +3732,7 @@ void KMenu::insertSuspendOption( int &nI - suspend_ram = false; - if (liblazy_hal_is_caller_privileged("org.freedesktop.hal.power-management.standby") != 1) - standby = false; -+ } - - if ( ! ( standby + suspend_ram + suspend_disk ) ) - return; -@@ -3745,6 +3757,25 @@ void KMenu::slotSuspend(int id) - { - #ifdef KDELIBS_SUSE - int error = 0; -+ -+ DCOPRef kpowersave( "kpowersave", "KPowersaveIface" ); -+ DCOPReply reply = kpowersave.call( "allowed_sleepingStates" ); -+ if( reply.isValid()) { -+ bool ok; -+ extern Time qt_x_time; -+ XUngrabKeyboard( qt_xdisplay(), qt_x_time ); -+ XUngrabPointer( qt_xdisplay(), qt_x_time ); -+ XSync( qt_xdisplay(), False ); -+ if( id == 1 ) -+ ok = kpowersave.call( "do_suspendToDisk" ); -+ else if( id == 2 ) -+ ok = kpowersave.call( "do_suspendToRAM" ); -+ else if( id == 3 ) -+ ok = kpowersave.call( "do_standBy" ); -+ else -+ return; -+ error = ok ? 0 : 1; -+ } else { - int wake = 0; - DBusMessage *reply = 0; - -@@ -3773,6 +3804,8 @@ void KMenu::slotSuspend(int id) - DBUS_TYPE_INVALID); - else - return; -+ } -+ - if (error) - #endif - KMessageBox::error(this, i18n("Suspend failed")); ---- ksmserver/shutdowndlg.cpp.sav 2008-11-20 10:12:41.000000000 +0100 -+++ ksmserver/shutdowndlg.cpp 2008-11-20 13:34:19.000000000 +0100 -@@ -40,6 +40,7 @@ Copyright (C) 2000 Matthias Ettrich <ett - #include <kdialog.h> - #include <kseparator.h> - #include <kmessagebox.h> -+#include <dcopref.h> - - #include <sys/types.h> - #include <sys/utsname.h> -@@ -264,6 +265,14 @@ KSMShutdownDlg::KSMShutdownDlg( QWidget* - } else - QToolTip::add( btnReboot, i18n( "<qt><h3>Restart Computer</h3><p>Log out of the current session and restart the computer</p></qt>" ) ); - -+ DCOPRef kpowersave( "kpowersave", "KPowersaveIface" ); -+ DCOPReply reply = kpowersave.call( "allowed_sleepingStates" ); -+ if( reply.isValid()) { -+ QStringList supported = reply; -+ suspend_ram = supported.contains( "suspendToRAM" ); -+ suspend_disk = supported.contains( "suspendToDisk" ); -+ standby = supported.contains( "standBy" ); -+ } else { - int supported = -1; - liblazy_hal_get_property_bool(HAL_UDI_COMPUTER, "power_management.can_suspend", &supported); - if (supported == 1) -@@ -287,6 +296,7 @@ KSMShutdownDlg::KSMShutdownDlg( QWidget* - suspend_ram = false; - if (liblazy_hal_is_caller_privileged("org.freedesktop.hal.power-management.standby") != 1) - standby = false; -+ } - - int sum = standby + suspend_ram + suspend_disk; - if ( sum ) { -@@ -325,6 +335,24 @@ KSMShutdownDlg::KSMShutdownDlg( QWidget* - void KSMShutdownDlg::slotSuspend() - { - int error = 0; -+ DCOPRef kpowersave( "kpowersave", "KPowersaveIface" ); -+ DCOPReply reply = kpowersave.call( "allowed_sleepingStates" ); -+ if( reply.isValid()) { -+ bool ok; -+ // so that screen locking can take place -+ extern Time qt_x_time; -+ XUngrabKeyboard( qt_xdisplay(), qt_x_time ); -+ XUngrabPointer( qt_xdisplay(), qt_x_time ); -+ XSync( qt_xdisplay(), False ); -+ if( suspend_disk ) -+ ok = kpowersave.call( "do_suspendToDisk" ); -+ else if( suspend_ram ) -+ ok = kpowersave.call( "do_suspendToRAM" ); -+ else -+ ok = kpowersave.call( "do_standBy" ); -+ error = ok ? 0 : 1; -+ } else { -+ - int wake = 0; - DBusMessage *reply; - -@@ -351,6 +379,7 @@ void KSMShutdownDlg::slotSuspend() - "Standby", - &reply, - DBUS_TYPE_INVALID); -+ } - - if (error) - KMessageBox::error(this, i18n("Suspend failed")); -@@ -362,6 +391,27 @@ void KSMShutdownDlg::slotSuspend() - void KSMShutdownDlg::slotSuspend(int id) - { - int error = 0; -+ -+ DCOPRef kpowersave( "kpowersave", "KPowersaveIface" ); -+ DCOPReply reply = kpowersave.call( "allowed_sleepingStates" ); -+ if( reply.isValid()) { -+ bool ok; -+ extern Time qt_x_time; -+ XUngrabKeyboard( qt_xdisplay(), qt_x_time ); -+ XUngrabPointer( qt_xdisplay(), qt_x_time ); -+ XSync( qt_xdisplay(), False ); -+ if( suspend_disk && id == 1 ) -+ ok = kpowersave.call( "do_suspendToDisk" ); -+ else if( suspend_ram && id == 2 ) -+ ok = kpowersave.call( "do_suspendToRAM" ); -+ else if( standby && id == 3 ) -+ ok = kpowersave.call( "do_standBy" ); -+ else -+ return; -+ error = ok ? 0 : 1; -+ } else { -+ -+ - int wake = 0; - DBusMessage *reply; - -@@ -390,6 +440,8 @@ void KSMShutdownDlg::slotSuspend(int id) - DBUS_TYPE_INVALID); - else - return; -+ } -+ - if (error) - KMessageBox::error(this, i18n("Suspend failed")); - |