diff --git a/src/backend/wayland/wl_backend.c b/src/backend/wayland/wl_backend.c index 1c9f659..ba4619a 100644 --- a/src/backend/wayland/wl_backend.c +++ b/src/backend/wayland/wl_backend.c @@ -6448,10 +6448,9 @@ wl_update_pointer_focus(uint32_t time_msec) last_focused_surface = NULL; } wlr_seat_pointer_clear_focus(wl_state.seat); - /* Restore WM cursor when pointer leaves all surfaces. - * Don't reset during grabs — pointer_change_grab manages that. */ - if (!wl_state.grab_type) - wl_set_cursor_image("left_ptr"); + /* When pointer leaves all surfaces, leave the last cursor in + * place. The next pointer enter will let the client set its own + * cursor, or the grab system manages cursor explicitly. */ } /* Phase 29 (FFP): focus-follows-pointer — when the pointer enters a new * managed view, deliver WM keyboard focus without raising.