cursor-shape: use server-side cursors for custom (OSC-22), if possible

Using a lookup table, try to map the user-provided xcursor string to a
cursor-shape-v1 known shape.

If we succeed, set the user’s custom cursor using server side
cursors (i.e. using cursor-shape-v1).

If not, fallback to trying to load the image ourselves (using
wl_cursor_theme_get_cursor()), and set it using the legacy
wl_pointer_set_cursor().
This commit is contained in:
Daniel Eklöf 2023-06-28 13:25:08 +02:00
parent bf83a0b2bd
commit c2baaff3c1
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
6 changed files with 141 additions and 32 deletions

View file

@ -234,6 +234,7 @@ seat_destroy(struct seat *seat)
ime_reset_pending(seat);
free(seat->clipboard.text);
free(seat->primary.text);
free(seat->pointer.last_custom_xcursor);
free(seat->name);
}