wlroots/include/wlr
Daniel Hill 47f8cefad8 output/cursor: deferred cursor move
This feature is meant to be used with VRR / Adaptive Sync.
Currently cursor move drives the display at the poll rate of the mouse.
This adds a deferred delay for a variety situations:
To save power on battery
To maintain smooth video playback (i.e. render video 30fps at 60 or 120fps)
To maintain smooth gaming experience (i.e. only enforce redraw at VRR minimum Hz)

I've tried to make it as unopinionated as possible, while also reducing
complexity for downstream developers.

The design should be backwards compatible, as long as
wlr_set_cursor_max_latency() is never called wlr_cursor_move() should act as
normal

I considered using wl_signals, but I'm not familiar with the interface, and it
felt somewhat overkill.

There's a reference implementation in branch deferred-cursor-move:
github:YellowOnion/sway
2024-04-24 22:00:13 +12:00
..
backend backend: drop wlr_backend_get_presentation_clock() 2023-10-30 18:39:39 +01:00
interfaces wlr_output: Nuke wlr_output_update_enabled 2023-08-16 18:37:55 +02:00
render render/drm_format_set: use published kernel doc URL 2023-10-05 21:29:25 +00:00
types output/cursor: deferred cursor move 2024-04-24 22:00:13 +12:00
util util/box: always treat NULL boxes as empty 2023-05-23 21:08:22 +03:00
xwayland xwayland: add wlr_xwayland_set_workareas() 2023-10-26 15:05:08 -04:00
backend.h backend: drop wlr_backend_get_presentation_clock() 2023-10-30 18:39:39 +01:00
config.h.in backend/session: make optional 2022-11-25 16:15:29 +00:00
meson.build build: bump version to 0.16.0-dev 2022-05-24 15:04:14 +02:00
version.h.in Drop WLR_VERSION_API_* 2021-06-29 12:22:55 +02:00
xcursor.h examples, tinywl: use "default" cursor instead of "left_ptr" 2023-02-01 15:00:42 +01:00
xwayland.h xwayland: split headers 2022-11-02 19:00:23 +01:00