[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