{"action":"created","issue":{"url":"https://api.github.com/repos/mate-desktop/mate-session-manager/issues/124","repository_url":"https://api.github.com/repos/mate-desktop/mate-session-manager","labels_url":"https://api.github.com/repos/mate-desktop/mate-session-manager/issues/124/labels{/name}","comments_url":"https://api.github.com/repos/mate-desktop/mate-session-manager/issues/124/comments","events_url":"https://api.github.com/repos/mate-desktop/mate-session-manager/issues/124/events","html_url":"https://github.com/mate-desktop/mate-session-manager/issues/124","id":161546037,"number":124,"title":"Replace deprecated upower functions with ConsoleKit2","user":{"login":"joakim-tjernlund","id":13720190,"avatar_url":"https://avatars.githubusercontent.com/u/13720190?v=3","gravatar_id":"","url":"https://api.github.com/users/joakim-tjernlund","html_url":"https://github.com/joakim-tjernlund","followers_url":"https://api.github.com/users/joakim-tjernlund/followers","following_url":"https://api.github.com/users/joakim-tjernlund/following{/other_user}","gists_url":"https://api.github.com/users/joakim-tjernlund/gists{/gist_id}","starred_url":"https://api.github.com/users/joakim-tjernlund/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joakim-tjernlund/subscriptions","organizations_url":"https://api.github.com/users/joakim-tjernlund/orgs","repos_url":"https://api.github.com/users/joakim-tjernlund/repos","events_url":"https://api.github.com/users/joakim-tjernlund/events{/privacy}","received_events_url":"https://api.github.com/users/joakim-tjernlund/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":3,"created_at":"2016-06-21T21:39:14Z","updated_at":"2016-06-23T12:24:06Z","closed_at":null,"body":"\r\nFrom d38671081b7196d843fe189e24b5ac40b5d93a43 Mon Sep 17 00:00:00 2001\r\nFrom: Sander Sweers <infirit@gmail.com>\r\nDate: Sun, 17 Apr 2016 15:04:08 +0200\r\nSubject: [PATCH] Replace deprecated upower functions with ConsoleKit2\r\n equivalents\r\n\r\nThis requires ConsoleKit2 version 0.9.2.\r\n---\r\n configure.ac                     |  27 --------\r\n mate-session/Makefile.am         |   2 -\r\n mate-session/gsm-consolekit.c    | 133 +++++++++++++++++++++++++++++++++++++++\r\n mate-session/gsm-consolekit.h    |   8 +++\r\n mate-session/gsm-logout-dialog.c |  32 ++--------\r\n mate-session/gsm-manager.c       |  74 +++++-----------------\r\n 6 files changed, 160 insertions(+), 116 deletions(-)\r\n\r\ndiff --git a/configure.ac b/configure.ac\r\nindex 09c3523..0e1cbd1 100644\r\n--- a/configure.ac\r\n+++ b/configure.ac\r\n@@ -54,7 +54,6 @@ AC_MSG_RESULT([$with_gtk])\r\n GLIB_REQUIRED=2.36.0\r\n GIO_REQUIRED=2.25.0\r\n DBUS_GLIB_REQUIRED=0.76\r\n-UPOWER_REQUIRED=0.9.0\r\n \r\n case \"$with_gtk\" in\r\n   2.0) GTK_API_VERSION=2.0\r\n@@ -135,32 +134,6 @@ AM_CONDITIONAL(HAVE_SYSTEMD, test \"x$use_systemd\" = \"xyes\")\r\n AC_SUBST(HAVE_SYSTEMD)\r\n \r\n dnl ====================================================================\r\n-dnl UPOWER\r\n-dnl ====================================================================\r\n-\r\n-AC_ARG_ENABLE(upower,\r\n-              AS_HELP_STRING([--enable-upower],\r\n-              [Use upower to suspend/hibernate]),\r\n-              enable_upower=$enableval,\r\n-              enable_upower=no)\r\n-if test \"x$enable_upower\" = \"xyes\"; then\r\n-    PKG_CHECK_MODULES([UPOWER], [upower-glib >= $UPOWER_REQUIRED], has_upower=yes, has_upower=no)\r\n-\r\n-    if test \"x$has_upower\" = \"xyes\"; then\r\n-        AC_DEFINE(HAVE_UPOWER, 1, [upower support])\r\n-        AC_SUBST(UPOWER_CFLAGS)\r\n-        AC_SUBST(UPOWER_LIBS)\r\n-    fi\r\n-    PKG_CHECK_MODULES([UPOWER_HIBERNATE], [upower-glib < 0.99], has_upower_hibernate_suspend=yes, has_upower_hibernate_suspend=no)\r\n-    if test \"x$has_upower_hibernate_suspend\" = \"xyes\"; then\r\n-        AC_DEFINE(HAVE_UPOWER_HIBERNATE_SUSPEND, 1, [upower based support for hibernate and suspend (< 0.99)])\r\n-    fi\r\n-\r\n-fi\r\n-AM_CONDITIONAL(HAVE_UPOWER, test \"x$has_upower\" = \"xyes\")\r\n-AC_SUBST(HAVE_UPOWER)\r\n-\r\n-dnl ====================================================================\r\n dnl Check for XSync extension\r\n dnl ====================================================================\r\n \r\ndiff --git a/mate-session/Makefile.am b/mate-session/Makefile.am\r\nindex c6e8d37..4b2e3f1 100644\r\n--- a/mate-session/Makefile.am\r\n+++ b/mate-session/Makefile.am\r\n@@ -7,7 +7,6 @@ noinst_PROGRAMS = \t\t\\\r\n AM_CPPFLAGS =\t\t\t\t\t\\\r\n \t$(MATE_SESSION_CFLAGS)\t\t\\\r\n \t$(SYSTEMD_CFLAGS)\t\t\t\\\r\n-\t$(UPOWER_CFLAGS)\t\t\t\\\r\n \t$(DISABLE_DEPRECATED_CFLAGS)\r\n \r\n AM_CFLAGS = $(WARN_CFLAGS)\r\n@@ -81,7 +80,6 @@ mate_session_LDADD =\t\t\t\t\\\r\n \t$(XEXT_LIBS)\t\t\t\t\\\r\n \t$(MATE_SESSION_LIBS)\t\t\t\\\r\n \t$(SYSTEMD_LIBS)\t\t\t\t\\\r\n-\t$(UPOWER_LIBS)\t\t\t\t\\\r\n \t$(EXECINFO_LIBS)\r\n \r\n libgsmutil_la_SOURCES =\t\t\t\t\\\r\ndiff --git a/mate-session/gsm-consolekit.c b/mate-session/gsm-consolekit.c\r\nindex a008c4c..e7af674 100644\r\n--- a/mate-session/gsm-consolekit.c\r\n+++ b/mate-session/gsm-consolekit.c\r\n@@ -480,6 +480,65 @@ gsm_consolekit_attempt_stop (GsmConsolekit *manager)\r\n         }\r\n }\r\n \r\n+void\r\n+gsm_consolekit_attempt_suspend (GsmConsolekit *manager)\r\n+{\r\n+        gboolean res;\r\n+        GError  *error;\r\n+\r\n+        error = NULL;\r\n+\r\n+        if (!gsm_consolekit_ensure_ck_connection (manager, &error)) {\r\n+                g_warning (\"Could not connect to ConsoleKit: %s\",\r\n+                           error->message);\r\n+                g_error_free (error);\r\n+                return;\r\n+        }\r\n+\r\n+        res = dbus_g_proxy_call_with_timeout (manager->priv->ck_proxy,\r\n+                                              \"Suspend\",\r\n+                                              INT_MAX,\r\n+                                              &error,\r\n+                                              G_TYPE_BOOLEAN, TRUE, /* interactive */\r\n+                                              G_TYPE_INVALID,\r\n+                                              G_TYPE_INVALID);\r\n+\r\n+        if (!res) {\r\n+                g_warning (\"Unable to suspend system: %s\", error->message);\r\n+                g_error_free (error);\r\n+        }\r\n+}\r\n+\r\n+void\r\n+gsm_consolekit_attempt_hibernate (GsmConsolekit *manager)\r\n+{\r\n+        gboolean res;\r\n+        GError  *error;\r\n+\r\n+        error = NULL;\r\n+\r\n+        if (!gsm_consolekit_ensure_ck_connection (manager, &error)) {\r\n+                g_warning (\"Could not connect to ConsoleKit: %s\",\r\n+                           error->message);\r\n+                g_error_free (error);\r\n+                return;\r\n+        }\r\n+\r\n+        res = dbus_g_proxy_call_with_timeout (manager->priv->ck_proxy,\r\n+                                              \"Hibernate\",\r\n+                                              INT_MAX,\r\n+                                              &error,\r\n+                                              G_TYPE_BOOLEAN, TRUE, /* interactive */\r\n+                                              G_TYPE_INVALID,\r\n+                                              G_TYPE_INVALID);\r\n+\r\n+\r\n+        if (!res) {\r\n+                g_warning (\"Unable to hibernate system: %s\", error->message);\r\n+                g_error_free (error);\r\n+        }\r\n+}\r\n+\r\n static gboolean\r\n get_current_session_id (DBusConnection *connection,\r\n                         char          **session_id)\r\n@@ -836,6 +895,80 @@ gsm_consolekit_can_stop (GsmConsolekit *manager)\r\n \treturn can_stop;\r\n }\r\n \r\n+gboolean\r\n+gsm_consolekit_can_suspend (GsmConsolekit *manager)\r\n+{\r\n+        gboolean res;\r\n+        gboolean can_suspend;\r\n+        gchar *retval;\r\n+        GError *error = NULL;\r\n+\r\n+        if (!gsm_consolekit_ensure_ck_connection (manager, &error)) {\r\n+                g_warning (\"Could not connect to ConsoleKit: %s\",\r\n+                           error->message);\r\n+                g_error_free (error);\r\n+                return FALSE;\r\n+        }\r\n+\r\n+        res = dbus_g_proxy_call_with_timeout (manager->priv->ck_proxy,\r\n+                                              \"CanSuspend\",\r\n+                                              INT_MAX,\r\n+                                              &error,\r\n+                                              G_TYPE_INVALID,\r\n+                                              G_TYPE_STRING, &retval,\r\n+                                              G_TYPE_INVALID);\r\n+\r\n+        if (res == FALSE) {\r\n+                g_warning (\"Could not make DBUS call: %s\",\r\n+                           error->message);\r\n+                g_error_free (error);\r\n+                return FALSE;\r\n+        }\r\n+\r\n+        can_suspend = g_strcmp0 (retval, \"yes\") == 0 ||\r\n+                      g_strcmp0 (retval, \"challenge\") == 0;\r\n+\r\n+        g_free (retval);\r\n+        return can_suspend;\r\n+}\r\n+\r\n+gboolean\r\n+gsm_consolekit_can_hibernate (GsmConsolekit *manager)\r\n+{\r\n+        gboolean res;\r\n+        gboolean can_hibernate;\r\n+        gchar *retval;\r\n+        GError *error = NULL;\r\n+\r\n+        if (!gsm_consolekit_ensure_ck_connection (manager, &error)) {\r\n+                g_warning (\"Could not connect to ConsoleKit: %s\",\r\n+                           error->message);\r\n+                g_error_free (error);\r\n+                return FALSE;\r\n+        }\r\n+\r\n+        res = dbus_g_proxy_call_with_timeout (manager->priv->ck_proxy,\r\n+                                              \"CanHibernate\",\r\n+                                              INT_MAX,\r\n+                                              &error,\r\n+                                              G_TYPE_INVALID,\r\n+                                              G_TYPE_STRING, &retval,\r\n+                                              G_TYPE_INVALID);\r\n+\r\n+        if (res == FALSE) {\r\n+                g_warning (\"Could not make DBUS call: %s\",\r\n+                           error->message);\r\n+                g_error_free (error);\r\n+                return FALSE;\r\n+        }\r\n+\r\n+        can_hibernate = g_strcmp0 (retval, \"yes\") == 0 ||\r\n+                        g_strcmp0 (retval, \"challenge\") == 0;\r\n+\r\n+        g_free (retval);\r\n+        return can_hibernate;\r\n+}\r\n+\r\n gchar *\r\n gsm_consolekit_get_current_session_type (GsmConsolekit *manager)\r\n {\r\ndiff --git a/mate-session/gsm-consolekit.h b/mate-session/gsm-consolekit.h\r\nindex 741bde9..3dbb4f8 100644\r\n--- a/mate-session/gsm-consolekit.h\r\n+++ b/mate-session/gsm-consolekit.h\r\n@@ -87,10 +87,18 @@ gboolean         gsm_consolekit_can_stop        (GsmConsolekit *manager);\r\n \r\n gboolean         gsm_consolekit_can_restart     (GsmConsolekit *manager);\r\n \r\n+gboolean         gsm_consolekit_can_suspend     (GsmConsolekit *manager);\r\n+\r\n+gboolean         gsm_consolekit_can_hibernate   (GsmConsolekit *manager);\r\n+\r\n void             gsm_consolekit_attempt_stop    (GsmConsolekit *manager);\r\n \r\n void             gsm_consolekit_attempt_restart (GsmConsolekit *manager);\r\n \r\n+void             gsm_consolekit_attempt_suspend (GsmConsolekit *manager);\r\n+\r\n+void             gsm_consolekit_attempt_hibernate (GsmConsolekit *manager);\r\n+\r\n void             gsm_consolekit_set_session_idle (GsmConsolekit *manager,\r\n                                                   gboolean       is_idle);\r\n \r\ndiff --git a/mate-session/gsm-logout-dialog.c b/mate-session/gsm-logout-dialog.c\r\nindex f53c197..ccb6516 100644\r\n--- a/mate-session/gsm-logout-dialog.c\r\n+++ b/mate-session/gsm-logout-dialog.c\r\n@@ -27,10 +27,6 @@\r\n #include <glib/gi18n.h>\r\n #include <gtk/gtk.h>\r\n \r\n-#ifdef HAVE_UPOWER\r\n-#include <upower.h>\r\n-#endif\r\n-\r\n #include \"gsm-logout-dialog.h\"\r\n #ifdef HAVE_SYSTEMD\r\n #include \"gsm-systemd.h\"\r\n@@ -58,9 +54,6 @@ typedef enum {\r\n struct _GsmLogoutDialogPrivate\r\n {\r\n         GsmDialogLogoutType  type;\r\n-#ifdef HAVE_UPOWER\r\n-        UpClient            *up_client;\r\n-#endif\r\n #ifdef HAVE_SYSTEMD\r\n         GsmSystemd          *systemd;\r\n #endif\r\n@@ -156,9 +149,6 @@ gsm_logout_dialog_init (GsmLogoutDialog *logout_dialog)\r\n         gtk_window_set_skip_taskbar_hint (GTK_WINDOW (logout_dialog), TRUE);\r\n         gtk_window_set_keep_above (GTK_WINDOW (logout_dialog), TRUE);\r\n         gtk_window_stick (GTK_WINDOW (logout_dialog));\r\n-#ifdef HAVE_UPOWER\r\n-        logout_dialog->priv->up_client = up_client_new ();\r\n-#endif\r\n #ifdef HAVE_SYSTEMD\r\n         if (LOGIND_RUNNING())\r\n             logout_dialog->priv->systemd = gsm_get_systemd ();\r\n@@ -185,12 +175,6 @@ gsm_logout_dialog_destroy (GsmLogoutDialog *logout_dialog,\r\n                 g_source_remove (logout_dialog->priv->timeout_id);\r\n                 logout_dialog->priv->timeout_id = 0;\r\n         }\r\n-#ifdef HAVE_UPOWER\r\n-        if (logout_dialog->priv->up_client) {\r\n-                g_object_unref (logout_dialog->priv->up_client);\r\n-                logout_dialog->priv->up_client = NULL;\r\n-        }\r\n-#endif\r\n #ifdef HAVE_SYSTEMD\r\n         if (logout_dialog->priv->systemd) {\r\n                 g_object_unref (logout_dialog->priv->systemd);\r\n@@ -214,12 +198,8 @@ gsm_logout_supports_system_suspend (GsmLogoutDialog *logout_dialog)\r\n #ifdef HAVE_SYSTEMD\r\n         if (LOGIND_RUNNING())\r\n             ret = gsm_systemd_can_suspend (logout_dialog->priv->systemd);\r\n-#endif\r\n-#if defined(HAVE_SYSTEMD) && defined(HAVE_UPOWER_HIBERNATE_SUSPEND)\r\n-        else\r\n-#endif\r\n-#ifdef HAVE_UPOWER_HIBERNATE_SUSPEND\r\n-        ret = up_client_get_can_suspend (logout_dialog->priv->up_client);\r\n+#else\r\n+\tret = gsm_consolekit_can_suspend (logout_dialog->priv->consolekit);\r\n #endif\r\n         return ret;\r\n }\r\n@@ -232,12 +212,8 @@ gsm_logout_supports_system_hibernate (GsmLogoutDialog *logout_dialog)\r\n #ifdef HAVE_SYSTEMD\r\n         if (LOGIND_RUNNING())\r\n             ret = gsm_systemd_can_hibernate (logout_dialog->priv->systemd);\r\n-#endif\r\n-#if defined(HAVE_SYSTEMD) && defined(HAVE_UPOWER_HIBERNATE_SUSPEND)\r\n-        else\r\n-#endif\r\n-#ifdef HAVE_UPOWER_HIBERNATE_SUSPEND\r\n-        ret = up_client_get_can_hibernate (logout_dialog->priv->up_client);\r\n+#else\r\n+        ret = gsm_consolekit_can_hibernate (logout_dialog->priv->consolekit);\r\n #endif\r\n         return ret;\r\n }\r\ndiff --git a/mate-session/gsm-manager.c b/mate-session/gsm-manager.c\r\nindex 7370153..1548288 100644\r\n--- a/mate-session/gsm-manager.c\r\n+++ b/mate-session/gsm-manager.c\r\n@@ -38,10 +38,6 @@\r\n #include <dbus/dbus-glib.h>\r\n #include <dbus/dbus-glib-lowlevel.h>\r\n \r\n-#ifdef HAVE_UPOWER\r\n-#include <upower.h>\r\n-#endif\r\n-\r\n #include <gtk/gtk.h> /* for logout dialog */\r\n #include <gio/gio.h> /* for gsettings */\r\n \r\n@@ -150,10 +146,6 @@ struct GsmManagerPrivate\r\n \r\n         DBusGProxy             *bus_proxy;\r\n         DBusGConnection        *connection;\r\n-#ifdef HAVE_UPOWER\r\n-        /* Interface with other parts of the system */\r\n-        UpClient               *up_client;\r\n-#endif\r\n };\r\n \r\n enum {\r\n@@ -1178,26 +1170,16 @@ manager_attempt_hibernate (GsmManager *manager)\r\n \r\n                 gsm_systemd_attempt_hibernate (systemd);\r\n         }\r\n-#endif\r\n-#if defined(HAVE_SYSTEMD) && defined(HAVE_UPOWER_HIBERNATE_SUSPEND)\r\n-        else {\r\n-#endif\r\n-#ifdef HAVE_UPOWER_HIBERNATE_SUSPEND\r\n-        gboolean can_hibernate = up_client_get_can_hibernate (manager->priv->up_client);\r\n+#else\r\n+\tGsmConsolekit *consolekit;\r\n+\tconsolekit = gsm_get_consolekit ();\r\n+\r\n+        gboolean can_hibernate = gsm_consolekit_can_hibernate (consolekit);\r\n         if (can_hibernate) {\r\n                 /* lock the screen before we suspend */\r\n                 manager_perhaps_lock (manager);\r\n \r\n-                GError *error = NULL;\r\n-                gboolean ret = up_client_hibernate_sync (manager->priv->up_client, NULL, &error);\r\n-                if (!ret) {\r\n-                        g_warning (\"Unexpected hibernate failure: %s\",\r\n-                                   error->message);\r\n-                        g_error_free (error);\r\n-                }\r\n-        }\r\n-#endif\r\n-#if defined(HAVE_SYSTEMD) && defined(HAVE_UPOWER_HIBERNATE_SUSPEND)\r\n+                gsm_consolekit_attempt_hibernate (consolekit);\r\n         }\r\n #endif\r\n }\r\n@@ -1217,27 +1199,18 @@ manager_attempt_suspend (GsmManager *manager)\r\n \r\n                 gsm_systemd_attempt_suspend (systemd);\r\n         }\r\n-#endif\r\n-#if defined(HAVE_SYSTEMD) && defined(HAVE_UPOWER_HIBERNATE_SUSPEND)\r\n-        else {\r\n-#endif\r\n-#ifdef HAVE_UPOWER_HIBERNATE_SUSPEND\r\n-        gboolean can_suspend = up_client_get_can_suspend (manager->priv->up_client);\r\n+#else\r\n+\tGsmConsolekit *consolekit;\r\n+\tconsolekit = gsm_get_consolekit ();\r\n+\r\n+        gboolean can_suspend = gsm_consolekit_can_suspend (consolekit);\r\n         if (can_suspend) {\r\n                 /* lock the screen before we suspend */\r\n                 manager_perhaps_lock (manager);\r\n \r\n-                GError *error = NULL;\r\n-                gboolean ret = up_client_suspend_sync (manager->priv->up_client, NULL, &error);\r\n-                if (!ret) {\r\n-                        g_warning (\"Unexpected suspend failure: %s\",\r\n-                                   error->message);\r\n-                        g_error_free (error);\r\n-                }\r\n-        }\r\n-#endif\r\n-#if defined(HAVE_SYSTEMD) && defined(HAVE_UPOWER_HIBERNATE_SUSPEND)\r\n+                gsm_consolekit_attempt_suspend (consolekit);\r\n         }\r\n+\r\n #endif\r\n }\r\n \r\n@@ -2452,12 +2425,6 @@ gsm_manager_dispose (GObject *object)\r\n                 g_object_unref (manager->priv->settings_screensaver);\r\n                 manager->priv->settings_screensaver = NULL;\r\n         }\r\n-#ifdef HAVE_UPOWER\r\n-        if (manager->priv->up_client != NULL) {\r\n-                g_object_unref (manager->priv->up_client);\r\n-                manager->priv->up_client = NULL;\r\n-        }\r\n-#endif\r\n         G_OBJECT_CLASS (gsm_manager_parent_class)->dispose (object);\r\n }\r\n \r\n@@ -2664,9 +2631,6 @@ gsm_manager_init (GsmManager *manager)\r\n                           \"status-changed\",\r\n                           G_CALLBACK (on_presence_status_changed),\r\n                           manager);\r\n-#ifdef HAVE_UPOWER\r\n-        manager->priv->up_client = up_client_new ();\r\n-#endif\r\n         g_signal_connect (manager->priv->settings_session,\r\n                           \"changed\",\r\n                           G_CALLBACK (on_gsettings_key_changed),\r\n@@ -3376,14 +3340,6 @@ gsm_manager_can_shutdown (GsmManager *manager,\r\n #ifdef HAVE_SYSTEMD\r\n         GsmSystemd *systemd;\r\n #endif\r\n-        gboolean can_suspend = FALSE;\r\n-        gboolean can_hibernate = FALSE;\r\n-#ifdef HAVE_UPOWER\r\n-        g_object_get (manager->priv->up_client,\r\n-                      \"can-suspend\", &can_suspend,\r\n-                      \"can-hibernate\", &can_hibernate,\r\n-                      NULL);\r\n-#endif\r\n         g_debug (\"GsmManager: CanShutdown called\");\r\n \r\n         g_return_val_if_fail (GSM_IS_MANAGER (manager), FALSE);\r\n@@ -3403,8 +3359,8 @@ gsm_manager_can_shutdown (GsmManager *manager,\r\n         *shutdown_available = !_log_out_is_locked_down (manager) &&\r\n \t                      (gsm_consolekit_can_stop (consolekit)\r\n                                || gsm_consolekit_can_restart (consolekit)\r\n-                               || can_suspend\r\n-                               || can_hibernate);\r\n+                               || gsm_consolekit_can_suspend (consolekit)\r\n+                               || gsm_consolekit_can_hibernate (consolekit));\r\n         g_object_unref (consolekit);\r\n #ifdef HAVE_SYSTEMD\r\n         }\r\n-- \r\n2.8.1\r\n"},"comment":{"url":"https://api.github.com/repos/mate-desktop/mate-session-manager/issues/comments/228033659","html_url":"https://github.com/mate-desktop/mate-session-manager/issues/124#issuecomment-228033659","issue_url":"https://api.github.com/repos/mate-desktop/mate-session-manager/issues/124","id":228033659,"user":{"login":"joakim-tjernlund","id":13720190,"avatar_url":"https://avatars.githubusercontent.com/u/13720190?v=3","gravatar_id":"","url":"https://api.github.com/users/joakim-tjernlund","html_url":"https://github.com/joakim-tjernlund","followers_url":"https://api.github.com/users/joakim-tjernlund/followers","following_url":"https://api.github.com/users/joakim-tjernlund/following{/other_user}","gists_url":"https://api.github.com/users/joakim-tjernlund/gists{/gist_id}","starred_url":"https://api.github.com/users/joakim-tjernlund/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/joakim-tjernlund/subscriptions","organizations_url":"https://api.github.com/users/joakim-tjernlund/orgs","repos_url":"https://api.github.com/users/joakim-tjernlund/repos","events_url":"https://api.github.com/users/joakim-tjernlund/events{/privacy}","received_events_url":"https://api.github.com/users/joakim-tjernlund/received_events","type":"User","site_admin":false},"created_at":"2016-06-23T12:24:06Z","updated_at":"2016-06-23T12:24:06Z","body":"It is what the tree at github is called but I think all distros just calls it consolekit.\n\n\nSent from my Samsung Galaxy smartphone.\n\n\n-------- Original message --------\nFrom: monsta <notifications@github.com>\nDate: 23/06/2016 13:52 (GMT+01:00)\nTo: mate-desktop/mate-session-manager <mate-session-manager@noreply.github.com>\nCc: Joakim Tjernlund <Joakim.Tjernlund@infinera.com>, Author <author@noreply.github.com>\nSubject: Re: [mate-desktop/mate-session-manager] Replace deprecated upower functions with ConsoleKit2 (#124)\n\n\nConsoleKit2? Which distros have it?\n\n-\nYou are receiving this because you authored the thread.\nReply to this email directly, view it on GitHub<https://github.com/mate-desktop/mate-session-manager/issues/124#issuecomment-228027313>, or mute the thread<https://github.com/notifications/unsubscribe/ANFafsJmFf7sgNdLtBasjbLoMx-5Bca7ks5qOnOagaJpZM4I7Mzv>.\n"}}
{"actor":{"display_login":"joakim-tjernlund"}}