Core workflow
Grid Screen separates presentation from desktop operations:
- The Svelte webview requests bootstrap data through typed Tauri commands.
- Rust loads settings and layouts, asks the platform adapter for screens and windows, filters eligible windows, and returns a
BootstrapDatavalue. - Svelte keeps drag assignments, selected screen, selected layout, and temporary slider overrides in stores.
- The arrange action sends a typed
ArrangeRequestback through Tauri IPC. - Rust computes zones and validates all assignments before calling the active
PlatformAdapter. - The adapter performs the platform-specific operation and returns an actual rectangle or an error.
The PlatformAdapter boundary is important: X11 is the current moving-window implementation. Wayland implements enumeration but explicitly returns an arrangement error, so the UI cannot turn Wayland into a native tiling workflow by changing a setting.
Workspace and screen events are registered by the frontend. A workspace change clears assignments and refreshes windows; a screen change displays a warning.