all repos — openbox @ 47c8d407295bd910b2482f472d0a7e3892031647

openbox fork - make it a bit more like ryudo

don't assert, users can bind stuff however they like. but if they do something that moves focus during an interactive action, kill the grab
Dana Jansens danakj@orodu.net
commit

47c8d407295bd910b2482f472d0a7e3892031647

parent

b7827484ef77dc0a62a99da3bc067f6e1950b546

1 files changed, 7 insertions(+), 5 deletions(-)

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

@@ -3343,13 +3343,15 @@ ob_debug_type(OB_DEBUG_FOCUS,

"Focusing client \"%s\" at time %u\n", self->title, event_curtime); - /* if we move focus during a grab, applications will get - NotifyWhileGrabbed events and ignore them ! + /* if there is a grab going on, then we need to cancel it. if we move + focus during the grab, applications will get NotifyWhileGrabbed events + and ignore them ! - interactive actions should not do anything that can move focus until - their finishing. + actions should not rely on being able to move focus during an + interactive grab. */ - g_assert(!keyboard_interactively_grabbed()); + if (keyboard_interactively_grabbed()) + keyboard_interactive_cancel(); error = FALSE; xerror_set_ignore(TRUE);