-
Notifications
You must be signed in to change notification settings - Fork 0
Profiles And Matching
Profiles tell WindowAutoLayout what workspace to restore. Matching rules tell it which real Windows windows belong to each app entry.
A profile contains:
- profile name
- optional description
- optional target monitor
- app entries
- startup restore setting
- lock-after-restore setting
An app entry can override the profile monitor. That is useful when one profile spans more than one screen.
WindowAutoLayout uses several signals to decide whether a window belongs to an app entry:
| Signal | Example |
|---|---|
| Process name |
obs64.exe, Discord.exe, brave.exe
|
| Executable path | C:\Program Files\obs-studio\bin\64bit\obs64.exe |
| Title rule | title starts with OBS
|
| Class name | advanced Win32 class matching |
| Window visibility | visible, hidden, or minimized |
| Launch PID | process started by the restore action |
The safest everyday match is process name plus a saved layout.
Use the real executable name. Examples:
| App | Process Name |
|---|---|
| OBS Studio | obs64.exe |
| Discord | Discord.exe |
| Steam | steam.exe |
| Brave | brave.exe |
| Chrome | chrome.exe |
| Spotify | Spotify.exe |
WindowAutoLayout accepts process names with or without .exe in many cases, but the full exe name is clearer.
Use a title rule when one process has several windows and process name is not enough.
Common cases:
- browser profiles
- multiple browser windows
- apps with detached tool panels
- launchers with login/update windows
Avoid title rules that are too strict for browser windows because browser titles change with active tabs.
Class name matching is advanced. Use it only when process and title are not enough.
Class names are useful for:
- excluding helper windows
- matching apps with stable native classes
- debugging odd Windows behavior
If class matching causes restore to miss the window, remove it and test with process name first.
These settings matter for tray apps:
| Setting | Behavior |
|---|---|
| Restore if minimized | Restores minimized windows before moving |
| Pull hidden/tray windows | Allows hidden windows to be considered |
| Wake running tray apps | Tries to show an app that is running without a normal top-level window |
For OBS and Discord, keep all three enabled.
When launch is enabled, restore starts apps that are not running. It can use:
- exact executable path
- configured arguments
- configured working directory
- Windows app paths
- Start Menu shortcuts
- common install folders
PATH
After launch, WindowAutoLayout waits for the real matching window instead of moving the first helper window it sees.
Layouts are saved relative to a monitor. This helps when monitor coordinates are negative or when the target screen is not the primary display.
Target priority:
- app-level target monitor
- profile target monitor
- default monitor
- fallback behavior, if configured
If a monitor was unplugged or Windows changed monitor IDs, refresh monitors and save the layout again.
Windows can block a normal app from moving elevated/admin windows.
If a target app is running as administrator and restore fails:
- run the target app normally when possible
- or run WindowAutoLayout elevated too
Normal streaming workflows should not need admin rights.
WindowAutoLayout documentation. Repository: https://github.com/Riqqqque/WindowAutoLayout