diff options
Diffstat (limited to 'plugins/keyboard')
-rw-r--r-- | plugins/keyboard/msd-keyboard-xkb.c | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/plugins/keyboard/msd-keyboard-xkb.c b/plugins/keyboard/msd-keyboard-xkb.c index b9b5c24..d37ea05 100644 --- a/plugins/keyboard/msd-keyboard-xkb.c +++ b/plugins/keyboard/msd-keyboard-xkb.c @@ -191,11 +191,24 @@ apply_desktop_settings_cb (GSettings *settings, gchar *key, gpointer user_data static void popup_menu_launch_capplet () { + GAppInfo *info; + GdkAppLaunchContext *context; GError *error = NULL; - gdk_spawn_command_line_on_screen (gdk_screen_get_default (), - "mate-keyboard-properties", - &error); + info = g_app_info_create_from_commandline ("mate-keyboard-properties", NULL, 0, &error); + + if (info != NULL) { +# if GTK_CHECK_VERSION (3, 0, 0) + context = gdk_display_get_app_launch_context (gdk_display_get_default ()); +# else + context = gdk_app_launch_context_new (); +# endif + g_app_info_launch (info, NULL, + G_APP_LAUNCH_CONTEXT (context), &error); + + g_object_unref (info); + g_object_unref (context); + } if (error != NULL) { g_warning |