a5db9ee2d7
Given X11 nature, the pointer "leaves" the stage anytime it wanders into a client window, or any other areas that are not deemed part of the stage input region. Yet we want to stay correct in those situations, e.g. have the clutter side reasonably in sync, picking and highlighting to work properly, etc. In order to achieve that, emulate motion events on XI_RawMotion. These are as much throttled as our pointer tracking for a11y, in order to avoid too many XIQueryPointer sync calls. This emulation only kicks in anytime that X11 notifies us that we are not "on" the stage. This replaces some sync_pointer() calls in GNOME Shell code that are there just to compensate for this trait of X11, e.g. in the message tray code. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/1659> |
||
---|---|---|
.. | ||
backends | ||
compositor | ||
core | ||
meta | ||
tests | ||
ui | ||
wayland | ||
x11 | ||
libmutter.pc.in | ||
meson.build | ||
meta-private-enum-types.c.in | ||
meta-private-enum-types.h.in | ||
org.freedesktop.login1.xml | ||
org.gnome.Mutter.DisplayConfig.xml | ||
org.gnome.Mutter.IdleMonitor.xml | ||
org.gnome.Mutter.RemoteDesktop.xml | ||
org.gnome.Mutter.ScreenCast.xml |