Skip to main content

Core workflow

Grid Screen separates presentation from desktop operations:

  1. The Svelte webview requests bootstrap data through typed Tauri commands.
  2. Rust loads settings and layouts, asks the platform adapter for screens and windows, filters eligible windows, and returns a BootstrapData value.
  3. Svelte keeps drag assignments, selected screen, selected layout, and temporary slider overrides in stores.
  4. The arrange action sends a typed ArrangeRequest back through Tauri IPC.
  5. Rust computes zones and validates all assignments before calling the active PlatformAdapter.
  6. 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.