Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 372254 Details for
Bug 504044
xfce-base/xfce4-session: add systemd/login1 hibernate/suspend support
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
[patch]
patch to the xfce4-session sources
xfce4-session-4.10.1-logind-support-for-suspend-hibernate.patch (text/plain), 8.74 KB, created by
pelopor
on 2014-03-10 07:21:32 UTC
(
hide
)
Description:
patch to the xfce4-session sources
Filename:
MIME Type:
Creator:
pelopor
Created:
2014-03-10 07:21:32 UTC
Size:
8.74 KB
patch
obsolete
>From b076b5592579b397b7d4888eb8062e646b9a4dec Mon Sep 17 00:00:00 2001 >From: Mikhail Efremov <sem@altlinux.org> >Date: Wed, 10 Apr 2013 17:10:09 +0400 >Subject: [PATCH] Add systemd-logind support for suspend/hibernate. > >--- > xfce4-session/Makefile.am | 8 +++---- > xfce4-session/xfsm-shutdown.c | 42 +++++++++++++++++++++++++++------- > xfce4-session/xfsm-systemd.c | 52 +++++++++++++++++++++++++++++++++++++++++++ > xfce4-session/xfsm-systemd.h | 14 ++++++++++++ > 4 files changed, 104 insertions(+), 12 deletions(-) > >diff --git a/xfce4-session/Makefile.am b/xfce4-session/Makefile.am >index 5472b33..5e2973b 100644 >--- a/xfce4-session/Makefile.am >+++ b/xfce4-session/Makefile.am >@@ -59,9 +59,7 @@ xfce4_session_SOURCES = \ > xfsm-splash-screen.c \ > xfsm-splash-screen.h \ > xfsm-startup.c \ >- xfsm-startup.h \ >- xfsm-upower.c \ >- xfsm-upower.h >+ xfsm-startup.h > > if HAVE_SYSTEMD > xfce4_session_SOURCES += \ >@@ -70,7 +68,9 @@ xfce4_session_SOURCES += \ > else > xfce4_session_SOURCES += \ > xfsm-consolekit.c \ >- xfsm-consolekit.h >+ xfsm-consolekit.h \ >+ xfsm-upower.c \ >+ xfsm-upower.h > endif > > xfce4_session_CFLAGS = \ >diff --git a/xfce4-session/xfsm-shutdown.c b/xfce4-session/xfsm-shutdown.c >index 4c483a7..8a2ba8d 100644 >--- a/xfce4-session/xfsm-shutdown.c >+++ b/xfce4-session/xfsm-shutdown.c >@@ -66,12 +66,12 @@ > #include <xfce4-session/xfsm-fadeout.h> > #include <xfce4-session/xfsm-global.h> > #include <xfce4-session/xfsm-legacy.h> >-#include <xfce4-session/xfsm-upower.h> > > #ifdef HAVE_SYSTEMD > #include <xfce4-session/xfsm-systemd.h> > #else > #include <xfce4-session/xfsm-consolekit.h> >+#include <xfce4-session/xfsm-upower.h> > #endif > > static void xfsm_shutdown_finalize (GObject *object); >@@ -100,8 +100,8 @@ struct _XfsmShutdown > XfsmSystemd *systemd; > #else > XfsmConsolekit *consolekit; >-#endif > XfsmUPower *upower; >+#endif > > /* kiosk settings */ > gboolean kiosk_can_shutdown; >@@ -142,8 +142,8 @@ xfsm_shutdown_init (XfsmShutdown *shutdown) > shutdown->systemd = xfsm_systemd_get (); > #else > shutdown->consolekit = xfsm_consolekit_get (); >-#endif > shutdown->upower = xfsm_upower_get (); >+#endif > shutdown->helper_state = SUDO_NOT_INITIAZED; > shutdown->helper_require_password = FALSE; > >@@ -165,8 +165,8 @@ xfsm_shutdown_finalize (GObject *object) > g_object_unref (G_OBJECT (shutdown->systemd)); > #else > g_object_unref (G_OBJECT (shutdown->consolekit)); >-#endif > g_object_unref (G_OBJECT (shutdown->upower)); >+#endif > > /* close down helper */ > xfsm_shutdown_sudo_free (shutdown); >@@ -692,7 +692,11 @@ xfsm_shutdown_try_suspend (XfsmShutdown *shutdown, > { > g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE); > >+#ifdef HAVE_SYSTEMD >+ return xfsm_systemd_try_suspend (shutdown->systemd, error); >+#else > return xfsm_upower_try_suspend (shutdown->upower, error); >+#endif > } > > >@@ -703,7 +707,11 @@ xfsm_shutdown_try_hibernate (XfsmShutdown *shutdown, > { > g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE); > >+#ifdef HAVE_SYSTEMD >+ return xfsm_systemd_try_hibernate (shutdown->systemd, error); >+#else > return xfsm_upower_try_hibernate (shutdown->upower, error); >+#endif > } > > >@@ -776,6 +784,8 @@ xfsm_shutdown_can_suspend (XfsmShutdown *shutdown, > gboolean *auth_suspend, > GError **error) > { >+ gboolean ret; >+ > g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE); > > if (!xfsm_shutdown_kiosk_can_shutdown (shutdown, NULL)) >@@ -784,8 +794,15 @@ xfsm_shutdown_can_suspend (XfsmShutdown *shutdown, > return TRUE; > } > >- return xfsm_upower_can_suspend (shutdown->upower, can_suspend, >- auth_suspend, error); >+#ifdef HAVE_SYSTEMD >+ ret = xfsm_systemd_can_suspend (shutdown->systemd, can_suspend, error); >+ *auth_suspend = *can_suspend; >+#else >+ ret = xfsm_upower_can_suspend (shutdown->upower, can_suspend, >+ auth_suspend, error); >+#endif >+ >+ return ret; > } > > >@@ -796,6 +813,8 @@ xfsm_shutdown_can_hibernate (XfsmShutdown *shutdown, > gboolean *auth_hibernate, > GError **error) > { >+ gboolean ret; >+ > g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE); > > if (!xfsm_shutdown_kiosk_can_shutdown (shutdown, NULL)) >@@ -804,8 +823,15 @@ xfsm_shutdown_can_hibernate (XfsmShutdown *shutdown, > return TRUE; > } > >- return xfsm_upower_can_hibernate (shutdown->upower, can_hibernate, >- auth_hibernate, error); >+#ifdef HAVE_SYSTEMD >+ ret = xfsm_systemd_can_hibernate (shutdown->systemd, can_hibernate, error); >+ *auth_hibernate = *can_hibernate; >+#else >+ ret = xfsm_upower_can_hibernate (shutdown->upower, can_hibernate, >+ auth_hibernate, error); >+#endif >+ >+ return ret; > } > > >diff --git a/xfce4-session/xfsm-systemd.c b/xfce4-session/xfsm-systemd.c >index 7bdd39d..cfe7bf4 100644 >--- a/xfce4-session/xfsm-systemd.c >+++ b/xfce4-session/xfsm-systemd.c >@@ -33,8 +33,12 @@ > #define SYSTEMD_DBUS_INTERFACE "org.freedesktop.login1.Manager" > #define SYSTEMD_REBOOT_ACTION "Reboot" > #define SYSTEMD_POWEROFF_ACTION "PowerOff" >+#define SYSTEMD_SUSPEND_ACTION "Suspend" >+#define SYSTEMD_HIBERNATE_ACTION "Hibernate" > #define SYSTEMD_REBOOT_TEST "org.freedesktop.login1.reboot" > #define SYSTEMD_POWEROFF_TEST "org.freedesktop.login1.power-off" >+#define SYSTEMD_SUSPEND_TEST "org.freedesktop.login1.suspend" >+#define SYSTEMD_HIBERNATE_TEST "org.freedesktop.login1.hibernate" > > > >@@ -205,6 +209,28 @@ xfsm_systemd_try_shutdown (XfsmSystemd *systemd, > > > gboolean >+xfsm_systemd_try_suspend (XfsmSystemd *systemd, >+ GError **error) >+{ >+ return xfsm_systemd_try_method (systemd, >+ SYSTEMD_SUSPEND_ACTION, >+ error); >+} >+ >+ >+ >+gboolean >+xfsm_systemd_try_hibernate (XfsmSystemd *systemd, >+ GError **error) >+{ >+ return xfsm_systemd_try_method (systemd, >+ SYSTEMD_HIBERNATE_ACTION, >+ error); >+} >+ >+ >+ >+gboolean > xfsm_systemd_can_restart (XfsmSystemd *systemd, > gboolean *can_restart, > GError **error) >@@ -227,3 +253,29 @@ xfsm_systemd_can_shutdown (XfsmSystemd *systemd, > SYSTEMD_POWEROFF_TEST, > error); > } >+ >+ >+ >+gboolean >+xfsm_systemd_can_suspend (XfsmSystemd *systemd, >+ gboolean *can_suspend, >+ GError **error) >+{ >+ return xfsm_systemd_can_method (systemd, >+ can_suspend, >+ SYSTEMD_SUSPEND_TEST, >+ error); >+} >+ >+ >+ >+gboolean >+xfsm_systemd_can_hibernate (XfsmSystemd *systemd, >+ gboolean *can_hibernate, >+ GError **error) >+{ >+ return xfsm_systemd_can_method (systemd, >+ can_hibernate, >+ SYSTEMD_HIBERNATE_TEST, >+ error); >+} >diff --git a/xfce4-session/xfsm-systemd.h b/xfce4-session/xfsm-systemd.h >index 8223622..6cf803f 100644 >--- a/xfce4-session/xfsm-systemd.h >+++ b/xfce4-session/xfsm-systemd.h >@@ -42,6 +42,12 @@ gboolean xfsm_systemd_try_restart (XfsmSystemd *systemd, > gboolean xfsm_systemd_try_shutdown (XfsmSystemd *systemd, > GError **error); > >+gboolean xfsm_systemd_try_suspend (XfsmSystemd *systemd, >+ GError **error); >+ >+gboolean xfsm_systemd_try_hibernate (XfsmSystemd *systemd, >+ GError **error); >+ > gboolean xfsm_systemd_can_restart (XfsmSystemd *systemd, > gboolean *can_restart, > GError **error); >@@ -50,6 +56,14 @@ gboolean xfsm_systemd_can_shutdown (XfsmSystemd *systemd, > gboolean *can_shutdown, > GError **error); > >+gboolean xfsm_systemd_can_suspend (XfsmSystemd *systemd, >+ gboolean *can_suspend, >+ GError **error); >+ >+gboolean xfsm_systemd_can_hibernate (XfsmSystemd *systemd, >+ gboolean *can_hibernate, >+ GError **error); >+ > G_END_DECLS > > #endif /* __XFSM_SYSTEMD_H__ */ >-- >1.8.1.5 >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 504044
:
372252
| 372254 |
372368
|
372370
|
378566
|
378568