Updating branch refs/heads/master to 771544d326e7335922bc3cb9b5e2900085e6e0db (commit) from 45fd97a2ab1751f5d933595a864ea6278380d7a7 (commit)
commit 771544d326e7335922bc3cb9b5e2900085e6e0db Author: Jérôme Guelfucci <jero...@xfce.org> Date: Fri Jan 22 18:22:19 2010 +0100 Replace xfce_gdk_screen_get_fullname with custom code. This function has not been implemented in libxfce4ui because xfce4-session is the only application to use. Copy and adapt the code from libxfcegui4. libxfsm/xfsm-util.c | 39 ++++++++++++++++++++++++++++++++++++++- 1 files changed, 38 insertions(+), 1 deletions(-) diff --git a/libxfsm/xfsm-util.c b/libxfsm/xfsm-util.c index d664d9e..1a76a79 100644 --- a/libxfsm/xfsm-util.c +++ b/libxfsm/xfsm-util.c @@ -75,7 +75,44 @@ xfsm_start_application (gchar **command, if (screen != NULL) { if (client_machine != NULL) - screen_name = xfce_gdk_screen_get_fullname (screen); + { + 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, + gdk_screen_get_number (screen)); + } else screen_name = gdk_screen_make_display_name (screen); argv[argc++] = g_strdup ("env"); _______________________________________________ Xfce4-commits mailing list Xfce4-commits@xfce.org http://foo-projects.org/mailman/listinfo/xfce4-commits