Description
cua-driver (and other X11 automation tools) cannot discover or match XWayland windows on ShojiWM because the XWayland root window is missing EWMH properties:
_NET_CLIENT_LIST — not found (no window list)
_NET_ACTIVE_WINDOW — returns 0x0 (no active window tracked)
_NET_SUPPORTED — only lists a few atoms, not the full EWMH set
Impact
Tools like cua-driver, xdotool, wmctrl, and other X11 automation utilities cannot:
- Enumerate visible windows by name/class
- Match app names to window IDs
- Focus or activate specific windows
Environment
- ShojiWM (latest from flake)
- NixOS 24.05+ (unstable nixpkgs)
- xwayland-satellite enabled
- cua-driver 0.7.1 (reports "6 visible top-level windows" via X11 but cannot match any app names)
Proposal
Implement EWMH compliance for the XWayland root window:
- Maintain
_NET_CLIENT_LIST with all XWayland toplevel window IDs
- Track
_NET_ACTIVE_WINDOW based on the focused Wayland toplevel
- Advertise supported EWMH atoms in
_NET_SUPPORTED
- Set
_NET_WM_NAME and WM_CLASS on XWayland windows (may already work via xwayland-satellite)
This would enable X11 automation tools to interoperate with ShojiWM-managed windows.
Description
cua-driver (and other X11 automation tools) cannot discover or match XWayland windows on ShojiWM because the XWayland root window is missing EWMH properties:
_NET_CLIENT_LIST— not found (no window list)_NET_ACTIVE_WINDOW— returns0x0(no active window tracked)_NET_SUPPORTED— only lists a few atoms, not the full EWMH setImpact
Tools like cua-driver, xdotool, wmctrl, and other X11 automation utilities cannot:
Environment
Proposal
Implement EWMH compliance for the XWayland root window:
_NET_CLIENT_LISTwith all XWayland toplevel window IDs_NET_ACTIVE_WINDOWbased on the focused Wayland toplevel_NET_SUPPORTED_NET_WM_NAMEandWM_CLASSon XWayland windows (may already work via xwayland-satellite)This would enable X11 automation tools to interoperate with ShojiWM-managed windows.