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"
This commit is contained in:
Johan Malm 2021-11-28 22:50:37 +00:00
parent afa299c080
commit 9eaa5a92a1
2 changed files with 15 additions and 5 deletions

View file

@ -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

View file

@ -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;