diff --git a/backend/wayland/output.c b/backend/wayland/output.c index 0fc5c38dd..e950ce931 100644 --- a/backend/wayland/output.c +++ b/backend/wayland/output.c @@ -270,6 +270,10 @@ static bool test_layer(struct wlr_wl_output *output, struct wlr_output_layer_sta return true; } + if (layer_state->layer->cursor) { + return false; // TODO: add support for cursor layers + } + int x = layer_state->dst_box.x; int y = layer_state->dst_box.y; int width = layer_state->dst_box.width; diff --git a/include/wlr/types/wlr_output_layer.h b/include/wlr/types/wlr_output_layer.h index f4aef0582..3db0aefc9 100644 --- a/include/wlr/types/wlr_output_layer.h +++ b/include/wlr/types/wlr_output_layer.h @@ -43,6 +43,7 @@ struct wlr_output_layer { struct wl_list link; // wlr_output.layers struct wlr_addon_set addons; + bool cursor; struct { struct wl_signal feedback; // struct wlr_output_layer_feedback_event @@ -71,6 +72,9 @@ struct wlr_output_layer_state { // Damaged region since last commit in buffer-local coordinates. Leave NULL // to damage the whole buffer. const pixman_region32_t *damage; + struct { + int x, y; + } cursor_hotspot; // Populated by the backend after wlr_output_test() and wlr_output_commit(), // indicates whether the backend has acknowledged and will take care of