[Xfce4-commits] <xfce4-session:jeromeg/libxfce4ui> Add a local function to get the display full name.

Jérôme Guelfucci noreply at xfce.org
Fri Jan 22 23:56:04 CET 2010


Updating branch refs/heads/jeromeg/libxfce4ui
         to fbb21f161b545bf6b3852858fa24a13a647cd219 (commit)
       from 76f117847b849e5d91ece6432586e92d03c9a273 (commit)

commit fbb21f161b545bf6b3852858fa24a13a647cd219
Author: Jérôme Guelfucci <jeromeg at xfce.org>
Date:   Fri Jan 22 23:51:36 2010 +0100

    Add a local function to get the display full name.

 libxfsm/xfsm-util.c          |   78 +++++++++++++++++++++++-------------------
 libxfsm/xfsm-util.h          |    3 ++
 xfce4-session/shutdown.c     |    2 +-
 xfce4-session/xfsm-global.c  |    2 +-
 xfce4-session/xfsm-manager.c |    2 +-
 5 files changed, 49 insertions(+), 38 deletions(-)

diff --git a/libxfsm/xfsm-util.c b/libxfsm/xfsm-util.c
index 1a76a79..2639153 100644
--- a/libxfsm/xfsm-util.c
+++ b/libxfsm/xfsm-util.c
@@ -76,41 +76,10 @@ xfsm_start_application (gchar      **command,
     {
       if (client_machine != NULL)
         {
-          const gchar *name;
-          const gchar *np;
-          GdkDisplay  *display;
-          gchar       *hostname;
-          gchar        buffer[256];
-          gchar       *bp;
-
-          display = gdk_screen_get_display (screen);
-
-          name = gdk_display_get_name (display);
-          if (*name == ':')
-            {
-              hostname = xfce_gethostname ();
-              g_strlcpy (buffer, hostname, 256);
-              g_free (hostname);
-
-              bp = buffer + strlen (buffer);
-
-              for (np = name; *np != '\0' && *np != '.' && bp < buffer + 255; )
-                *bp++ = *np++;
-              *bp = '\0';
-            }
-          else
-            {
-              g_strlcpy (buffer, name, 256);
-
-              for (bp = buffer + strlen (buffer) - 1; *bp != ':'; --bp)
-                if (*bp == '.')
-                  {
-                    *bp = '\0';
-                    break;
-                  }
-            }
-
-          screen_name = g_strdup_printf ("%s.%d", buffer,
+          gchar *display_name =
+            xfsm_gdk_display_get_fullname (gdk_screen_get_display (screen));
+
+          screen_name = g_strdup_printf ("%s.%d", display_name,
                                          gdk_screen_get_number (screen));
         }
       else
@@ -225,3 +194,42 @@ xfsm_open_config (void)
   return xfconf_channel_get ("xfce4-session");
 }
 
+gchar*
+xfsm_gdk_display_get_fullname (GdkDisplay *display)
+{
+  const gchar *name;
+  const gchar *np;
+  gchar       *hostname;
+  gchar        buffer[256];
+  gchar       *bp;
+
+  g_return_val_if_fail (GDK_IS_DISPLAY (display), NULL);
+
+  name = gdk_display_get_name (display);
+  if (*name == ':')
+    {
+      hostname = xfce_gethostname ();
+      g_strlcpy (buffer, hostname, 256);
+      g_free (hostname);
+
+      bp = buffer + strlen (buffer);
+
+      for (np = name; *np != '\0' && *np != '.' && bp < buffer + 255; )
+        *bp++ = *np++;
+      *bp = '\0';
+    }
+  else
+    {
+      g_strlcpy (buffer, name, 256);
+
+      for (bp = buffer + strlen (buffer) - 1; *bp != ':'; --bp)
+        if (*bp == '.')
+          {
+            *bp = '\0';
+            break;
+          }
+    }
+
+  return g_strdup (buffer);
+}
+
diff --git a/libxfsm/xfsm-util.h b/libxfsm/xfsm-util.h
index d479bee..d7b9d9b 100644
--- a/libxfsm/xfsm-util.h
+++ b/libxfsm/xfsm-util.h
@@ -50,6 +50,9 @@ void xfsm_window_grab_input (GtkWindow *window);
 
 XfconfChannel *xfsm_open_config (void);
 
+gchar *xfsm_gdk_display_get_fullname (GdkDisplay *display);
+
+
 G_END_DECLS;
 
 #endif /* !__XFSM_UTIL_H__ */
diff --git a/xfce4-session/shutdown.c b/xfce4-session/shutdown.c
index 96252e8..5853604 100644
--- a/xfce4-session/shutdown.c
+++ b/xfce4-session/shutdown.c
@@ -96,7 +96,7 @@ screenshot_save (const gchar *session_name, GdkPixmap *pm, GdkRectangle *area)
         {
           /* determine thumb file */
           dpy = gdk_drawable_get_display (GDK_DRAWABLE (pm));
-          display_name = xfce_gdk_display_get_fullname (dpy);
+          display_name = xfsm_gdk_display_get_fullname (dpy);
           resource = g_strconcat ("sessions/thumbs-", display_name,
                                   "/", session_name, ".png", NULL);
           filename = xfce_resource_save_location (XFCE_RESOURCE_CACHE,
diff --git a/xfce4-session/xfsm-global.c b/xfce4-session/xfsm-global.c
index 9d6a434..9aa98d0 100644
--- a/xfce4-session/xfsm-global.c
+++ b/xfce4-session/xfsm-global.c
@@ -150,7 +150,7 @@ xfsm_load_session_preview (const gchar *name)
 
   /* determine thumb file */
   display = gdk_display_get_default ();
-  display_name = xfce_gdk_display_get_fullname (display);
+  display_name = xfsm_gdk_display_get_fullname (display);
   resource = g_strconcat ("sessions/thumbs-", display_name,
                           "/", name, ".png", NULL);
   filename = xfce_resource_save_location (XFCE_RESOURCE_CACHE, resource, TRUE);
diff --git a/xfce4-session/xfsm-manager.c b/xfce4-session/xfsm-manager.c
index 4f9e60e..6aa3543 100644
--- a/xfce4-session/xfsm-manager.c
+++ b/xfce4-session/xfsm-manager.c
@@ -726,7 +726,7 @@ xfsm_manager_load (XfsmManager   *manager,
   manager->compat_gnome = xfconf_channel_get_bool (channel, "/compat/LaunchGNOME", FALSE);
   manager->compat_kde = xfconf_channel_get_bool (channel, "/compat/LaunchKDE", FALSE);
 
-  display_name  = xfce_gdk_display_get_fullname (gdk_display_get_default ());
+  display_name  = xfsm_gdk_display_get_fullname (gdk_display_get_default ());
 
 #ifdef HAVE_OS_CYGWIN
   /* rename a colon (:) to a hash (#) under cygwin. windows doesn't like



More information about the Xfce4-commits mailing list