summaryrefslogtreecommitdiff
path: root/src/manage.c
diff options
context:
space:
mode:
authorsabetts <sabetts>2004-04-24 06:10:33 +0000
committersabetts <sabetts>2004-04-24 06:10:33 +0000
commitc9303ecfb30db08b3cc12137831ab352ac9b0812 (patch)
treecbb6a01bd9c409d83300205871955edf24474830 /src/manage.c
parenta0b9448f94bf5c97730f13f7e6d5cb4d435d605b (diff)
downloadratpoison-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.c17
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