wayland: read xcursor size from XCURSOR_SIZE env

This allows compositors to set the cursor size from user
configuration.
This commit is contained in:
emersion 2018-10-10 19:59:04 +02:00 committed by wm4
parent 8f35b3873f
commit 600824494d
1 changed files with 13 additions and 1 deletions

View File

@ -15,6 +15,8 @@
* License along with mpv. If not, see <http://www.gnu.org/licenses/>.
*/
#include <errno.h>
#include <limits.h>
#include <poll.h>
#include <unistd.h>
#include <linux/input.h>
@ -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;