Windows-first desktop control panel for arranging and synchronizing up to twenty external application windows.
- Tauri 2 shell with React + Vite frontend
- Real Windows window discovery via
EnumWindows - Real monitor discovery via
EnumDisplayMonitors - Real tile / stack arrangement via
SetWindowPos - Live simplified Windows click sync via low-level mouse hooks plus background window-message dispatch
- Session state for primary window, targets, monitor, and layout mode
- JSON profile storage
- Permission / integrity-level warnings surfaced in the UI
src/: React control panelsrc-tauri/src/platform/windows/: Win32 adapter layer and sync runtimesrc-tauri/src/layout_engine.rs: tile / stack calculationssrc-tauri/src/sync_session.rs: runtime session state and validationdocs/architecture.md: native architecture and boundariesdocs/implementation-plan.md: phased task list for hardening and compatibility follow-up
- Install frontend dependencies:
cmd /c npm install- Start the app:
cargo tauri devIf PowerShell execution policy blocks npm.ps1, keep using cmd /c npm ... from this workspace.
This repo now supports the full Windows-first control flow:
- discovery
- selection
- layout
- profile persistence
- start/stop live sync
- best-effort mouse, wheel, and keyboard mirroring
The important caveat is app compatibility, not missing code. The current engine uses background window-message dispatch, so behavior can still vary by app family:
- classic Win32 apps: usually the best fit
- Chromium/Electron apps: mixed, depends on which child window actually consumes input
- games / custom renderers / elevated targets: often unreliable or blocked
- IME, dead keys, and some international keyboard paths: still best-effort only
The remaining spike work is about measuring and hardening those cases, not about bootstrapping the feature from zero.