summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'xfce-base/xfce4-session/files')
-rw-r--r--xfce-base/xfce4-session/files/xfce4-session-4.10.1-systemd.patch400
1 files changed, 0 insertions, 400 deletions
diff --git a/xfce-base/xfce4-session/files/xfce4-session-4.10.1-systemd.patch b/xfce-base/xfce4-session/files/xfce4-session-4.10.1-systemd.patch
deleted file mode 100644
index e174e40d0355..000000000000
--- a/xfce-base/xfce4-session/files/xfce4-session-4.10.1-systemd.patch
+++ /dev/null
@@ -1,400 +0,0 @@
-http://pkgs.fedoraproject.org/cgit/xfce4-session.git/commit/xfce4-session-4.10.1-systemd.patch?id=9e8af8b3ee7e8e91817d087e80de29b1af6d4943
-
-diff --git a/configure.ac b/configure.ac
-index 46ff366..8feee0b 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -98,7 +98,7 @@ XDT_CHECK_PACKAGE([XFCONF], [libxfconf-0], [4.9.0])
-
- dnl Check for polkit / systemd integration
- XDT_CHECK_OPTIONAL_PACKAGE([SYSTEMD], [polkit-gobject-1], [0.100],
-- [systemd], [Systemd support (through polit)])
-+ [systemd], [Systemd support (through polkit)])
-
- dnl Check for debugging support
- XDT_FEATURE_DEBUG([xfsm_debug_default])
-@@ -202,10 +202,10 @@ echo " * Legacy session management: yes"
- else
- echo " * Legacy session management: no"
- fi
--if test x"$GNOME_KEYRING_FOUND" = x"yes"; then
--echo " * Gnome Keyring support: yes"
-+if test x"$SYSTEMD_FOUND" = x"yes"; then
-+echo " * Systemd support (through polkit): yes"
- else
--echo " * Gnome Keyring support: no"
-+echo " * Systemd support (through polkit): no"
- fi
-
- echo
-diff --git a/xfce4-session/Makefile.am b/xfce4-session/Makefile.am
-index 5472b33..ea706fd 100644
---- a/xfce4-session/Makefile.am
-+++ b/xfce4-session/Makefile.am
-@@ -38,6 +38,8 @@ xfce4_session_SOURCES = \
- xfsm-compat-gnome.h \
- xfsm-compat-kde.c \
- xfsm-compat-kde.h \
-+ xfsm-consolekit.c \
-+ xfsm-consolekit.h \
- xfsm-dns.c \
- xfsm-dns.h \
- xfsm-error.c \
-@@ -67,10 +69,6 @@ if HAVE_SYSTEMD
- xfce4_session_SOURCES += \
- xfsm-systemd.c \
- xfsm-systemd.h
--else
--xfce4_session_SOURCES += \
-- xfsm-consolekit.c \
-- xfsm-consolekit.h
- endif
-
- xfce4_session_CFLAGS = \
-diff --git a/xfce4-session/xfsm-shutdown.c b/xfce4-session/xfsm-shutdown.c
-index 4c483a7..329c4f6 100644
---- a/xfce4-session/xfsm-shutdown.c
-+++ b/xfce4-session/xfsm-shutdown.c
-@@ -63,6 +63,7 @@
- #include <xfce4-session/xfsm-shutdown.h>
- #include <xfce4-session/xfsm-compat-gnome.h>
- #include <xfce4-session/xfsm-compat-kde.h>
-+#include <xfce4-session/xfsm-consolekit.h>
- #include <xfce4-session/xfsm-fadeout.h>
- #include <xfce4-session/xfsm-global.h>
- #include <xfce4-session/xfsm-legacy.h>
-@@ -70,8 +71,6 @@
-
- #ifdef HAVE_SYSTEMD
- #include <xfce4-session/xfsm-systemd.h>
--#else
--#include <xfce4-session/xfsm-consolekit.h>
- #endif
-
- static void xfsm_shutdown_finalize (GObject *object);
-@@ -98,9 +97,8 @@ struct _XfsmShutdown
-
- #ifdef HAVE_SYSTEMD
- XfsmSystemd *systemd;
--#else
-- XfsmConsolekit *consolekit;
- #endif
-+ XfsmConsolekit *consolekit;
- XfsmUPower *upower;
-
- /* kiosk settings */
-@@ -139,10 +137,14 @@ xfsm_shutdown_init (XfsmShutdown *shutdown)
- XfceKiosk *kiosk;
-
- #ifdef HAVE_SYSTEMD
-- shutdown->systemd = xfsm_systemd_get ();
--#else
-- shutdown->consolekit = xfsm_consolekit_get ();
-+ shutdown->consolekit = NULL;
-+ shutdown->systemd = NULL;
-+ if (LOGIND_RUNNING())
-+ shutdown->systemd = xfsm_systemd_get ();
-+ else
- #endif
-+ shutdown->consolekit = xfsm_consolekit_get ();
-+
- shutdown->upower = xfsm_upower_get ();
- shutdown->helper_state = SUDO_NOT_INITIAZED;
- shutdown->helper_require_password = FALSE;
-@@ -162,10 +164,11 @@ xfsm_shutdown_finalize (GObject *object)
- XfsmShutdown *shutdown = XFSM_SHUTDOWN (object);
-
- #ifdef HAVE_SYSTEMD
-- g_object_unref (G_OBJECT (shutdown->systemd));
--#else
-- g_object_unref (G_OBJECT (shutdown->consolekit));
-+ if (shutdown->systemd != NULL)
-+ g_object_unref (G_OBJECT (shutdown->systemd));
- #endif
-+ if (shutdown->consolekit != NULL)
-+ g_object_unref (G_OBJECT (shutdown->consolekit));
- g_object_unref (G_OBJECT (shutdown->upower));
-
- /* close down helper */
-@@ -657,10 +660,11 @@ xfsm_shutdown_try_restart (XfsmShutdown *shutdown,
- return xfsm_shutdown_sudo_try_action (shutdown, XFSM_SHUTDOWN_RESTART, error);
- else
- #ifdef HAVE_SYSTEMD
-- return xfsm_systemd_try_restart (shutdown->systemd, error);
--#else
-- return xfsm_consolekit_try_restart (shutdown->consolekit, error);
-+ if (shutdown->systemd != NULL)
-+ return xfsm_systemd_try_restart (shutdown->systemd, error);
-+ else
- #endif
-+ return xfsm_consolekit_try_restart (shutdown->consolekit, error);
- }
-
-
-@@ -678,10 +682,11 @@ xfsm_shutdown_try_shutdown (XfsmShutdown *shutdown,
- return xfsm_shutdown_sudo_try_action (shutdown, XFSM_SHUTDOWN_SHUTDOWN, error);
- else
- #ifdef HAVE_SYSTEMD
-- return xfsm_systemd_try_shutdown (shutdown->systemd, error);
--#else
-- return xfsm_consolekit_try_shutdown (shutdown->consolekit, error);
-+ if (shutdown->systemd != NULL)
-+ return xfsm_systemd_try_shutdown (shutdown->systemd, error);
-+ else
- #endif
-+ return xfsm_consolekit_try_shutdown (shutdown->consolekit, error);
- }
-
-
-@@ -692,6 +697,11 @@ xfsm_shutdown_try_suspend (XfsmShutdown *shutdown,
- {
- g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE);
-
-+#ifdef HAVE_SYSTEMD
-+ if (shutdown->systemd != NULL)
-+ return xfsm_systemd_try_suspend (shutdown->systemd, error);
-+ else
-+#endif
- return xfsm_upower_try_suspend (shutdown->upower, error);
- }
-
-@@ -703,6 +713,11 @@ xfsm_shutdown_try_hibernate (XfsmShutdown *shutdown,
- {
- g_return_val_if_fail (XFSM_IS_SHUTDOWN (shutdown), FALSE);
-
-+#ifdef HAVE_SYSTEMD
-+ if (shutdown->systemd != NULL)
-+ return xfsm_systemd_try_hibernate (shutdown->systemd, error);
-+ else
-+#endif
- return xfsm_upower_try_hibernate (shutdown->upower, error);
- }
-
-@@ -722,10 +737,14 @@ xfsm_shutdown_can_restart (XfsmShutdown *shutdown,
- }
-
- #ifdef HAVE_SYSTEMD
-- if (xfsm_systemd_can_restart (shutdown->systemd, can_restart, error))
--#else
-- if (xfsm_consolekit_can_restart (shutdown->consolekit, can_restart, error))
-+ if (shutdown->systemd != NULL)
-+ {
-+ if (xfsm_systemd_can_restart (shutdown->systemd, can_restart, error))
-+ return TRUE;
-+ }
-+ else
- #endif
-+ if (xfsm_consolekit_can_restart (shutdown->consolekit, can_restart, error))
- return TRUE;
-
- if (xfsm_shutdown_sudo_init (shutdown, error))
-@@ -753,10 +772,14 @@ xfsm_shutdown_can_shutdown (XfsmShutdown *shutdown,
- }
-
- #ifdef HAVE_SYSTEMD
-- if (xfsm_systemd_can_shutdown (shutdown->systemd, can_shutdown, error))
--#else
-- if (xfsm_consolekit_can_shutdown (shutdown->consolekit, can_shutdown, error))
-+ if (shutdown->systemd != NULL)
-+ {
-+ if (xfsm_systemd_can_shutdown (shutdown->systemd, can_shutdown, error))
-+ return TRUE;
-+ }
-+ else
- #endif
-+ if (xfsm_consolekit_can_shutdown (shutdown->consolekit, can_shutdown, error))
- return TRUE;
-
- if (xfsm_shutdown_sudo_init (shutdown, error))
-@@ -784,6 +807,12 @@ xfsm_shutdown_can_suspend (XfsmShutdown *shutdown,
- return TRUE;
- }
-
-+#ifdef HAVE_SYSTEMD
-+ if (shutdown->systemd != NULL)
-+ return xfsm_systemd_can_suspend (shutdown->systemd, can_suspend,
-+ auth_suspend, error);
-+ else
-+#endif
- return xfsm_upower_can_suspend (shutdown->upower, can_suspend,
- auth_suspend, error);
- }
-@@ -804,6 +833,12 @@ xfsm_shutdown_can_hibernate (XfsmShutdown *shutdown,
- return TRUE;
- }
-
-+#ifdef HAVE_SYSTEMD
-+ if (shutdown->systemd != NULL)
-+ return xfsm_systemd_can_hibernate (shutdown->systemd, can_hibernate,
-+ auth_hibernate, error);
-+ else
-+#endif
- return xfsm_upower_can_hibernate (shutdown->upower, can_hibernate,
- auth_hibernate, error);
- }
-diff --git a/xfce4-session/xfsm-systemd.c b/xfce4-session/xfsm-systemd.c
-index 7bdd39d..f18fbf7 100644
---- a/xfce4-session/xfsm-systemd.c
-+++ b/xfce4-session/xfsm-systemd.c
-@@ -24,6 +24,7 @@
- #include <dbus/dbus-glib.h>
- #include <dbus/dbus-glib-lowlevel.h>
-
-+#include <libxfsm/xfsm-util.h>
- #include <xfce4-session/xfsm-systemd.h>
-
-
-@@ -33,8 +34,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"
-
-
-
-@@ -93,6 +98,22 @@ xfsm_systemd_finalize (GObject *object)
- }
-
-
-+
-+static gboolean
-+xfsm_systemd_lock_screen (GError **error)
-+{
-+ XfconfChannel *channel;
-+ gboolean ret = TRUE;
-+
-+ channel = xfsm_open_config ();
-+ if (xfconf_channel_get_bool (channel, "/shutdown/LockScreen", FALSE))
-+ ret = g_spawn_command_line_async ("xflock4", error);
-+
-+ return ret;
-+}
-+
-+
-+
- static gboolean
- xfsm_systemd_can_method (XfsmSystemd *systemd,
- gboolean *can_method,
-@@ -205,6 +226,34 @@ xfsm_systemd_try_shutdown (XfsmSystemd *systemd,
-
-
- gboolean
-+xfsm_systemd_try_suspend (XfsmSystemd *systemd,
-+ GError **error)
-+{
-+ if (!xfsm_systemd_lock_screen (error))
-+ return FALSE;
-+
-+ return xfsm_systemd_try_method (systemd,
-+ SYSTEMD_SUSPEND_ACTION,
-+ error);
-+}
-+
-+
-+
-+gboolean
-+xfsm_systemd_try_hibernate (XfsmSystemd *systemd,
-+ GError **error)
-+{
-+ if (!xfsm_systemd_lock_screen (error))
-+ return FALSE;
-+
-+ return xfsm_systemd_try_method (systemd,
-+ SYSTEMD_HIBERNATE_ACTION,
-+ error);
-+}
-+
-+
-+
-+gboolean
- xfsm_systemd_can_restart (XfsmSystemd *systemd,
- gboolean *can_restart,
- GError **error)
-@@ -227,3 +276,39 @@ xfsm_systemd_can_shutdown (XfsmSystemd *systemd,
- SYSTEMD_POWEROFF_TEST,
- error);
- }
-+
-+
-+
-+gboolean
-+xfsm_systemd_can_suspend (XfsmSystemd *systemd,
-+ gboolean *can_suspend,
-+ gboolean *auth_suspend,
-+ GError **error)
-+{
-+ gboolean ret = FALSE;
-+
-+ ret = xfsm_systemd_can_method (systemd,
-+ can_suspend,
-+ SYSTEMD_SUSPEND_TEST,
-+ error);
-+ *auth_suspend = *can_suspend;
-+ return ret;
-+}
-+
-+
-+
-+gboolean
-+xfsm_systemd_can_hibernate (XfsmSystemd *systemd,
-+ gboolean *can_hibernate,
-+ gboolean *auth_hibernate,
-+ GError **error)
-+{
-+ gboolean ret = FALSE;
-+
-+ ret = xfsm_systemd_can_method (systemd,
-+ can_hibernate,
-+ SYSTEMD_HIBERNATE_TEST,
-+ error);
-+ *auth_hibernate = *can_hibernate;
-+ return ret;
-+}
-diff --git a/xfce4-session/xfsm-systemd.h b/xfce4-session/xfsm-systemd.h
-index 8223622..c5e74b5 100644
---- a/xfce4-session/xfsm-systemd.h
-+++ b/xfce4-session/xfsm-systemd.h
-@@ -22,6 +22,8 @@
- #ifndef __XFSM_SYSTEMD_H__
- #define __XFSM_SYSTEMD_H__
-
-+#define LOGIND_RUNNING() (access ("/run/systemd/seats/", F_OK) >= 0)
-+
- typedef struct _XfsmSystemdClass XfsmSystemdClass;
- typedef struct _XfsmSystemd XfsmSystemd;
-
-@@ -42,6 +44,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 +58,16 @@ gboolean xfsm_systemd_can_shutdown (XfsmSystemd *systemd,
- gboolean *can_shutdown,
- GError **error);
-
-+gboolean xfsm_systemd_can_suspend (XfsmSystemd *systemd,
-+ gboolean *can_suspend,
-+ gboolean *auth_suspend,
-+ GError **error);
-+
-+gboolean xfsm_systemd_can_hibernate (XfsmSystemd *systemd,
-+ gboolean *can_hibernate,
-+ gboolean *auth_hibernate,
-+ GError **error);
-+
- G_END_DECLS
-
- #endif /* __XFSM_SYSTEMD_H__ */