diff --git a/config.def.h b/config.def.h index 93b2fdc..cdf11b5 100644 --- a/config.def.h +++ b/config.def.h @@ -14,6 +14,8 @@ static const unsigned int gappih = 10; /* horiz inner gap between wind static const unsigned int gappiv = 10; /* vert inner gap between windows */ static const unsigned int gappoh = 10; /* horiz outer gap between windows and screen edge */ static const unsigned int gappov = 10; /* vert outer gap between windows and screen edge */ +static const char *cursortheme = NULL; /* theme from /usr/share/cursors/xorg-x11 or ${XCURSOR_PATH} */ +static const char cursorsize[] = "24"; static const float bordercolor[] = COLOR(0x444444ff); static const float focuscolor[] = COLOR(0x005577ff); static const float urgentcolor[] = COLOR(0xff0000ff); diff --git a/dwl.c b/dwl.c index 47c3a23..62a6838 100644 --- a/dwl.c +++ b/dwl.c @@ -2863,8 +2863,12 @@ setup(void) * Xcursor themes to source cursor images from and makes sure that cursor * images are available at all scale factors on the screen (necessary for * HiDPI support). Scaled cursors will be loaded with each output. */ - cursor_mgr = wlr_xcursor_manager_create(NULL, 24); - setenv("XCURSOR_SIZE", "24", 1); + cursor_mgr = wlr_xcursor_manager_create(cursortheme, atoi(cursorsize)); + setenv("XCURSOR_SIZE", cursorsize, 1); + if (cursortheme) + setenv("XCURSOR_THEME", cursortheme, 1); + else + unsetenv("XCURSOR_THEME"); /* * wlr_cursor *only* displays an image on screen. It does not move around