junkpile

25 · Tauri v2 Multi-Display Output Manager

The final Tauri v2 Essential demonstrates how one controls WebView can manage three independent native WebGL output windows at the same time.

What it demonstrates

Window architecture

controls WebView
    │
    ├── multi-display-state ──► output-1 WebView / WebGL
    ├── multi-display-state ──► output-2 WebView / WebGL
    └── multi-display-state ──► output-3 WebView / WebGL

controls ── invoke ──► Rust monitor/window commands
outputs  ── status events ──► controls telemetry

Each output owns its own WebGL context. The controls window broadcasts one compact state object, and every output selects only the configuration matching its own Tauri label.

Procedural source bank

First test

  1. Run the project.
  2. Press Refresh displays.
  3. Assign Outputs 1–3 to different displays where available.
  4. Press Move for each output.
  5. Choose a different source route for each output.
  6. Press Fullscreen for each output.
  7. Change the master speed and individual phase offsets.
  8. Save the complete arrangement as a local layout.
  9. Export the layout as JSON and capture a snapshot from each output.

Run

npm install
npm run dev

Tauri v2 implementation notes