Skip to content

Profiles And Matching

Riqqqque edited this page Jun 1, 2026 · 2 revisions

Profiles And Matching

Profiles tell WindowAutoLayout what workspace to restore. Matching rules tell it which real Windows windows belong to each app entry.

Profile Structure

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.

Matching Order

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.

Process Names

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.

Title Rules

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 Names

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.

Hidden And Minimized Windows

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.

Launching Missing Apps

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.

Monitor Targeting

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:

  1. app-level target monitor
  2. profile target monitor
  3. default monitor
  4. fallback behavior, if configured

If a monitor was unplugged or Windows changed monitor IDs, refresh monitors and save the layout again.

Elevated Apps

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.

Clone this wiki locally