|
|
|
@ -408,10 +408,14 @@ struct roots_desktop *desktop_create(struct roots_server *server,
|
|
|
|
|
desktop->config = config;
|
|
|
|
|
|
|
|
|
|
const char *cursor_theme = NULL;
|
|
|
|
|
const char *cursor_default = ROOTS_XCURSOR_DEFAULT;
|
|
|
|
|
struct roots_cursor_config *cc =
|
|
|
|
|
roots_config_get_cursor(config, ROOTS_CONFIG_DEFAULT_SEAT_NAME);
|
|
|
|
|
if (cc != NULL) {
|
|
|
|
|
cursor_theme = cc->theme;
|
|
|
|
|
if (cc->default_image != NULL) {
|
|
|
|
|
cursor_default = cc->default_image;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
desktop->xcursor_manager = wlr_xcursor_manager_create(cursor_theme,
|
|
|
|
@ -449,7 +453,7 @@ struct roots_desktop *desktop_create(struct roots_server *server,
|
|
|
|
|
wlr_log(L_ERROR, "Cannot load XWayland XCursor theme");
|
|
|
|
|
}
|
|
|
|
|
struct wlr_xcursor *xcursor = wlr_xcursor_manager_get_xcursor(
|
|
|
|
|
desktop->xcursor_manager, ROOTS_XCURSOR_DEFAULT, 1);
|
|
|
|
|
desktop->xcursor_manager, cursor_default, 1);
|
|
|
|
|
if (xcursor != NULL) {
|
|
|
|
|
struct wlr_xcursor_image *image = xcursor->images[0];
|
|
|
|
|
wlr_xwayland_set_cursor(desktop->xwayland, image->buffer,
|
|
|
|
|