[Xfce4-commits] <xfce4-settings:bluesabre/display-settings> Keep the shortcut dialog above other windows.

Jérôme Guelfucci noreply at xfce.org
Mon Dec 9 12:59:15 CET 2013


Updating branch refs/heads/bluesabre/display-settings
         to a04edfc41ab2035383793ca8315e2e61351108c2 (commit)
       from 908e44ea981b845092ef99630d4e4705a35e0f01 (commit)

commit a04edfc41ab2035383793ca8315e2e61351108c2
Author: Jérôme Guelfucci <jeromeg at xfce.org>
Date:   Tue Dec 18 22:20:52 2012 +0100

    Keep the shortcut dialog above other windows.
    
    This dialog grabs the keyboard which makes it unusable in other
    applications, so keeping the window above the other gives a hint on what
    is happening.

 dialogs/keyboard-settings/xfce-keyboard-settings.c |   11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/dialogs/keyboard-settings/xfce-keyboard-settings.c b/dialogs/keyboard-settings/xfce-keyboard-settings.c
index 5e7a01d..34ae50e 100644
--- a/dialogs/keyboard-settings/xfce-keyboard-settings.c
+++ b/dialogs/keyboard-settings/xfce-keyboard-settings.c
@@ -662,6 +662,12 @@ xfce_keyboard_settings_edit_shortcut (XfceKeyboardSettings *settings,
       /* Request a new shortcut from the user */
       dialog = xfce_shortcut_dialog_new ("commands", command, command);
       g_signal_connect (dialog, "validate-shortcut", G_CALLBACK (xfce_keyboard_settings_validate_shortcut), settings);
+
+      /* Try to keep the window above as it grabs the keyboard, we don't
+       * want users to wonder why the keyboard does not work in another
+       * window */
+      gtk_window_set_keep_above (GTK_WINDOW (dialog), TRUE);
+
       response = xfce_shortcut_dialog_run (XFCE_SHORTCUT_DIALOG (dialog), gtk_widget_get_toplevel (GTK_WIDGET (tree_view)));
 
       if (G_LIKELY (response == GTK_RESPONSE_OK))
@@ -974,6 +980,11 @@ xfce_keyboard_settings_add_button_clicked (XfceKeyboardSettings *settings,
       shortcut_dialog = xfce_shortcut_dialog_new ("commands", command, command);
       g_signal_connect (shortcut_dialog, "validate-shortcut", G_CALLBACK (xfce_keyboard_settings_validate_shortcut), settings);
 
+      /* Try to keep the window above as it grabs the keyboard, we don't
+       * want users to wonder why the keyboard does not work in another
+       * window */
+      gtk_window_set_keep_above (GTK_WINDOW (shortcut_dialog), TRUE);
+
       /* Run shortcut dialog until a valid shortcut is entered or the dialog is cancelled */
       parent = gtk_builder_get_object (GTK_BUILDER (settings), "keyboard-shortcuts-dialog");
       response = xfce_shortcut_dialog_run (XFCE_SHORTCUT_DIALOG (shortcut_dialog), GTK_WIDGET (parent));


More information about the Xfce4-commits mailing list