diff options
author | sabetts <sabetts> | 2004-04-24 06:10:33 +0000 |
---|---|---|
committer | sabetts <sabetts> | 2004-04-24 06:10:33 +0000 |
commit | c9303ecfb30db08b3cc12137831ab352ac9b0812 (patch) | |
tree | cbb6a01bd9c409d83300205871955edf24474830 /src/manage.c | |
parent | a0b9448f94bf5c97730f13f7e6d5cb4d435d605b (diff) | |
download | ratpoison-c9303ecfb30db08b3cc12137831ab352ac9b0812.zip |
* src/data.h (struct rp_defaults): new members, font_string,
fgcolor_string, bgcolor_string.
* src/actions.c (set_font): return defaults.font_string when data is NULL
(set_fgcolor): likewise for fgcolor_string
(set_bgcolor): likewise for bgcolor_string
* src/manage.c (ungrab_top_level_keys): properly grab capital letters.
* src/main.c (init_defaults): init fgcolor_string, bgcolor_string, and font_string
* src/input.c (grab_key): change keysym type to KeySym. convert
keysym to keycode. All callers updated.
Diffstat (limited to 'src/manage.c')
-rw-r--r-- | src/manage.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/manage.c b/src/manage.c index 46e174e..b11dc4a 100644 --- a/src/manage.c +++ b/src/manage.c @@ -122,7 +122,7 @@ grab_top_level_keys (Window w) for (i=0; i<map->actions_last; i++) { PRINT_DEBUG(("%d\n", i)); - grab_key (XKeysymToKeycode (dpy, map->actions[i].key), map->actions[i].state, w); + grab_key (map->actions[i].key, map->actions[i].state, w); } #endif } @@ -130,23 +130,28 @@ grab_top_level_keys (Window w) void ungrab_top_level_keys (Window w) { -#ifdef HIDE_MOUSE -#else - rp_keymap *map = find_keymap (TOP_KEYMAP); + 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)); - XUngrabKey(dpy, XKeysymToKeycode (dpy, map->actions[i].key), AnyModifier, w); + keysym = map->actions[i].key; + XConvertCase (keysym, &lower, &upper); + keysym = lower; + XUngrabKey(dpy, XKeysymToKeycode (dpy, keysym), AnyModifier, w); } -#endif } void |