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
setLevel:NSFloatingWindowLevel kept utility windows above the main
emulator window, but it also kept them above every other app's normal
windows — Cmd-Tab away to a browser or editor and the inspector still
hovered on top. NSFloatingWindowLevel is global; macOS does not expose a
"per-app floating" level.
Replace it with addChildWindow:ordered:NSWindowAbove against the main
emulator window in eight controllers (Debugger, Memory Browser, POKE
Finder, POKEs/Cheats, Preferences, Save Binary, Load Binary, Rollback).
Inside FuseX a child window is guaranteed to stay above its parent;
across apps both sink together when FuseX is no longer frontmost and
rise together when it returns. The Joystick configuration sub-dialog
already added itself as a child of Preferences and now becomes a
grandchild of the main window — NSWindow supports nested relationships.
The Debugger pops up unprompted on a breakpoint, possibly while the
user has Cmd-Tabbed away or minimized the main window. Preserve that
requirement in debugger_activate: by activating FuseX and
deminiaturizing the main window before adding the child relationship —
both calls are no-ops when FuseX is already frontmost and visible.
Once the panel is up the user is in control: switching away sinks it
with the rest of FuseX, returning rises it above main again.
0 commit comments