From 65d5750a3bb2805e71f71bbce381b53174288e1e Mon Sep 17 00:00:00 2001 From: infirit Date: Thu, 27 Nov 2014 17:08:43 +0100 Subject: Use GAppInfo Taken from gnome-applets commit: a03597db6ce640e2b21b8a24559c01cf943f04c9 From: Kjartan Maraas --- multiload/main.c | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/multiload/main.c b/multiload/main.c index 72edd44f..327a36b6 100644 --- a/multiload/main.c +++ b/multiload/main.c @@ -101,6 +101,9 @@ start_procman (MultiloadApplet *ma) GError *error = NULL; GDesktopAppInfo *appinfo; gchar *monitor; + GdkAppLaunchContext *launch_context; + GAppInfo *app_info; + GdkScreen *screen; g_return_if_fail (ma != NULL); @@ -108,6 +111,7 @@ start_procman (MultiloadApplet *ma) if (monitor == NULL) monitor = g_strdup ("mate-system-monitor.desktop"); + screen = gtk_widget_get_screen (GTK_WIDGET (ma->applet)); appinfo = g_desktop_app_info_new (monitor); if (appinfo) { GdkScreen *screen; @@ -120,9 +124,18 @@ start_procman (MultiloadApplet *ma) g_object_unref (appinfo); } else { - gdk_spawn_command_line_on_screen ( - gtk_widget_get_screen (GTK_WIDGET (ma->applet)), - "mate-system-monitor", &error); + app_info = g_app_info_create_from_commandline ("mate-system-monitor", + _("Start system-monitor"), + G_APP_INFO_CREATE_NONE, + &error); + + if (!error) { + launch_context = gdk_app_launch_context_new (); + gdk_app_launch_context_set_screen (launch_context, screen); + g_app_info_launch (app_info, NULL, G_APP_LAUNCH_CONTEXT (launch_context), &error); + + g_object_unref (launch_context); + } } g_free (monitor); -- cgit v1.2.1