From 2577050f440bf7f729fa2647a3a62c0ff7e19aed Mon Sep 17 00:00:00 2001 From: Ollie Date: Fri, 29 May 2026 08:00:28 +0200 Subject: [PATCH] =?UTF-8?q?wl=5Fbackend:=20implement=20pointer=5Fchange=5F?= =?UTF-8?q?grab=20=E2=80=94=20update=20cursor=20during=20move/resize?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/backend/wayland/wl_backend.c | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/backend/wayland/wl_backend.c b/src/backend/wayland/wl_backend.c index 1470785..820a2ce 100644 --- a/src/backend/wayland/wl_backend.c +++ b/src/backend/wayland/wl_backend.c @@ -6524,7 +6524,22 @@ wl_pointer_query_full(WNativeWindow root, static void wl_pointer_change_grab(unsigned int event_mask, int cursor_id, unsigned long timestamp) -{ (void)event_mask; (void)cursor_id; (void)timestamp; } +{ + (void)event_mask; (void)timestamp; + /* Map WCUR_* cursor IDs to xcursor names */ + const char *name; + switch (cursor_id) { + case WCUR_MOVE: name = "fleur"; break; + case WCUR_TOPLEFTRESIZE: name = "nw-resize"; break; + case WCUR_TOPRIGHTRESIZE: name = "ne-resize"; break; + case WCUR_BOTTOMLEFTRESIZE: name = "sw-resize"; break; + case WCUR_BOTTOMRIGHTRESIZE: name = "se-resize"; break; + case WCUR_VERTICALRESIZE: name = "n-resize"; break; + case WCUR_HORIZONRESIZE: name = "e-resize"; break; + default: name = "left_ptr"; break; + } + wl_set_cursor_image(name); +} /* ------------------------------------------------------------------ */ /* Keyboard grabs */