windowmaker-wl/tests
Levi Neely aee57de37d wayland: Phase 23 — cursor image rendering via wlr_cursor + xcursor theme
Wire up wlr_cursor and wlr_xcursor_manager so the cursor is visible when
running as a nested Wayland compositor.

- wlr_cursor created in wl_display_open and attached to the output layout.
- wlr_xcursor_manager created with NULL (system default) theme at 24 px
  base size; wlr_xcursor_manager_load called at scale 1.0 at open time.
- In handle_backend_new_output, after the output joins the layout:
    - Load xcursor at the output's actual scale factor.
    - Set "left_ptr" as the initial cursor image.
    - Warp the hardware cursor to the current virtual pointer position.
  In nested mode this causes wlroots to send wl_pointer.set_cursor to
  the host compositor, making the cursor visible in the window.
- All pointer motion handlers (relative, absolute) and wl_pointer_warp /
  wl_pointer_warp_to now call wlr_cursor_warp after updating pointer_x/y,
  keeping the hardware cursor in sync with the virtual pointer position.
  handle_pointer_motion_absolute uses wlr_cursor_warp_absolute and reads
  back cursor->x/y for the pixel position (correct in all output layouts).
- Grab cursor shapes: wl_grab_begin_move sets "fleur"; wl_grab_begin_resize
  selects an edge-appropriate name (nw-resize, se-resize, etc.) via a new
  resize_edges_to_cursor() helper; wl_grab_end restores "left_ptr".
- wl_display_close destroys xcursor_mgr then cursor before display teardown.

Smoke test: new "cursor check" verifies "cursor created" + "cursor image
set to 'left_ptr'" log lines (23/23 checks pass).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 17:03:36 +02:00
..
Makefile.am Wayland backend abstraction: WMBackend vtable (Phases 0–30) 2026-03-27 19:20:00 +01:00
test_geom.c Wayland backend abstraction: WMBackend vtable (Phases 0–30) 2026-03-27 19:20:00 +01:00
test_x11_event.c Wayland backend abstraction: WMBackend vtable (Phases 0–30) 2026-03-27 19:20:00 +01:00
wl-smoke-test.sh wayland: Phase 23 — cursor image rendering via wlr_cursor + xcursor theme 2026-03-30 17:03:36 +02:00
x11-smoke-test.sh wayland: add WMAKER_USE_WAYLAND backend selector and split smoke tests 2026-03-27 22:29:27 +01:00