Phase 24a — click-to-focus + raise-on-click: handle_pointer_button now calls view_surface_at() on WLR_BUTTON_PRESSED. If a managed view is hit, wSetFocusTo() delivers WM keyboard focus and wlr_scene_node_raise_to_top() raises the surface in Z-order. The view is also moved to the tail of toplevel_list so view_surface_at() returns it first on subsequent pointer hits. stacking.h included for the raise path (wRaiseFrame not yet needed but header is now available). Phase 24b — client cursor surface (wl_pointer.set_cursor): seat->events.request_set_cursor wired to handle_seat_request_cursor. The handler validates the request comes from the currently pointer-focused client (rejects unfocused clients), then calls wlr_cursor_set_surface so the application-supplied cursor image is rendered on all outputs. In nested mode this updates the host compositor's cursor via set_cursor. Phase 25 — clipboard / wl_data_device selection forwarding: seat->events.request_set_selection wired to handle_seat_request_set_selection. The handler calls wlr_seat_set_selection, making the client's data source available to subsequent paste operations in any other client that reads the seat's selection. Logged as "clipboard selection wired" at startup. Smoke test: new "clipboard check" verifies startup log; 24/24 pass. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| Makefile.am | ||
| test_geom.c | ||
| test_x11_event.c | ||
| wl-smoke-test.sh | ||
| x11-smoke-test.sh | ||