diff --git a/clients/window.c b/clients/window.c index 25a80362..f41812a6 100644 --- a/clients/window.c +++ b/clients/window.c @@ -2398,6 +2398,12 @@ pointer_surface_frame_callback(void *data, struct wl_callback *callback, input->cursor_frame_cb = NULL; } + if (input->current_cursor == CURSOR_BLANK) { + wl_pointer_set_cursor(input->pointer, input->display->serial, + NULL, 0, 0); + return; + } + if (input->current_cursor == CURSOR_UNSET) return; cursor = input->display->cursors[input->current_cursor]; diff --git a/clients/window.h b/clients/window.h index 92e52a90..12e43524 100644 --- a/clients/window.h +++ b/clients/window.h @@ -153,7 +153,9 @@ enum cursor_type { CURSOR_TOP, CURSOR_IBEAM, CURSOR_HAND1, - CURSOR_WATCH + CURSOR_WATCH, + + CURSOR_BLANK }; typedef void (*window_key_handler_t)(struct window *window, struct input *input,