Add per-seat cursor configuration

This commit is contained in:
emersion 2017-11-18 17:34:24 +01:00
parent cd566ccd8e
commit 5b13f51dfc
No known key found for this signature in database
GPG key ID: 0FDE7BE0E88F5E48
5 changed files with 130 additions and 36 deletions

View file

@ -338,11 +338,18 @@ struct roots_desktop *desktop_create(struct roots_server *server,
desktop->server = server;
desktop->config = config;
desktop->xcursor_manager = wlr_xcursor_manager_create(config->cursor.theme,
const char *cursor_theme = NULL;
struct roots_cursor_config *cc =
roots_config_get_cursor(config, ROOTS_CONFIG_DEFAULT_SEAT_NAME);
if (cc != NULL) {
cursor_theme = cc->theme;
}
desktop->xcursor_manager = wlr_xcursor_manager_create(cursor_theme,
ROOTS_XCURSOR_SIZE);
if (desktop->xcursor_manager == NULL) {
wlr_log(L_ERROR, "Cannot create XCursor manager for theme %s",
config->cursor.theme);
cursor_theme);
wlr_list_free(desktop->views);
free(desktop);
return NULL;