From 600824494de1fd241e57836195bc67c15657b3b3 Mon Sep 17 00:00:00 2001 From: emersion Date: Wed, 10 Oct 2018 19:59:04 +0200 Subject: wayland: read xcursor size from XCURSOR_SIZE env This allows compositors to set the cursor size from user configuration. --- video/out/wayland_common.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/video/out/wayland_common.c b/video/out/wayland_common.c index 34adac5bd1..5af8abdb19 100644 --- a/video/out/wayland_common.c +++ b/video/out/wayland_common.c @@ -15,6 +15,8 @@ * License along with mpv. If not, see . */ +#include +#include #include #include #include @@ -51,7 +53,17 @@ static int spawn_cursor(struct vo_wayland_state *wl) else if (wl->cursor_theme) wl_cursor_theme_destroy(wl->cursor_theme); - wl->cursor_theme = wl_cursor_theme_load(NULL, 32*wl->scaling, wl->shm); + const char *size_str = getenv("XCURSOR_SIZE"); + int size = 32; + if (size_str != NULL) { + errno = 0; + char *end; + long size_long = strtol(size_str, &end, 10); + if (!*end && !errno && size_long > 0 && size_long <= INT_MAX) + size = (int)size_long; + } + + wl->cursor_theme = wl_cursor_theme_load(NULL, size*wl->scaling, wl->shm); if (!wl->cursor_theme) { MP_ERR(wl, "Unable to load cursor theme!\n"); return 1; -- cgit v1.2.3