Skip to main content

Compatibility and diagnostics

Platform status

EnvironmentWindow enumerationArrangement
X11Yes, through EWMH client-list lookup with a root-window fallbackIntended only; actual movement is unverified and may not work
WaylandRead-only top-level enumeration when the helper returns dataNo
No display adapterMock data pathNo meaningful desktop arrangement

The X11 adapter reports XRandR unavailable because extension detection is deferred. It creates a single screen from the X server root and should not be read as support for selecting independent monitor outputs.

X11 geometry protocol limitation

X11Adapter::move_resize_window builds its ClientMessageEvent with _NET_WM_STATE at src-tauri/src/x11_adapter.rs:376-381, rather than a valid _NET_MOVERESIZE_WINDOW geometry message. X11 is therefore the intended and only adapter path for arrangement, but actual move/resize behavior is unverified and may not work. The method can return success after sending and flushing that invalid geometry message without showing that the window manager moved a window.

Diagnostics

The Rust app initializes diagnostics inside the configuration directory and exposes a get_diagnostics command for capability information. The Settings view presents the corresponding status fields. When diagnosing an arrangement failure, first account for the X11 geometry protocol limitation above, then verify that the session is X11, the selected window remains present, and the window manager allows both move and resize.

Wayland arrangement failure is expected, not a diagnostic fault.