FWIW, here's the patch. -- Jonny Lamb, UK jo...@debian.org
>From 6b95357e183d3d2b15e5a5a66f8027d828af1e4c Mon Sep 17 00:00:00 2001 From: Jonny Lamb <jo...@debian.org> Date: Wed, 12 May 2010 15:38:58 +0100 Subject: [PATCH] Use gtk_show_uri instead of trying to spawn nautilus.
Signed-off-by: Jonny Lamb <jo...@debian.org> --- src/synce-trayicon.c | 17 ++++++----------- 1 files changed, 6 insertions(+), 11 deletions(-) diff --git a/src/synce-trayicon.c b/src/synce-trayicon.c index af66f21..fa940d1 100644 --- a/src/synce-trayicon.c +++ b/src/synce-trayicon.c @@ -798,25 +798,20 @@ static void menu_explore (GtkWidget *menu_item, SynceTrayIcon *self) { const gchar *name = NULL; - gchar *arg_str = NULL; + gchar *uri = NULL; GError *error = NULL; GtkWidget *device_menu = gtk_widget_get_parent(menu_item); name = gtk_menu_get_title(GTK_MENU(device_menu)); - arg_str = g_strdup_printf("synce://%s/", name); - - char *argv[4] = { - "nautilus", "-n", arg_str, NULL - }; - - if (!g_spawn_async(NULL, argv, NULL, G_SPAWN_SEARCH_PATH, NULL, NULL, NULL, &error)) { - g_warning("%s: failed to explore '%s': %s", G_STRFUNC, arg_str, error->message); + uri = g_strdup_printf("synce://%s/", name); + + if (!gtk_show_uri(gtk_widget_get_screen(menu_item), uri, gtk_get_current_event_time (), &error)) { + g_warning("%s: failed to explore '%s': %s", G_STRFUNC, uri, error->message); g_error_free(error); - return; } - g_free(arg_str); + g_free(uri); } static void -- 1.7.0.4