all repos — openbox @ 795d90c3bc57eaf2c98c447f3af5c1c9e7a52fa3

openbox fork - make it a bit more like ryudo

make key grabbing per window instead of always root
Dana Jansens danakj@orodu.net
commit

795d90c3bc57eaf2c98c447f3af5c1c9e7a52fa3

parent

bb9376337331e4b1f4136fba0a5a0cb90ae2d3c6

2 files changed, 6 insertions(+), 6 deletions(-)

jump to
M openbox/grab.copenbox/grab.c

@@ -119,21 +119,21 @@ for (i = 0; i < MASK_LIST_SIZE; ++i)

XUngrabButton(ob_display, button, state | mask_list[i], win); } -void grab_key(guint keycode, guint state, int keyboard_mode) +void grab_key(guint keycode, guint state, Window win, int keyboard_mode) { guint i; xerror_set_ignore(TRUE); /* can get BadAccess' from these */ xerror_occured = FALSE; for (i = 0; i < MASK_LIST_SIZE; ++i) - XGrabKey(ob_display, keycode, state | mask_list[i], ob_root, FALSE, + XGrabKey(ob_display, keycode, state | mask_list[i], win, FALSE, GrabModeSync, keyboard_mode); xerror_set_ignore(FALSE); if (xerror_occured) g_warning("failed to grab keycode %d modifiers %d", keycode, state); } -void ungrab_all_keys() +void ungrab_all_keys(Window win) { - XUngrabKey(ob_display, AnyKey, AnyModifier, ob_root); + XUngrabKey(ob_display, AnyKey, AnyModifier, win); }
M openbox/grab.hopenbox/grab.h

@@ -17,8 +17,8 @@ void grab_button_full(guint button, guint state, Window win, guint mask,

int pointer_mode, Cursor cursor); void ungrab_button(guint button, guint state, Window win); -void grab_key(guint keycode, guint state, int keyboard_mode); +void grab_key(guint keycode, guint state, Window win, int keyboard_mode); -void ungrab_all_keys(); +void ungrab_all_keys(Window win); #endif