Skip to content

OBS And Tray Apps

Riqqqque edited this page Aug 16, 2026 · 2 revisions

OBS And Tray Apps

OBS can remain running in the system tray with Replay Buffer enabled. WindowAutoLayout should recover the existing OBS process, wait for its real main surface, place it, and leave the interface painted without requiring a taskbar click.

Recommended OBS Entry

Setting Recommended value
Display name OBS Studio
Process name obs64.exe
Restore if minimized On
Pull hidden/tray windows On
Wake running tray apps On
Move when already running On
Force saved size On
Detection timeout At least 25 seconds
Retry interval Around 700 ms

Whether a fully closed OBS process may start is controlled by Launch apps that are closed in Settings.

Why OBS Needs Special Handling

When OBS hides to its Qt tray, Windows may expose no usable main window, or may expose detached docks such as Stats before the real frame. Pulling a stale hidden frame with a generic show call can produce a titled white shell until OBS is manually activated.

WindowAutoLayout's OBS path:

  1. Confirms obs64.exe is already running.
  2. Rejects detached OBS dock windows unless the app entry explicitly targets one.
  3. Uses OBS's Qt tray activation path only when the main window is truly hidden.
  4. Waits for the real main surface and lets it settle.
  5. Applies the saved physical rectangle.
  6. Samples the client surface and runs one bounded presentation recovery if it is still blank.
  7. Rechecks final geometry without leaving OBS focused during a background restore.

This path is skipped if a game/fullscreen app becomes foreground.

Expected Logs

Depending on the starting state, a successful restore may include:

Asked tray icon to restore hidden running window
Applied layout to 1 window(s)
Restore finished with status Success

If OBS is already visible and correctly placed, the log may instead say the matching window already matched the saved layout.

Avoid Detached Docks

Do not capture a detached Stats, Stream Chat, Stream Information, or other dock unless that dock is intentionally a separate profile item.

For the main OBS entry:

  1. Open the real OBS main frame.
  2. Select it on Layout.
  3. Save it to the OBS entry.
  4. Confirm the process is obs64.exe and the title rule is broad enough for the main OBS title.

Duplicate OBS Prompt

An OBS is already running prompt means a launch path ran instead of recovering the existing process. Check:

  • only one OBS entry exists in the active profile
  • process name is obs64.exe
  • hidden-window pulling and wake-running-process are enabled
  • the installed WindowAutoLayout build is current
  • the profile does not use an overly strict title/class rule

Other Tray Apps

OpenLaunchDeck

WindowAutoLayout detects a running OpenLaunchDeck tray process and uses its supported --show single-instance handoff. Background/minimized launch flags are removed only for that show request, preventing a duplicate long-running instance.

Discord And Electron Apps

Electron apps can expose updater or splash windows before their main surface. For force-resized entries, WindowAutoLayout ignores undersized launch surfaces and waits for a plausible real window before placement.

Generic Tray Apps

Use the real process name, enable hidden/minimized recovery, and avoid strict title rules unless one process owns multiple windows. A running tray process is always checked before WindowAutoLayout considers launching another copy.