wlroots/util
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
..
addon.c util/addon: make wlr_addon_set_finish() safer 2023-10-08 11:06:09 +00:00
array.c util/array: unclutter 2022-08-29 13:48:42 +00:00
box.c util/box: transform empty boxes' origins 2023-05-24 08:55:15 +00:00
env.c util/env: make env_parse_switch() return a size_t 2022-12-06 16:14:18 +01:00
global.c util/global: fix memory leak on display destroy in wlr_global_destroy_safe 2022-06-07 18:18:11 +02:00
log.c util/log: fix buffer overflow 2023-06-29 15:58:56 +03:00
meson.build util: add struct to track union of rectangles 2023-10-05 11:45:32 +00:00
rect_union.c util: add struct to track union of rectangles 2023-10-05 11:45:32 +00:00
region.c util/region: forbid "shrinking" a region with wlr_region_expand() 2022-12-09 16:46:36 +00:00
set.c util/set: overhaul 2022-08-29 13:48:42 +00:00
shm.c util/shm: clear mode permission bits in allocate_shm_file_pair 2022-05-12 19:58:50 +02:00
time.c output/cursor: deferred cursor move 2024-04-24 22:00:13 +12:00
token.c util/token: rename TOKEN_STRLEN to TOKEN_SIZE 2023-10-26 16:30:12 +00:00