X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=scripts%2Ffocus.py;h=00e53cbc33665144828bee2a9071484ef28f5654;hb=f7a0eb7624fa323a37f9fb0e306d7e1bbc745e15;hp=adba37258fb89ed93a885e010b9165c9abad065e;hpb=3409b046a043d8ffabf2e9c33ea037c2e5be15e4;p=chaz%2Fopenbox diff --git a/scripts/focus.py b/scripts/focus.py index adba3725..00e53cbc 100644 --- a/scripts/focus.py +++ b/scripts/focus.py @@ -136,7 +136,8 @@ def _focus_stacked_ungrab(data): # have all the modifiers this started with been released? if not _cyc_mask & data.state: _destroy_popup_list() - ob.kungrab() # ungrab ourself + ob.kungrab() + ob.mungrab() _doing_stacked = 0; if cycle_raise: client = ob.openbox.findClient(_cyc_w) @@ -246,6 +247,10 @@ def focus_next_stacked(data, forward=1): _create_popup_list(data) ob.kgrab(data.screen, _focus_stacked_ungrab) + # the pointer grab causes pointer events during the keyboard grab to + # go away, which means we don't get enter notifies when the popup + # disappears, screwing up the focus + ob.mgrab(data.screen) focus_next_stacked(data, forward) # start with the first press def focus_prev_stacked(data):