-
Notifications
You must be signed in to change notification settings - Fork 0
Performance And Gaming
WindowAutoLayout is designed to stay useful in the tray without competing with a game, mouse input, or the desktop compositor.
The app does not register:
- global keyboard hooks
- global mouse hooks
- raw-input listeners
- system-wide hotkeys
- synthetic keyboard or mouse input
Tauri's optional device event stream is explicitly filtered out. A startup diagnostic verifies that the process has no registered raw-input devices.
Tray-only mode uses one native process. The React/WebView interface is created only when the visible app window opens. Closing the interface to the tray destroys that WebView process tree instead of leaving a hidden browser runtime alive.
Automatic restore is based on Windows accessibility/shell events and a condition-variable worker. There is no recurring five-second scan and no animation or render loop while the UI is closed.
WindowAutoLayout lowers its process and restore-worker priority to Below normal. A game or other normal-priority foreground workload wins scheduler time.
Before and during restore, the app checks whether a known game or true fullscreen window is foreground. A background restore aborts or pauses instead of continuing window enumeration, launch waits, repaint work, or placement retries over gameplay.
All recovery work is tied to an explicit restore or a relevant Windows event:
- launch detection has a timeout and retry interval
- placement verification uses a short fixed set of checks
- repaint recovery is one-shot and state-checked
- OBS presentation recovery is bounded and skipped during games
- restore events caused by WindowAutoLayout itself are temporarily suppressed
Nothing keeps repainting or resizing windows after restore finishes.
Measure the installed app, not a development server:
- Close WindowAutoLayout to the tray.
- Confirm there is one
WindowAutoLayout.exeprocess. - Confirm no WindowAutoLayout-owned WebView2 child remains.
- Sample CPU for at least 20 seconds while no restore is running.
- Trigger one restore and confirm activity returns to idle afterward.
The release checklist requires an installed tray-only CPU sample and a child-process check before publication.
Moving and repainting windows necessarily asks Windows and the target apps to do brief work when a restore is triggered. WindowAutoLayout minimizes that work by skipping windows already at the saved rectangle, coalescing duplicate requests, avoiding focus changes in background restores, and doing no restore work during gameplay.
WindowAutoLayout documentation. Repository: https://github.com/Riqqqque/WindowAutoLayout