From 9eaa5a92a157a0052c4c924b6837dc5ee3c04e95 Mon Sep 17 00:00:00 2001 From: Johan Malm Date: Sun, 28 Nov 2021 22:50:37 +0000 Subject: [PATCH] cursor: support XCURSOR_THEME and XCURSOR_SIZE Use environment variables XCURSOR_THEME and XCURSOR_SIZE to set cursor theme and size respectively. Default size is 24. Find icons themes with the command below or similar: find /usr/share/icons/ -type d -name "cursors" --- docs/environment | 14 ++++++++++---- src/cursor.c | 6 +++++- 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/docs/environment b/docs/environment index 1122f184..db8ac3d4 100644 --- a/docs/environment +++ b/docs/environment @@ -1,11 +1,17 @@ # Example environment file # Set keyboard layout to Swedish -# XKB_DEFAULT_LAYOUT=se +XKB_DEFAULT_LAYOUT=se # Set two keyboard layouts and toggle between them using alt+shift -# XKB_DEFAULT_LAYOUT=se,de -# XKB_DEFAULT_OPTIONS=grp:alt_shift_toggle +XKB_DEFAULT_LAYOUT=se,de +XKB_DEFAULT_OPTIONS=grp:alt_shift_toggle # Force firefox to use wayland backend -# MOZ_ENABLE_WAYLAND=1 +MOZ_ENABLE_WAYLAND=1 + +# Set cursor theme. +# Find icons themes with the command below or similar: +# find /usr/share/icons/ -type d -name "cursors" +XCURSOR_THEME=breeze_cursors + diff --git a/src/cursor.c b/src/cursor.c index 690e0454..dd5cd46d 100644 --- a/src/cursor.c +++ b/src/cursor.c @@ -636,7 +636,11 @@ cursor_frame(struct wl_listener *listener, void *data) void cursor_init(struct seat *seat) { - seat->xcursor_manager = wlr_xcursor_manager_create(NULL, 24); + const char *xcursor_theme = getenv("XCURSOR_THEME"); + const char *xcursor_size = getenv("XCURSOR_SIZE"); + uint32_t size = xcursor_size ? atoi(xcursor_size) : 24; + + seat->xcursor_manager = wlr_xcursor_manager_create(xcursor_theme, size); wlr_xcursor_manager_load(seat->xcursor_manager, 1); seat->cursor_motion.notify = cursor_motion; -- 2.52.0