--- xfce4-session-systemd.no-worky.patch 2012-10-15 01:51:03.000000000 +0300 +++ xfce4-session-4.10.0-add-systemd-support.patch 2012-10-15 01:48:46.000000000 +0300 @@ -35,7 +35,7 @@ index 4076586..90e7873 100644 +#define SYSTEMD_DBUS_PATH "/org/freedesktop/login1" +#define SYSTEMD_DBUS_INTERFACE "org.freedesktop.login1.Manager" +#define SYSTEMD_REBOOT_ACTION "org.freedesktop.login1.reboot" -+#define SYSTEMD_SHUTDOWN_ACTION "org.freedesktop.login1.shutdown" ++#define SYSTEMD_SHUTDOWN_ACTION "org.freedesktop.login1.power-off" + +struct _SystemdProxy { + PolkitAuthority *authority; @@ -50,7 +50,7 @@ index 4076586..90e7873 100644 + proxy = g_new0 (SystemdProxy, 1); + + proxy->authority = polkit_authority_get_sync (NULL, NULL); -+ proxy->subject = polkit_unix_session_new_for_process_sync (getpid(), NULL, NULL); ++ proxy->subject = polkit_unix_process_new (getpid()); + + return proxy; +} @@ -105,13 +105,13 @@ index 4076586..90e7873 100644 + GDBusConnection *bus; + + bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL); -+ g_dbus_connection_call (bus, -+ SYSTEMD_DBUS_NAME, -+ SYSTEMD_DBUS_PATH, -+ SYSTEMD_DBUS_INTERFACE, -+ method, -+ g_variant_new ("(b)", TRUE), -+ NULL, 0, G_MAXINT, NULL, NULL, NULL); ++ g_dbus_connection_call_sync (bus, ++ SYSTEMD_DBUS_NAME, ++ SYSTEMD_DBUS_PATH, ++ SYSTEMD_DBUS_INTERFACE, ++ method, ++ g_variant_new ("(b)", TRUE), ++ NULL, 0, G_MAXINT, NULL, NULL); + g_object_unref (bus); + + return TRUE; @@ -119,12 +119,12 @@ index 4076586..90e7873 100644 + +gboolean systemd_proxy_restart (SystemdProxy *proxy, GError **error) +{ -+ return systemd_proxy_method(proxy, "Restart", error); ++ return systemd_proxy_method(proxy, "Reboot", error); +} + +gboolean systemd_proxy_shutdown (SystemdProxy *proxy, GError **error) +{ -+ return systemd_proxy_method(proxy, "Shutdown", error); ++ return systemd_proxy_method(proxy, "PowerOff", error); +} diff --git a/xfce4-session/xfsm-systemd.h b/xfce4-session/xfsm-systemd.h index 3fa8317..2c4d868 100644