mutter/src
Carlos Garnacho a5db9ee2d7 backends/x11: Emulate pointer motion while the pointer is off stage
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>
2021-02-14 13:23:29 +00:00
..
backends backends/x11: Emulate pointer motion while the pointer is off stage 2021-02-14 13:23:29 +00:00
compositor compositor: Sync pointer after begin/end modal on X11 2021-02-14 13:23:29 +00:00
core core: Don't show copyright when printing version 2021-02-09 07:46:10 +00:00
meta util: Add 'remote-desktop' debug topic 2021-02-05 16:44:27 +00:00
tests tests: Add test for destroyed frame clock free timeline actor 2021-02-08 19:40:05 +00:00
ui frames: Consider events on fullscreen windows to be on the client area 2021-01-28 15:30:29 +00:00
wayland wayland: Avoid automatically decoupling source/offer after grab 2021-02-09 19:33:13 +00:00
x11 x11: Check for XCB reply 2021-02-09 19:06:22 +00:00
libmutter.pc.in build: Fix libs and cflags in autotools .pc file 2018-11-10 16:20:46 +00:00
meson.build clutter: Remove CLUTTER_ENABLE_EXPERIMENTAL_API 2021-02-05 17:05:19 +00:00
meta-private-enum-types.c.in screen-cast: Add screen cast flag to streams 2020-07-30 09:51:16 +02:00
meta-private-enum-types.h.in screen-cast: Add screen cast flag to streams 2020-07-30 09:51:16 +02:00
org.freedesktop.login1.xml MetaLauncher: Don't g_error() on failure 2015-11-06 17:03:59 -05:00
org.gnome.Mutter.DisplayConfig.xml x11: Support the CTM (color transform matrix) RandR property 2021-01-11 13:44:54 +00:00
org.gnome.Mutter.IdleMonitor.xml idle-monitor: Add ResetIdletime API, for testing purposes 2018-04-16 13:28:03 +02:00
org.gnome.Mutter.RemoteDesktop.xml remote-desktop/session: Added boiler plate for clipboard integration 2021-02-05 16:44:27 +00:00
org.gnome.Mutter.ScreenCast.xml screen-cast: Add 'is-recording' option to record methods 2020-07-31 10:41:15 +02:00