summaryrefslogtreecommitdiff
path: root/eel/eel-mate-extensions.c
diff options
context:
space:
mode:
Diffstat (limited to 'eel/eel-mate-extensions.c')
-rw-r--r--eel/eel-mate-extensions.c17
1 files changed, 17 insertions, 0 deletions
diff --git a/eel/eel-mate-extensions.c b/eel/eel-mate-extensions.c
index 77f8eaff..f1974397 100644
--- a/eel/eel-mate-extensions.c
+++ b/eel/eel-mate-extensions.c
@@ -194,7 +194,24 @@ eel_mate_open_terminal_on_screen (const char *command,
g_message ("Could not start a terminal");
return;
}
+#if GTK_CHECK_VERSION (3, 0, 0)
+ GdkAppLaunchContext *launch_context;
+ GAppInfo *app_info = NULL;
+ app_info = g_app_info_create_from_commandline (command_line,
+ NULL,
+ G_APP_INFO_CREATE_NONE,
+ NULL);
+ if (app_info != NULL)
+ {
+ 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), NULL);
+ g_object_unref (launch_context);
+ g_object_unref (app_info);
+ }
+#else
gdk_spawn_command_line_on_screen (screen, command_line, NULL);
+#endif
g_free (command_line);
}