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

Reply via email to