windowmaker-wl/tests
Levi Neely 5b1590607c wayland: Phase 17 — XWayland support for X11 client windows
Add wlr_xwayland to the headless compositor so X11 applications
(e.g. GNUstep apps) can run under the Wayland backend.

Key changes:
- Include <wlr/xwayland.h>; add xwayland/xwayland_new_surface_listener
  to wl_compositor_state
- Add xw_surface field to wl_toplevel_view so XDG and XWayland windows
  share the same view struct and context-store keyed by WNativeWindow
- XWayland window_id used directly as WNativeWindow (no conflict with
  XDG synthetic IDs ≥ 0x10000000)
- handle_xwayland_{map,unmap,destroy,set_class}: same wManageWindow/
  wUnmanageWindow lifecycle as XDG toplevels
- override_redirect windows (menus, tooltips) are skipped
- view_surface_at: bounds-check path for XWayland surfaces alongside
  wlr_xdg_surface_surface_at for XDG toplevels
- vtable functions updated: focus_set, prop_get_normal_hints,
  prop_get_wm_class, window_fetch_name, window_get_icon_name,
  window_get_client_attrs, client_synth_configure, window_resize,
  window_move, client_close, window_get_rect, prop_get_transient_for,
  client_get_pid all handle xw_surface != NULL
- wlr_xwayland_create(lazy=false) called in wl_display_open after
  compositor and seat; DISPLAY env var set from display_name
- wlr_xwayland_destroy in wl_display_close
- Smoke test: new check 4g verifies "XWayland started DISPLAY=:<n>" log

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 21:24:49 +01: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 17 — XWayland support for X11 client windows 2026-03-28 21:24:49 +01:00
x11-smoke-test.sh wayland: add WMAKER_USE_WAYLAND backend selector and split smoke tests 2026-03-27 22:29:27 +01:00