diff options
author | sabetts <sabetts> | 2006-03-14 07:46:56 +0000 |
---|---|---|
committer | sabetts <sabetts> | 2006-03-14 07:46:56 +0000 |
commit | 0d47aa583ef5ce0178de264f46fcb028c8592e53 (patch) | |
tree | 9b20fbcc4cadc16ab0b8581f37847d77d455908f /src | |
parent | b4e487088b12037e4500b0d03e77340e82b6198f (diff) | |
download | ratpoison-0d47aa583ef5ce0178de264f46fcb028c8592e53.zip |
* src/manage.c (ungrab_top_level_keys): unconditionally ungrab every key.
* src/events.c (mapping_notify): call ungrab_keys_all_wins and grab_keys_all_wins.
Diffstat (limited to 'src')
-rw-r--r-- | src/events.c | 14 | ||||
-rw-r--r-- | src/manage.c | 23 |
2 files changed, 3 insertions, 34 deletions
diff --git a/src/events.c b/src/events.c index ded7698..766c708 100644 --- a/src/events.c +++ b/src/events.c @@ -687,13 +687,7 @@ focus_change (XFocusChangeEvent *ev) static void mapping_notify (XMappingEvent *ev) { - rp_window *cur; - - /* Remove the grab on the current prefix key */ - list_for_each_entry (cur,&rp_mapped_window,node) - { - ungrab_top_level_keys (cur->w); - } + ungrab_keys_all_wins(); switch (ev->request) { @@ -705,11 +699,7 @@ mapping_notify (XMappingEvent *ev) break; } - /* Add the grab on the current prefix key */ - list_for_each_entry (cur, &rp_mapped_window,node) - { - grab_top_level_keys (cur->w); - } + grab_keys_all_wins(); } /* This is called whan an application has requested the diff --git a/src/manage.c b/src/manage.c index 5955137..7a3898f 100644 --- a/src/manage.c +++ b/src/manage.c @@ -131,28 +131,7 @@ grab_top_level_keys (Window w) void ungrab_top_level_keys (Window w) { - KeySym keysym, upper, lower; - rp_keymap *map; - int i; - - map = find_keymap (TOP_KEYMAP); - - if (map == NULL) - { - PRINT_ERROR (("Unable to find " TOP_KEYMAP " keymap\n")); - return; - } - - /* Make sure we ungrab the right sym. */ - - for (i=0; i<map->actions_last; i++) - { - PRINT_DEBUG(("%d\n", i)); - keysym = map->actions[i].key; - XConvertCase (keysym, &lower, &upper); - keysym = lower; - XUngrabKey(dpy, XKeysymToKeycode (dpy, keysym), AnyModifier, w); - } + XUngrabKey(dpy, AnyKey, AnyModifier, w); } void |