[Xfce4-commits] <xfce4-settings:master> Use new sm client in libxfce4ui.

Nick Schermer noreply at xfce.org
Sun Oct 18 13:04:01 CEST 2009


Updating branch refs/heads/master
         to 80cc5c9662fad30478c7b2060b3b157276f25b08 (commit)
       from 55aeba594cd29deb9afcc152cc830a5835ff7924 (commit)

commit 80cc5c9662fad30478c7b2060b3b157276f25b08
Author: Nick Schermer <nick at xfce.org>
Date:   Sun Oct 18 13:03:05 2009 +0200

    Use new sm client in libxfce4ui.

 configure.ac.in                   |    1 -
 xfce4-settings-helper/Makefile.am |    2 --
 xfce4-settings-helper/main.c      |   22 +++++++++++++---------
 3 files changed, 13 insertions(+), 12 deletions(-)

diff --git a/configure.ac.in b/configure.ac.in
index 1dd7626..ab344b6 100644
--- a/configure.ac.in
+++ b/configure.ac.in
@@ -78,7 +78,6 @@ XDT_CHECK_PACKAGE([GLIB], [glib-2.0], [2.16.0])
 XDT_CHECK_PACKAGE([LIBXFCE4UTIL], [libxfce4util-1.0], [4.6.0])
 XDT_CHECK_PACKAGE([LIBXFCE4UI], [libxfce4ui-1], [4.7.0])
 XDT_CHECK_PACKAGE([LIBXFCE4KBD_PRIVATE], [libxfce4kbd-private-2], [4.7.0])
-XDT_CHECK_PACKAGE([LIBXFCE4SMCLIENT_PRIVATE], [libxfce4smclient-private-1], [4.7.0])
 XDT_CHECK_PACKAGE([XFCONF], [libxfconf-0], [4.6.0])
 XDT_CHECK_PACKAGE([DBUS_GLIB], [dbus-glib-1], [0.34])
 XDT_CHECK_PACKAGE([LIBWNCK], [libwnck-1.0], [2.12.0])
diff --git a/xfce4-settings-helper/Makefile.am b/xfce4-settings-helper/Makefile.am
index 5283020..57d2826 100644
--- a/xfce4-settings-helper/Makefile.am
+++ b/xfce4-settings-helper/Makefile.am
@@ -40,7 +40,6 @@ xfce4_settings_helper_CFLAGS = \
 	$(LIBXFCE4UTIL_CFLAGS) \
 	$(LIBXFCE4UI_CFLAGS) \
 	$(LIBXFCE4KBD_PRIVATE_CFLAGS) \
-	$(LIBXFCE4SMCLIENT_PRIVATE_CFLAGS) \
 	$(LIBXKLAVIER_CFLAGS) \
 	$(XI_CFLAGS) \
 	$(LIBX11_CFLAGS) \
@@ -61,7 +60,6 @@ xfce4_settings_helper_LDADD = \
 	$(LIBXFCE4UTIL_LIBS) \
 	$(LIBXFCE4UI_LIBS) \
 	$(LIBXFCE4KBD_PRIVATE_LIBS) \
-	$(LIBXFCE4SMCLIENT_PRIVATE_LIBS) \
 	$(LIBXKLAVIER_LIBS) \
 	$(XI_LIBS) \
 	$(LIBX11_LIBS) \
diff --git a/xfce4-settings-helper/main.c b/xfce4-settings-helper/main.c
index b250a4d..9b8bb6c 100644
--- a/xfce4-settings-helper/main.c
+++ b/xfce4-settings-helper/main.c
@@ -48,7 +48,6 @@
 #include <xfconf/xfconf.h>
 #include <libxfce4util/libxfce4util.h>
 #include <libxfce4ui/libxfce4ui.h>
-#include <libxfce4smclient-private/eggsmclient.h>
 
 #include "accessibility.h"
 #include "pointers.h"
@@ -68,7 +67,7 @@ static GdkFilterReturn xfce_settings_helper_selection_watcher (GdkXEvent *xevt,
                                                                gpointer user_data);
 
 
-static EggSMClient *sm_client = NULL;
+static XfceSMClient *sm_client = NULL;
 
 static gboolean opt_version = FALSE;
 static gboolean opt_debug = FALSE;
@@ -136,8 +135,8 @@ xfce_settings_helper_selection_watcher (GdkXEvent *xevt,
 
     if (xe->type == SelectionClear && xe->xclient.window == xwin)
     {
-        /*if (sm_client)
-            client_session_set_restart_style (sm_client, SESSION_RESTART_IF_RUNNING);*/
+        if (sm_client)
+            xfce_sm_client_set_restart_style (sm_client, XFCE_SM_CLIENT_RESTART_NORMAL);
         gtk_main_quit ();
     }
 
@@ -232,7 +231,7 @@ main (gint argc, gchar **argv)
     context = g_option_context_new (NULL);
     g_option_context_add_main_entries (context, option_entries, GETTEXT_PACKAGE);
     g_option_context_add_group (context, gtk_get_option_group (FALSE));
-    g_option_context_add_group (context, egg_sm_client_get_option_group ());
+    g_option_context_add_group (context, xfce_sm_client_get_option_group (argc, argv));
 
     /* initialize gtk */
     gtk_init (&argc, &argv);
@@ -279,11 +278,16 @@ main (gint argc, gchar **argv)
 
     /* connect to session always, even if we quit below.  this way the
      * session manager won't wait for us to time out. */
-    egg_sm_client_set_mode(EGG_SM_CLIENT_MODE_RESTART_IMMEDIATELY);
-    sm_client = egg_sm_client_get ();
+    sm_client = xfce_sm_client_get ();
+    xfce_sm_client_set_restart_style (sm_client, XFCE_SM_CLIENT_RESTART_IMMEDIATELY);
     g_signal_connect (G_OBJECT (sm_client), "quit", G_CALLBACK (gtk_main_quit), NULL);
-    in_session = egg_sm_client_is_resumed (sm_client);
-
+    if (!xfce_sm_client_connect (sm_client, &error) && error)
+    {
+        g_printerr ("Failed to connect to session manager: %s\n", error->message);
+        g_error_free (error);
+    }
+    
+    in_session = xfce_sm_client_is_resumed (sm_client);
     if (!xfce_settings_helper_acquire_selection (in_session))
     {
         g_printerr ("%s is already running\n", G_LOG_DOMAIN);



More information about the Xfce4-commits mailing list