Fix Stage Manager window slide when closing popover - #93
Conversation
Removed NSApp.activate(ignoringOtherApps:) from openPopover() as it caused Stage Manager to treat the app activation as a scene switch, making Chrome and other windows slide to the side stage when the popover is closed.
|
Thanks for the clear write-up and Stage Manager-specific test notes. The root cause makes sense: avoiding foreground app activation for a status-item popover should prevent Stage Manager from treating it like a scene switch. If you want a full code review pass from me, request my review and I’ll run through the diff properly. (。•̀ᴗ-)✧ |
|
@typeey can you review if this can lead a side effect or any regressions |
There was a problem hiding this comment.
No actionable side-effect or regression risk found in this change. The removed activation was only on the popover-open path; the code still explicitly activates when opening real Preferences/About windows, while status-item clicks, the Carbon global hotkey, transient popover dismissal, and the existing focus notification path remain intact.
|
Thanks so much for this, @noah30000! 🙏 The diagnosis was spot-on — pinpointing This is bundled into 2.2.3, which is currently in App Store review — it'll go live automatically once Apple approves. Really appreciate the contribution! 🎉 |
Problem
When closing the Allkdic popover with the hotkey, windows from other
apps (e.g. Chrome) slide to the side stage in Stage Manager. This is
caused by
NSApp.activate(ignoringOtherApps: true)inopenPopover(),which triggers Stage Manager to treat the app activation as a scene
switch. When the popover is then closed, Stage Manager animates the
transition back, making other windows appear to slide sideways.
Solution
Removed
NSApp.activate(ignoringOtherApps:)fromopenPopover().NSPopover shown relative to a status bar button works correctly without
activating the app, and Stage Manager no longer slides other windows.
Testing
Tested with Stage Manager enabled on macOS 26.5. Chrome no longer
slides when opening/closing the Allkdic popover.
Summary by cubic
Prevent Stage Manager from sliding other app windows when toggling the Allkdic status bar popover. Removed
NSApp.activate(ignoringOtherApps: true)fromopenPopover()so showing the popover doesn’t trigger a scene switch.Written for commit 0746a14. Summary will update on new commits.