From e9c7f38727eec8cde05e029bc8904dce5538f37f Mon Sep 17 00:00:00 2001 From: wochap Date: Fri, 5 Jul 2024 11:10:39 -0500 Subject: [PATCH] implement cursortheme --- config.def.h | 2 ++ dwl.c | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/config.def.h b/config.def.h index 22d2171..1f9ff56 100644 --- a/config.def.h +++ b/config.def.h @@ -13,6 +13,8 @@ static const float focuscolor[] = COLOR(0x005577ff); static const float urgentcolor[] = COLOR(0xff0000ff); /* This conforms to the xdg-protocol. Set the alpha to zero to restore the old behavior */ static const float fullscreen_bg[] = {0.1f, 0.1f, 0.1f, 1.0f}; /* You can also use glsl colors */ +static const char *cursor_theme = NULL; +static const char cursor_size[] = "24"; /* Make sure it's a valid integer, otherwise things will break */ /* tagging - TAGCOUNT must be no greater than 31 */ #define TAGCOUNT (9) diff --git a/dwl.c b/dwl.c index a2711f6..dc25f31 100644 --- a/dwl.c +++ b/dwl.c @@ -2577,8 +2577,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(cursor_theme, atoi(cursor_size)); + setenv("XCURSOR_SIZE", cursor_size, 1); + if (cursor_theme) + setenv("XCURSOR_THEME", cursor_theme, 1); + else + unsetenv("XCURSOR_THEME"); /* * wlr_cursor *only* displays an image on screen. It does not move around