diff --git a/render.c b/render.c index 91472027..bda43f1a 100644 --- a/render.c +++ b/render.c @@ -4604,7 +4604,7 @@ bool render_xcursor_set(struct seat *seat, struct terminal *term, enum cursor_shape shape) { - if (seat->pointer.theme == NULL) + if (seat->pointer.theme == NULL && seat->pointer.shape_device == NULL) return false; if (seat->mouse_focus == NULL) { diff --git a/wayland.c b/wayland.c index fe3cba20..2645c4ab 100644 --- a/wayland.c +++ b/wayland.c @@ -1930,6 +1930,11 @@ wayl_reload_xcursor_theme(struct seat *seat, float new_scale) seat->pointer.cursor = NULL; } + if (seat->pointer.shape_device != NULL) { + /* Using server side cursors */ + return true; + } + int xcursor_size = 24; {