You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, not sure if this is related to the roadmap issue about having a dedicated screen space for max but here goes.
When clicking the resume game button in steam big picture mode nothing happens.
I think it's related to there launching two programs when starting a game with notproton.
I think it's switching to the non-active application.
Any clue on how I can fix this?
I investigated the disassembly of Steam's steamui.dylib (ActivateApplication) and steamclient.dylib (ActivateProcess), confirmed the exact root cause, and submitted PR #283 fixing this:
Why this happens:
When clicking Resume Game, Steam invokes [NSRunningApplication runningApplicationWithProcessIdentifier:tracked_pid] activateWithOptions:NSApplicationActivateIgnoringOtherApps.
For native macOS games, Steam tracks the game's GUI application process directly, which has an NSRunningApplication, so window activation succeeds.
For NotProton games, Steam tracks the /bin/sh shell wrapper running compat_run.sh. Because /bin/sh is a non-GUI CLI process (not an application bundle), runningApplicationWithProcessIdentifier: returns nil.
Calling [nil activateWithOptions:2] silently returns NO. Steam closes Big Picture anyway, but WindowServer never brings the game forward, dropping focus to whatever inactive background application was behind Big Picture ("switching to the non-active application").
In dylib/hooks/hook_activate.c: hooks +[NSRunningApplication runningApplicationWithProcessIdentifier:] to resolve the child game PID via proc_listchildpids or the newest non-terminated com.notproton.launcher.* bundle in NSWorkspace.runningApplications.
In overlay-shim/overlay_shim.m: dispatches [NSApp activateIgnoringOtherApps:YES] on the main thread inside Wine when the overlay deactivates (np_overlay_shim_set_active(0)).
Activity
NotProtonNot commentedon Oct 31, 2026
Does this occur with native macOS games? I think it does/is a Steam issue. Something I can work on, though.
rapheljr commentedon Nov 2, 2026
I investigated the disassembly of Steam's
steamui.dylib(ActivateApplication) andsteamclient.dylib(ActivateProcess), confirmed the exact root cause, and submitted PR #283 fixing this:Why this happens:
[NSRunningApplication runningApplicationWithProcessIdentifier:tracked_pid] activateWithOptions:NSApplicationActivateIgnoringOtherApps.NSRunningApplication, so window activation succeeds./bin/shshell wrapper runningcompat_run.sh. Because/bin/shis a non-GUI CLI process (not an application bundle),runningApplicationWithProcessIdentifier:returnsnil.[nil activateWithOptions:2]silently returnsNO. Steam closes Big Picture anyway, but WindowServer never brings the game forward, dropping focus to whatever inactive background application was behind Big Picture ("switching to the non-active application").Fix in #283:
dylib/hooks/hook_activate.c: hooks+[NSRunningApplication runningApplicationWithProcessIdentifier:]to resolve the child game PID viaproc_listchildpidsor the newest non-terminatedcom.notproton.launcher.*bundle inNSWorkspace.runningApplications.overlay-shim/overlay_shim.m: dispatches[NSApp activateIgnoringOtherApps:YES]on the main thread inside Wine when the overlay deactivates (np_overlay_shim_set_active(0)).