Android Studio "Find in Files" popup visible on other workspaces #1820
Replies: 3 comments
-
|
Made a PR, fix works for me #1821 |
Beta Was this translation helpful? Give feedback.
-
|
AeroSpace could mitigate this bug by hiding and unhiding popup windows as well (but these windows should be still treated as popups because - #1821 (comment)) But for other 99.9% applications this is not needed since these apps move/hide/manage their popups themselves, and I am hesitant to do this change specifically for IntelliJ as I find this bug quite minor. |
Beta Was this translation helpful? Give feedback.
-
|
FYI, this effects other apps in similar ways, like with Xcode's "Welcome to Xcode" dialog #2045. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Title: Android Studio "Find in Files" popup visible on other workspaces
Steps to reproduce:
Cmd+Shift+FExpected result:
The Find in Files popup should stay on workspace 3 with Android Studio.
Actual result:
The Find in Files popup appears visually on workspace 1 (and other workspaces).
Additional info
macOS: 15.7.1
Android Studio: Narwhal Feature Drop 2025.1.2 Canary 7 (AI-252.27397.103.2523.14473358)
Debug output for Find in Files (broken):
Debug output for Registry dialog (works correctly):
Analysis:
The Find in Files window has
AXSubrole: "AXUnknown"(bad accessibility metadata from Java/Swing), so AeroSpace classifies it as a "popup" and puts it inMacosPopupWindowsContainerwith no workspace assignment.The window is 1160x881px - much larger than typical popups (autocomplete, tooltips). Other Android Studio dialogs like "Registry" have
AXSubrole: "AXStandardWindow"and work correctly.Root cause:
Looking at
AxUiElementWindowType.swift, the Find in Files popup failsisWindowHeuristicOldbecause:closeButtonAttr == nil,fullscreenButtonAttr == nil, etc.)subrole == "AXUnknown"(notkAXStandardWindowSubrole,kAXDialogSubrole, orkAXFloatingWindowSubrole)So it returns
falsefromisWindowHeuristicOld→ classified as popup → goes toMacosPopupWindowsContainerwith no workspace.Suggested fix:
Add Android Studio / JetBrains handling similar to Firefox, Ghostty, etc. In
isWindowHeuristicOldorisWindowHeuristic:Or alternatively, treat large
AXUnknownwindows (>400x300) as windows rather than popups for all apps, since real popups (tooltips, autocomplete menus) are typically much smaller.Beta Was this translation helpful? Give feedback.
All reactions