gnome-shell/js
Sebastian Keller 8b5d027724 magnifier: Request window-relative coordinates for focus/caret events
Absolute screen coordinates are impossible for Wayland clients to
provide, because the clients don't know where the window is positioned.
Some clients, such as the ones using GTK 3 were providing window
relative coordinates even when screen coordinates were requested,
while others, such as GTK 4 clients, were just returning an error for
caret events or also window-relative coordinates for focus events.

So for this to work on Wayland we have to request window-relative
coordinates and translate them to the current focus window.

To ensure the correct coordinates, we have to only consider events
coming from the current focus window. All other events are filtered out
now. As a side effect this also fixes the magnifier always jumping
to a terminal cursor whenever there was some output, even if the window
was not focused.

This also needs some special handling for events coming from the shell
itself, which should not be translated to the focus window either. As
another side effect this fixes another bug that was caused by these
events already including scaling and getting scaled again.

Fixes: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/5509
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2301>
2022-05-28 10:47:01 +00:00
..
dbusServices dbusServices/screencast: Install unconditionally 2022-05-20 12:00:22 +00:00
gdm Js: Use new :icon-name property 2022-05-06 13:39:40 +00:00
misc config: Check runtime dependencies at runtime 2022-05-20 12:00:22 +00:00
perf cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
portalHelper Specify API versions for all public GIR APIs, except GLib 2022-04-04 17:55:25 +01:00
ui magnifier: Request window-relative coordinates for focus/caret events 2022-05-28 10:47:01 +00:00
js-resources.gresource.xml signalTracker: Provide monkey-patching for (dis)connectObject() 2022-03-04 14:14:37 +00:00
meson.build extensions-app: Move Extensions app to new subproject 2020-03-27 23:33:30 +00:00
portal-resources.gresource.xml