summaryrefslogtreecommitdiff
path: root/openbox/action.c
diff options
context:
space:
mode:
authorDana Jansens <danakj@orodu.net>2007-05-26 22:13:34 +0000
committerDana Jansens <danakj@orodu.net>2007-05-26 22:13:34 +0000
commit5e9e266722826fbd5907df1bf900864ab23f6539 (patch)
tree8750a5187dd73edaa93433be6d8d5c459abd6aaa /openbox/action.c
parent4a45cabd4fb99ac787a3f84f89541e1c76e578b4 (diff)
change in how things are ungrabbed to avoid grabwhilenotify. don't ungrab every key press. just ungrab the passive grab when there is no active grab and we are going to move focus.
this should be less intrusive and seems to work
Diffstat (limited to 'openbox/action.c')
-rw-r--r--openbox/action.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/openbox/action.c b/openbox/action.c
index 4bb292ef..39da39a5 100644
--- a/openbox/action.c
+++ b/openbox/action.c
@@ -1216,11 +1216,9 @@ void action_execute(union ActionData *data)
if (data->execute.path) {
cmd = g_filename_from_utf8(data->execute.path, -1, NULL, NULL, NULL);
if (cmd) {
- /* If there is an interactive action going on, then cancel it
- to release the keyboard, so that the run application
- can grab the keyboard if it wants to. */
- if (keyboard_interactively_grabbed())
- keyboard_interactive_cancel();
+ /* If there is a keyboard grab going on then we need to cancel
+ it so the application can grab things */
+ event_cancel_all_key_grabs();
if (!g_shell_parse_argv (cmd, NULL, &argv, &e)) {
g_message(_("Failed to execute '%s': %s"),