gnome-shell/js
Jonas Dreßler f13a6145fd magnifier: Properly hide the second (real) cursor
The magnifier uses a PointerWatcher (which is based on a simple timeout
source) to update the zoom region based on the current mouse cursor
position 60 times a second. When updating the zoom region, it would also
hide mutters cursor using meta_cursor_tracker_set_pointer_visible().

Since a few months, mutter has decoupled the handling of input events
from the monitor refresh rate though, which means it's no longer
guaranteed that the cursor changes only 60 times a second (on higher
refresh rate monitors it actually never was). This means mutter might
show the cursor more often than 60 times a second, while we hide it only
60 times a second, leading to a flickering second cursor.

To fix this, implement the cursor-hiding by listening to
MetaCursorTrackers visibility-changed signal, and immediately hiding the
cursor again when it's shown.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2234>
2022-03-13 00:12:18 +00:00
..
dbusServices js: Simplify promisify() calls 2022-02-11 16:24:01 +00:00
gdm js: Use (dis)connectObject() 2022-03-04 14:14:37 +00:00
misc introspect: Add WindowsChanged signal 2022-03-08 16:31:20 +00:00
perf cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
portalHelper cleanup: Use new indentation style for object literals 2022-02-23 12:23:52 +00:00
ui magnifier: Properly hide the second (real) cursor 2022-03-13 00:12:18 +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 js: Remove unused files from resources 2020-03-09 13:18:48 +00:00