summaryrefslogtreecommitdiff
path: root/community/mate-session-manager
diff options
context:
space:
mode:
Diffstat (limited to 'community/mate-session-manager')
-rw-r--r--community/mate-session-manager/PKGBUILD31
-rw-r--r--community/mate-session-manager/e934e91226e9a93956121c9c84ecf3664fcd68be.diff293
-rw-r--r--community/mate-session-manager/f0b5b1ab78879d64f80117415aacf029359afea5.diff271
-rw-r--r--community/mate-session-manager/mate-session-manager.install2
4 files changed, 7 insertions, 590 deletions
diff --git a/community/mate-session-manager/PKGBUILD b/community/mate-session-manager/PKGBUILD
index e493b23eb..fb006dcc8 100644
--- a/community/mate-session-manager/PKGBUILD
+++ b/community/mate-session-manager/PKGBUILD
@@ -1,41 +1,22 @@
-# $Id: PKGBUILD 105093 2014-01-31 12:59:35Z flexiondotorg $
# Maintainer : Martin Wimpress <code@flexion.org>
pkgname=mate-session-manager
-pkgver=1.6.1
-pkgrel=10
+pkgver=1.8.0
+pkgrel=1
pkgdesc="The MATE Session Handler"
url="http://mate-desktop.org"
arch=('i686' 'x86_64')
license=('GPL' 'LGPL')
depends=('dbus-glib' 'gtk2' 'libsm' 'libxtst' 'mate-desktop' 'mate-polkit'
- 'mate-settings-daemon' 'xdg-user-dirs')
+ 'mate-settings-daemon' 'upower' 'xdg-user-dirs')
makedepends=('mate-common' 'perl-xml-parser' 'xmlto')
optdepends=('xdg-user-dirs-gtk: Add autostart that prompts to rename user directories when switching locales')
options=('!emptydirs')
groups=('mate')
-source=("http://pub.mate-desktop.org/releases/1.6/${pkgname}-${pkgver}.tar.xz"
- f0b5b1ab78879d64f80117415aacf029359afea5.diff
- e934e91226e9a93956121c9c84ecf3664fcd68be.diff)
-sha1sums=('46188f6c02cc5978688af9d5db4be09f1b9199a5'
- '20fb99c29731d05191cd0029d0573db784b06ccf'
- '4312495bcd12ca5a20f7d5442b7517902605534c')
+source=("http://pub.mate-desktop.org/releases/1.8/${pkgname}-${pkgver}.tar.xz")
+sha1sums=('2dbb537ba2cc31a8d4f1fa02afd6dabc2919aaa3')
install=${pkgname}.install
-prepare() {
- cd "${srcdir}/${pkgname}-${pkgver}"
- # fix systemd-login1 support for hibernate/suspend
- # https://github.com/mate-desktop/mate-session-manager/commit/f0b5b1ab78879d64f80117415aacf029359afea5
- patch -Np1 -i "${srcdir}/f0b5b1ab78879d64f80117415aacf029359afea5.diff"
-
- # Make upower optional
- # https://github.com/mate-desktop/mate-session-manager/commit/e934e91226e9a93956121c9c84ecf3664fcd68be
- patch -Np1 -i "${srcdir}/e934e91226e9a93956121c9c84ecf3664fcd68be.diff"
-
- # Recreate the build system because configure.ac was patched.
- autoreconf -fi
-}
-
build() {
cd "${srcdir}/${pkgname}-${pkgver}"
./configure \
@@ -43,7 +24,7 @@ build() {
--libexecdir=/usr/lib/${pkgname} \
--sysconfdir=/etc \
--localstatedir=/var \
- --disable-upower
+ --with-gtk=2.0
make
}
diff --git a/community/mate-session-manager/e934e91226e9a93956121c9c84ecf3664fcd68be.diff b/community/mate-session-manager/e934e91226e9a93956121c9c84ecf3664fcd68be.diff
deleted file mode 100644
index bd42a4722..000000000
--- a/community/mate-session-manager/e934e91226e9a93956121c9c84ecf3664fcd68be.diff
+++ /dev/null
@@ -1,293 +0,0 @@
-diff --git a/configure.ac b/configure.ac
-index 37bb191..a9e20ef 100644
---- a/configure.ac
-+++ b/configure.ac
-@@ -70,7 +70,6 @@ PKG_CHECK_MODULES(MATE_SESSION,
- gio-2.0 >= $GIO_REQUIRED
- gtk+-$GTK_API_VERSION >= $GTK_REQUIRED
- dbus-glib-1 >= $DBUS_GLIB_REQUIRED
-- upower-glib >= $UPOWER_REQUIRED
- )
-
- PKG_CHECK_MODULES(SESSION_PROPERTIES,
-@@ -128,6 +127,24 @@ AM_CONDITIONAL(HAVE_SYSTEMD, test "x$use_systemd" = "xyes")
- AC_SUBST(HAVE_SYSTEMD)
-
- dnl ====================================================================
-+dnl UPOWER
-+dnl ====================================================================
-+
-+AC_ARG_ENABLE(upower,
-+ AS_HELP_STRING([--enable-upower],
-+ [Use upower to suspend/hibernate]),
-+ enable_upower=$enableval,
-+ enable_upower=yes)
-+if test "x$enable_upower" = "xyes"; then
-+ PKG_CHECK_MODULES(UPOWER, upower-glib >= $UPOWER_REQUIRED, has_upower=yes, has_upower=no)
-+ AC_DEFINE(HAVE_UPOWER, 1, [upower support])
-+ AC_SUBST(UPOWER_CFLAGS)
-+ AC_SUBST(UPOWER_LIBS)
-+fi
-+AM_CONDITIONAL(HAVE_UPOWER, test "x$enable_upower" = "xyes")
-+AC_SUBST(HAVE_UPOWER)
-+
-+dnl ====================================================================
- dnl X development libraries check
- dnl ====================================================================
-
-@@ -385,6 +402,7 @@ echo "
- GTK+ version: ${with_gtk}
- Default WM: ${with_default_wm}
- Systemd support: ${use_systemd}
-+ Upower support: ${enable_upower}
- IPv6 support: ${have_full_ipv6}
- Backtrace support: ${have_backtrace}
- XRender support: ${have_xrender}
-diff --git a/mate-session/Makefile.am b/mate-session/Makefile.am
-index f37a0e2..53f0fc7 100644
---- a/mate-session/Makefile.am
-+++ b/mate-session/Makefile.am
-@@ -7,6 +7,7 @@ noinst_PROGRAMS = \
- AM_CPPFLAGS = \
- $(MATE_SESSION_CFLAGS) \
- $(SYSTEMD_CFLAGS) \
-+ $(UPOWER_CFLAGS) \
- $(DISABLE_DEPRECATED_CFLAGS)
-
- AM_CFLAGS = $(WARN_CFLAGS)
-@@ -76,6 +77,7 @@ mate_session_LDADD = \
- $(XEXT_LIBS) \
- $(MATE_SESSION_LIBS) \
- $(SYSTEMD_LIBS) \
-+ $(UPOWER_LIBS) \
- $(EXECINFO_LIBS)
-
- libgsmutil_la_SOURCES = \
-diff --git a/mate-session/gsm-logout-dialog.c b/mate-session/gsm-logout-dialog.c
-index 1a79875..323f123 100644
---- a/mate-session/gsm-logout-dialog.c
-+++ b/mate-session/gsm-logout-dialog.c
-@@ -27,7 +27,9 @@
- #include <glib/gi18n.h>
- #include <gtk/gtk.h>
-
-+#ifdef HAVE_UPOWER
- #include <upower.h>
-+#endif
-
- #include "gsm-logout-dialog.h"
- #ifdef HAVE_SYSTEMD
-@@ -52,8 +54,9 @@
- struct _GsmLogoutDialogPrivate
- {
- GsmDialogLogoutType type;
--
-+#ifdef HAVE_UPOWER
- UpClient *up_client;
-+#endif
- #ifdef HAVE_SYSTEMD
- GsmSystemd *systemd;
- #endif
-@@ -147,9 +150,9 @@ enum {
- gtk_window_set_skip_taskbar_hint (GTK_WINDOW (logout_dialog), TRUE);
- gtk_window_set_keep_above (GTK_WINDOW (logout_dialog), TRUE);
- gtk_window_stick (GTK_WINDOW (logout_dialog));
--
-+#ifdef HAVE_UPOWER
- logout_dialog->priv->up_client = up_client_new ();
--
-+#endif
- #ifdef HAVE_SYSTEMD
- if (LOGIND_RUNNING())
- logout_dialog->priv->systemd = gsm_get_systemd ();
-@@ -176,12 +179,12 @@ enum {
- g_source_remove (logout_dialog->priv->timeout_id);
- logout_dialog->priv->timeout_id = 0;
- }
--
-+#ifdef HAVE_UPOWER
- if (logout_dialog->priv->up_client) {
- g_object_unref (logout_dialog->priv->up_client);
- logout_dialog->priv->up_client = NULL;
- }
--
-+#endif
- #ifdef HAVE_SYSTEMD
- if (logout_dialog->priv->systemd) {
- g_object_unref (logout_dialog->priv->systemd);
-@@ -201,13 +204,17 @@ enum {
- gsm_logout_supports_system_suspend (GsmLogoutDialog *logout_dialog)
- {
- gboolean ret;
-+ ret = FALSE;
- #ifdef HAVE_SYSTEMD
- if (LOGIND_RUNNING())
- ret = gsm_systemd_can_suspend (logout_dialog->priv->systemd);
-+#endif
-+#if defined(HAVE_SYSTEMD) && defined(HAVE_UPOWER)
- else
- #endif
-+#ifdef HAVE_UPOWER
- ret = up_client_get_can_suspend (logout_dialog->priv->up_client);
--
-+#endif
- return ret;
- }
-
-@@ -215,13 +222,17 @@ enum {
- gsm_logout_supports_system_hibernate (GsmLogoutDialog *logout_dialog)
- {
- gboolean ret;
-+ ret = FALSE;
- #ifdef HAVE_SYSTEMD
- if (LOGIND_RUNNING())
- ret = gsm_systemd_can_hibernate (logout_dialog->priv->systemd);
-+#endif
-+#if defined(HAVE_SYSTEMD) && defined(HAVE_UPOWER)
- else
- #endif
-+#ifdef HAVE_UPOWER
- ret = up_client_get_can_hibernate (logout_dialog->priv->up_client);
--
-+#endif
- return ret;
- }
-
-diff --git a/mate-session/gsm-manager.c b/mate-session/gsm-manager.c
-index 79d0829..17a20b8 100644
---- a/mate-session/gsm-manager.c
-+++ b/mate-session/gsm-manager.c
-@@ -38,7 +38,9 @@
- #include <dbus/dbus-glib.h>
- #include <dbus/dbus-glib-lowlevel.h>
-
-+#ifdef HAVE_UPOWER
- #include <upower.h>
-+#endif
-
- #include <gtk/gtk.h> /* for logout dialog */
- #include <gio/gio.h> /* for gsettings */
-@@ -144,9 +146,10 @@ struct GsmManagerPrivate
-
- DBusGProxy *bus_proxy;
- DBusGConnection *connection;
--
-+#ifdef HAVE_UPOWER
- /* Interface with other parts of the system */
- UpClient *up_client;
-+#endif
- };
-
- enum {
-@@ -1097,10 +1100,11 @@ enum {
- static void
- manager_attempt_hibernate (GsmManager *manager)
- {
-+#ifdef HAVE_UPOWER
- gboolean can_hibernate;
- GError *error;
- gboolean ret;
--
-+#endif
- #ifdef HAVE_SYSTEMD
- if (LOGIND_RUNNING()) {
-
-@@ -1113,8 +1117,11 @@ enum {
-
- gsm_systemd_attempt_hibernate (systemd);
- }
-+#endif
-+#if defined(HAVE_SYSTEMD) && defined(HAVE_UPOWER)
- else {
- #endif
-+#ifdef HAVE_UPOWER
- can_hibernate = up_client_get_can_hibernate (manager->priv->up_client);
- if (can_hibernate) {
-
-@@ -1129,7 +1136,8 @@ enum {
- g_error_free (error);
- }
- }
--#ifdef HAVE_SYSTEMD
-+#endif
-+#if defined(HAVE_SYSTEMD) && defined(HAVE_UPOWER)
- }
- #endif
- }
-@@ -1137,10 +1145,11 @@ enum {
- static void
- manager_attempt_suspend (GsmManager *manager)
- {
-+#ifdef HAVE_UPOWER
- gboolean can_suspend;
- GError *error;
- gboolean ret;
--
-+#endif
- #ifdef HAVE_SYSTEMD
- if (LOGIND_RUNNING()) {
-
-@@ -1153,8 +1162,11 @@ enum {
-
- gsm_systemd_attempt_suspend (systemd);
- }
-+#endif
-+#if defined(HAVE_SYSTEMD) && defined(HAVE_UPOWER)
- else {
- #endif
-+#ifdef HAVE_UPOWER
- can_suspend = up_client_get_can_suspend (manager->priv->up_client);
- if (can_suspend) {
-
-@@ -1169,7 +1181,8 @@ enum {
- g_error_free (error);
- }
- }
--#ifdef HAVE_SYSTEMD
-+#endif
-+#if defined(HAVE_SYSTEMD) && defined(HAVE_UPOWER)
- }
- #endif
- }
-@@ -2341,12 +2354,12 @@ enum {
- g_object_unref (manager->priv->settings_screensaver);
- manager->priv->settings_screensaver = NULL;
- }
--
-+#ifdef HAVE_UPOWER
- if (manager->priv->up_client != NULL) {
- g_object_unref (manager->priv->up_client);
- manager->priv->up_client = NULL;
- }
--
-+#endif
- G_OBJECT_CLASS (gsm_manager_parent_class)->dispose (object);
- }
-
-@@ -2553,9 +2566,9 @@ enum {
- "status-changed",
- G_CALLBACK (on_presence_status_changed),
- manager);
--
-+#ifdef HAVE_UPOWER
- manager->priv->up_client = up_client_new ();
--
-+#endif
- g_signal_connect (manager->priv->settings_session,
- "changed",
- G_CALLBACK (on_gsettings_key_changed),
-@@ -3224,12 +3237,12 @@ enum {
- #endif
- gboolean can_suspend;
- gboolean can_hibernate;
--
-+#ifdef HAVE_UPOWER
- g_object_get (manager->priv->up_client,
- "can-suspend", &can_suspend,
- "can-hibernate", &can_hibernate,
- NULL);
--
-+#endif
- g_debug ("GsmManager: CanShutdown called");
-
- g_return_val_if_fail (GSM_IS_MANAGER (manager), FALSE);
diff --git a/community/mate-session-manager/f0b5b1ab78879d64f80117415aacf029359afea5.diff b/community/mate-session-manager/f0b5b1ab78879d64f80117415aacf029359afea5.diff
deleted file mode 100644
index ffbe19a5d..000000000
--- a/community/mate-session-manager/f0b5b1ab78879d64f80117415aacf029359afea5.diff
+++ /dev/null
@@ -1,271 +0,0 @@
-diff --git a/mate-session/gsm-logout-dialog.c b/mate-session/gsm-logout-dialog.c
-index 2d2947c..1a79875 100644
---- a/mate-session/gsm-logout-dialog.c
-+++ b/mate-session/gsm-logout-dialog.c
-@@ -200,13 +200,29 @@ enum {
- static gboolean
- gsm_logout_supports_system_suspend (GsmLogoutDialog *logout_dialog)
- {
-- return up_client_get_can_suspend (logout_dialog->priv->up_client);
-+ gboolean ret;
-+#ifdef HAVE_SYSTEMD
-+ if (LOGIND_RUNNING())
-+ ret = gsm_systemd_can_suspend (logout_dialog->priv->systemd);
-+ else
-+#endif
-+ ret = up_client_get_can_suspend (logout_dialog->priv->up_client);
-+
-+ return ret;
- }
-
- static gboolean
- gsm_logout_supports_system_hibernate (GsmLogoutDialog *logout_dialog)
- {
-- return up_client_get_can_hibernate (logout_dialog->priv->up_client);
-+ gboolean ret;
-+#ifdef HAVE_SYSTEMD
-+ if (LOGIND_RUNNING())
-+ ret = gsm_systemd_can_hibernate (logout_dialog->priv->systemd);
-+ else
-+#endif
-+ ret = up_client_get_can_hibernate (logout_dialog->priv->up_client);
-+
-+ return ret;
- }
-
- static gboolean
-diff --git a/mate-session/gsm-manager.c b/mate-session/gsm-manager.c
-index 8143d1f..b4986ac 100644
---- a/mate-session/gsm-manager.c
-+++ b/mate-session/gsm-manager.c
-@@ -1109,6 +1109,20 @@ enum {
- GError *error;
- gboolean ret;
-
-+#ifdef HAVE_SYSTEMD
-+ if (LOGIND_RUNNING()) {
-+
-+ GsmSystemd *systemd;
-+
-+ systemd = gsm_get_systemd ();
-+
-+ /* lock the screen before we suspend */
-+ manager_perhaps_lock (manager);
-+
-+ gsm_systemd_attempt_hibernate (systemd);
-+ }
-+ else {
-+#endif
- can_hibernate = up_client_get_can_hibernate (manager->priv->up_client);
- if (can_hibernate) {
-
-@@ -1123,6 +1137,9 @@ enum {
- g_error_free (error);
- }
- }
-+#ifdef HAVE_SYSTEMD
-+ }
-+#endif
- }
-
- static void
-@@ -1132,6 +1149,20 @@ enum {
- GError *error;
- gboolean ret;
-
-+#ifdef HAVE_SYSTEMD
-+ if (LOGIND_RUNNING()) {
-+
-+ GsmSystemd *systemd;
-+
-+ systemd = gsm_get_systemd ();
-+
-+ /* lock the screen before we suspend */
-+ manager_perhaps_lock (manager);
-+
-+ gsm_systemd_attempt_suspend (systemd);
-+ }
-+ else {
-+#endif
- can_suspend = up_client_get_can_suspend (manager->priv->up_client);
- if (can_suspend) {
-
-@@ -1146,6 +1177,9 @@ enum {
- g_error_free (error);
- }
- }
-+#ifdef HAVE_SYSTEMD
-+ }
-+#endif
- }
-
- static void
-diff --git a/mate-session/gsm-systemd.c b/mate-session/gsm-systemd.c
-index 377f026..dbe8ea0 100644
---- a/mate-session/gsm-systemd.c
-+++ b/mate-session/gsm-systemd.c
-@@ -725,6 +725,141 @@ static void gsm_systemd_on_name_owner_changed (DBusGProxy *bus_proxy,
- return can_stop;
- }
-
-+gboolean
-+gsm_systemd_can_hibernate (GsmSystemd *manager)
-+{
-+ gboolean res;
-+ gchar *value;
-+ gboolean can_hibernate;
-+ GError *error;
-+
-+ error = NULL;
-+
-+ if (!gsm_systemd_ensure_sd_connection (manager, &error)) {
-+ g_warning ("Could not connect to Systemd: %s",
-+ error->message);
-+ g_error_free (error);
-+ return FALSE;
-+ }
-+
-+ res = dbus_g_proxy_call_with_timeout (manager->priv->sd_proxy,
-+ "CanHibernate",
-+ INT_MAX,
-+ &error,
-+ G_TYPE_INVALID,
-+ G_TYPE_STRING, &value,
-+ G_TYPE_INVALID);
-+ if (res == FALSE) {
-+ g_warning ("Could not make DBUS call: %s",
-+ error->message);
-+ g_error_free (error);
-+ return FALSE;
-+ }
-+
-+ can_hibernate = g_strcmp0 (value, "yes") == 0 ||
-+ g_strcmp0 (value, "challenge") == 0;
-+ g_free (value);
-+ return can_hibernate;
-+}
-+
-+gboolean
-+gsm_systemd_can_suspend (GsmSystemd *manager)
-+{
-+ gboolean res;
-+ gchar *value;
-+ gboolean can_suspend;
-+ GError *error;
-+
-+ error = NULL;
-+
-+ if (!gsm_systemd_ensure_sd_connection (manager, &error)) {
-+ g_warning ("Could not connect to Systemd: %s",
-+ error->message);
-+ g_error_free (error);
-+ return FALSE;
-+ }
-+
-+ res = dbus_g_proxy_call_with_timeout (manager->priv->sd_proxy,
-+ "CanSuspend",
-+ INT_MAX,
-+ &error,
-+ G_TYPE_INVALID,
-+ G_TYPE_STRING, &value,
-+ G_TYPE_INVALID);
-+ if (res == FALSE) {
-+ g_warning ("Could not make DBUS call: %s",
-+ error->message);
-+ g_error_free (error);
-+ return FALSE;
-+ }
-+
-+ can_suspend = g_strcmp0 (value, "yes") == 0 ||
-+ g_strcmp0 (value, "challenge") == 0;
-+ g_free (value);
-+ return can_suspend;
-+}
-+
-+void
-+gsm_systemd_attempt_hibernate (GsmSystemd *manager)
-+{
-+ gboolean res;
-+ GError *error;
-+
-+ error = NULL;
-+
-+ if (!gsm_systemd_ensure_sd_connection (manager, &error)) {
-+ g_warning ("Could not connect to Systemd: %s",
-+ error->message);
-+ g_error_free (error);
-+ return FALSE;
-+ }
-+
-+ res = dbus_g_proxy_call_with_timeout (manager->priv->sd_proxy,
-+ "Hibernate",
-+ INT_MAX,
-+ &error,
-+ G_TYPE_BOOLEAN, TRUE, /* interactive */
-+ G_TYPE_INVALID,
-+ G_TYPE_INVALID);
-+ if (res == FALSE) {
-+ g_warning ("Could not make DBUS call: %s",
-+ error->message);
-+ g_error_free (error);
-+ return FALSE;
-+ }
-+
-+}
-+
-+void
-+gsm_systemd_attempt_suspend (GsmSystemd *manager)
-+{
-+ gboolean res;
-+ GError *error;
-+
-+ error = NULL;
-+
-+ if (!gsm_systemd_ensure_sd_connection (manager, &error)) {
-+ g_warning ("Could not connect to Systemd: %s",
-+ error->message);
-+ g_error_free (error);
-+ return FALSE;
-+ }
-+
-+ res = dbus_g_proxy_call_with_timeout (manager->priv->sd_proxy,
-+ "Suspend",
-+ INT_MAX,
-+ &error,
-+ G_TYPE_BOOLEAN, TRUE, /* interactive */
-+ G_TYPE_INVALID,
-+ G_TYPE_INVALID);
-+ if (res == FALSE) {
-+ g_warning ("Could not make DBUS call: %s",
-+ error->message);
-+ g_error_free (error);
-+ return FALSE;
-+ }
-+}
-+
- gchar *
- gsm_systemd_get_current_session_type (GsmSystemd *manager)
- {
-diff --git a/mate-session/gsm-systemd.h b/mate-session/gsm-systemd.h
-index 8e886ba..e0e21c4 100644
---- a/mate-session/gsm-systemd.h
-+++ b/mate-session/gsm-systemd.h
-@@ -89,10 +89,18 @@ enum _GsmSystemdError {
-
- gboolean gsm_systemd_can_restart (GsmSystemd *manager);
-
-+gboolean gsm_systemd_can_hibernate (GsmSystemd *manager);
-+
-+gboolean gsm_systemd_can_suspend (GsmSystemd *manager);
-+
- void gsm_systemd_attempt_stop (GsmSystemd *manager);
-
- void gsm_systemd_attempt_restart (GsmSystemd *manager);
-
-+void gsm_systemd_attempt_hibernate (GsmSystemd *manager);
-+
-+void gsm_systemd_attempt_suspend (GsmSystemd *manager);
-+
- void gsm_systemd_set_session_idle (GsmSystemd *manager,
- gboolean is_idle);
-
diff --git a/community/mate-session-manager/mate-session-manager.install b/community/mate-session-manager/mate-session-manager.install
index b30edffe9..7af080f58 100644
--- a/community/mate-session-manager/mate-session-manager.install
+++ b/community/mate-session-manager/mate-session-manager.install
@@ -1,6 +1,6 @@
post_install() {
glib-compile-schemas /usr/share/glib-2.0/schemas/
- gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
+ gtk-update-icon-cache -q -t -f /usr/share/icons/hicolor
}
post_upgrade() {