[PATCH] winex11.drv: Wait for XGrabPointer to succeed on FocusIn events.
Rémi Bernon
rbernon at codeweavers.com
Wed Sep 18 07:22:59 CDT 2019
On 9/18/19 2:13 PM, Rémi Bernon wrote:
> case NotifyUngrab:
> + wait_for_pointer_ungrab( event->display );
> keyboard_grabbed = FALSE;
> retry_grab_clipping_window();
> return TRUE; /* ignore wm specific NotifyUngrab / NotifyGrab events w.r.t focus */
Note that this line, when using mutter/gnome-shell at least, will make
it almost impossible to switch to activity view using the Super key.
There's a small delay between the moment mutter releases the keyboard
grab and sends the event, and the moment gnome-shell itself grabs the
cursor and keyboard and if the application grabs the cursor in between -
like it is done here even for a brief moment, gnome-shell is unable to
get its grab and does not open the view.
In Proton we've specifically added a delay before that to let
gnome-shell get its grab, but the mutter workarounds are not upstreamed.
I could add a delay here as well, without the mutter specific check, if
it seems appropriate.
--
Rémi Bernon <rbernon at codeweavers.com>
More information about the wine-devel
mailing list