cursor: fix setting of resize_edges

Only calculate nearest `resize_edges` if not clear from the server-side
deco under the cursor.
This commit is contained in:
Johan Malm 2021-12-26 21:35:37 +00:00
parent 6a190797b6
commit 8d070ab2f4

View file

@ -592,8 +592,12 @@ cursor_button(struct wl_listener *listener, void *data)
/* Determine closest resize edges in case action is Resize */ /* Determine closest resize edges in case action is Resize */
resize_edges = ssd_resize_edges(view_area); resize_edges = ssd_resize_edges(view_area);
resize_edges |= server->seat.cursor->x < view->x + view->w / 2 ? WLR_EDGE_LEFT : WLR_EDGE_RIGHT; if (!resize_edges) {
resize_edges |= server->seat.cursor->y < view->y + view->h / 2 ? WLR_EDGE_TOP : WLR_EDGE_BOTTOM; resize_edges |= server->seat.cursor->x < view->x + view->w / 2
? WLR_EDGE_LEFT : WLR_EDGE_RIGHT;
resize_edges |= server->seat.cursor->y < view->y + view->h / 2
? WLR_EDGE_TOP : WLR_EDGE_BOTTOM;
}
mousebindings: mousebindings:
if (event->state == WLR_BUTTON_RELEASED) { if (event->state == WLR_BUTTON_RELEASED) {