diff options
Diffstat (limited to 'rootston')
-rw-r--r-- | rootston/config.c | 3 | ||||
-rw-r--r-- | rootston/desktop.c | 5 | ||||
-rw-r--r-- | rootston/rootston.ini.example | 2 |
3 files changed, 8 insertions, 2 deletions
diff --git a/rootston/config.c b/rootston/config.c index 727b52d0..638d6e73 100644 --- a/rootston/config.c +++ b/rootston/config.c @@ -276,6 +276,9 @@ static int config_ini_handler(void *user, const char *section, const char *name, } else if (strcmp(name, "geometry") == 0) { free(config->cursor.mapped_box); config->cursor.mapped_box = parse_geometry(value); + } else if (strcmp(name, "theme") == 0) { + free(config->cursor.theme); + config->cursor.theme = strdup(value); } else { wlr_log(L_ERROR, "got unknown cursor config: %s", name); } diff --git a/rootston/desktop.c b/rootston/desktop.c index 1695d007..a2af5e95 100644 --- a/rootston/desktop.c +++ b/rootston/desktop.c @@ -338,10 +338,11 @@ struct roots_desktop *desktop_create(struct roots_server *server, desktop->server = server; desktop->config = config; - desktop->xcursor_manager = wlr_xcursor_manager_create(NULL, + desktop->xcursor_manager = wlr_xcursor_manager_create(config->cursor.theme, ROOTS_XCURSOR_SIZE); if (desktop->xcursor_manager == NULL) { - wlr_log(L_ERROR, "Cannot create XCursor manager"); + wlr_log(L_ERROR, "Cannot create XCursor manager for theme %s", + config->cursor.theme); wlr_list_free(desktop->views); free(desktop); return NULL; diff --git a/rootston/rootston.ini.example b/rootston/rootston.ini.example index c33b0f04..17467100 100644 --- a/rootston/rootston.ini.example +++ b/rootston/rootston.ini.example @@ -21,6 +21,8 @@ rotate = 90 map-to-output = VGA-1 # Restrict cursor movements to concrete rectangle geometry = 2500x800 +# Load a custom XCursor theme +theme = default # Single device configuration. String after semicolon must match device's name. [device:PixArt Dell MS116 USB Optical Mouse] |