nikitabobko / AeroSpace

AeroSpace is an i3-like tiling window manager for macOS
https://nikitabobko.github.io/AeroSpace/guide
MIT License
7.82k stars 127 forks source link

Workspace switches automatically when workspace has window present behind virtual display #455

Open hwamil opened 3 months ago

hwamil commented 3 months ago

This may be a Parallels Desktop specific issue.

To reproduce:

Result:

Current workaround:

aerospace debug-windows:

com.github.wez.wezterm.window.50 windowId: 50
com.github.wez.wezterm.window.50 workspace: T
com.github.wez.wezterm.window.50 treeNodeParent: AppBundle.TilingContainer
com.github.wez.wezterm.window.50 recognizedAsDialog: false
com.github.wez.wezterm.window.50 AXTitle: Optional(aerospace debug-wind ~/.c/aerospace)
com.github.wez.wezterm.window.50 AXRole: Optional(AXWindow)
com.github.wez.wezterm.window.50 AXSubrole: Optional(AXStandardWindow)
com.github.wez.wezterm.window.50 AXFocused: Optional(1)
com.github.wez.wezterm.window.50 AXFullScreen: Optional(0)
com.github.wez.wezterm.window.50 AXFrame: Optional(<AXValue 0x60000230d0c0> {value = x:20.000000 y:45.000000 w:1880.000000 h:1014.000000 type = kAXValueCGRectType})
com.github.wez.wezterm.window.50 AXPosition: Optional(<AXValue 0x600003930840> {value = x:20.000000 y:45.000000 type = kAXValueCGPointType})
com.github.wez.wezterm.window.50 AXGrowArea: nil
com.github.wez.wezterm.window.50 AXMinimizeButton: AXUIElement {
com.github.wez.wezterm.window.50      AXRole: Optional(AXButton)
com.github.wez.wezterm.window.50      AXTitle: nil
com.github.wez.wezterm.window.50      AXSubrole: Optional(AXMinimizeButton)
com.github.wez.wezterm.window.50      AXEnabled: Optional(1)
com.github.wez.wezterm.window.50      AXParent: AXUIElement(windowId=50, title="aerospace debug-wind ~/.c/aerospace", role="AXWindow", subrole="AXStandardWindow")
com.github.wez.wezterm.window.50      AXTopLevelUIElement: AXUIElement(windowId=50, title="aerospace debug-wind ~/.c/aerospace", role="AXWindow", subrole="AXStandardWindow")
com.github.wez.wezterm.window.50      AXWindow: AXUIElement(windowId=50, title="aerospace debug-wind ~/.c/aerospace", role="AXWindow", subrole="AXStandardWindow")
com.github.wez.wezterm.window.50      Ignored: AXFrame, AXSize, AXFocused, AXHelp, AXPosition, AXRoleDescription
com.github.wez.wezterm.window.50 }
com.github.wez.wezterm.window.50 AXDocument: nil
com.github.wez.wezterm.window.50 AXSections: [
com.github.wez.wezterm.window.50 ]
com.github.wez.wezterm.window.50 AXCloseButton: AXUIElement {
com.github.wez.wezterm.window.50      AXRole: Optional(AXButton)
com.github.wez.wezterm.window.50      AXTitle: nil
com.github.wez.wezterm.window.50      AXSubrole: Optional(AXCloseButton)
com.github.wez.wezterm.window.50      AXEnabled: Optional(1)
com.github.wez.wezterm.window.50      AXParent: AXUIElement(windowId=50, title="aerospace debug-wind ~/.c/aerospace", role="AXWindow", subrole="AXStandardWindow")
com.github.wez.wezterm.window.50      AXTopLevelUIElement: AXUIElement(windowId=50, title="aerospace debug-wind ~/.c/aerospace", role="AXWindow", subrole="AXStandardWindow")
com.github.wez.wezterm.window.50      AXWindow: AXUIElement(windowId=50, title="aerospace debug-wind ~/.c/aerospace", role="AXWindow", subrole="AXStandardWindow")
com.github.wez.wezterm.window.50      Ignored: AXFrame, AXSize, AXFocused, AXHelp, AXPosition, AXRoleDescription, AXEdited
com.github.wez.wezterm.window.50 }
com.github.wez.wezterm.window.50 AXMain: Optional(1)
com.github.wez.wezterm.window.50 AXActivationPoint: Optional(<AXValue 0x6000038e4780> {value = x:30.000000 y:59.000000 type = kAXValueCGPointType})
com.github.wez.wezterm.window.50 AXFullScreenButton: AXUIElement {
com.github.wez.wezterm.window.50      AXRole: Optional(AXButton)
com.github.wez.wezterm.window.50      AXTitle: nil
com.github.wez.wezterm.window.50      AXSubrole: Optional(AXFullScreenButton)
com.github.wez.wezterm.window.50      AXEnabled: Optional(1)
com.github.wez.wezterm.window.50      AXParent: AXUIElement(windowId=50, title="aerospace debug-wind ~/.c/aerospace", role="AXWindow", subrole="AXStandardWindow")
com.github.wez.wezterm.window.50      AXTopLevelUIElement: AXUIElement(windowId=50, title="aerospace debug-wind ~/.c/aerospace", role="AXWindow", subrole="AXStandardWindow")
com.github.wez.wezterm.window.50      AXWindow: AXUIElement(windowId=50, title="aerospace debug-wind ~/.c/aerospace", role="AXWindow", subrole="AXStandardWindow")
com.github.wez.wezterm.window.50      Ignored: AXFrame, AXSize, AXFocused, AXChildren, AXHelp, AXPosition, AXRoleDescription
com.github.wez.wezterm.window.50 }
com.github.wez.wezterm.window.50 AXProxy: nil
com.github.wez.wezterm.window.50 AXDefaultButton: nil
com.github.wez.wezterm.window.50 AXMinimized: Optional(0)
com.github.wez.wezterm.window.50 AXParent: Optional(<AXUIElement Application 0x6000039330c0> {pid=531})
com.github.wez.wezterm.window.50 AXTitleUIElement: nil
com.github.wez.wezterm.window.50 AXCancelButton: nil
com.github.wez.wezterm.window.50 AXModal: Optional(0)
com.github.wez.wezterm.window.50 AXZoomButton: AXUIElement {
com.github.wez.wezterm.window.50      AXRole: Optional(AXButton)
com.github.wez.wezterm.window.50      AXTitle: nil
com.github.wez.wezterm.window.50      AXSubrole: Optional(AXFullScreenButton)
com.github.wez.wezterm.window.50      AXEnabled: Optional(1)
com.github.wez.wezterm.window.50      AXParent: AXUIElement(windowId=50, title="aerospace debug-wind ~/.c/aerospace", role="AXWindow", subrole="AXStandardWindow")
com.github.wez.wezterm.window.50      AXTopLevelUIElement: AXUIElement(windowId=50, title="aerospace debug-wind ~/.c/aerospace", role="AXWindow", subrole="AXStandardWindow")
com.github.wez.wezterm.window.50      AXWindow: AXUIElement(windowId=50, title="aerospace debug-wind ~/.c/aerospace", role="AXWindow", subrole="AXStandardWindow")
com.github.wez.wezterm.window.50      Ignored: AXFrame, AXSize, AXFocused, AXChildren, AXHelp, AXPosition, AXRoleDescription
com.github.wez.wezterm.window.50 }
com.github.wez.wezterm.window.50 AXSize: Optional(<AXValue 0x600003923c30> {value = w:1880.000000 h:1014.000000 type = kAXValueCGSizeType})
com.github.wez.wezterm.window.50 AXToolbarButton: nil
com.github.wez.wezterm.window.50 Ignored: AXChildrenInNavigationOrder, AXChildren, AXRoleDescription
com.github.wez.wezterm           AXRole: Optional(AXApplication)
com.github.wez.wezterm           AXTitle: Optional(WezTerm)
com.github.wez.wezterm           AXFunctionRowTopLevelElements: [
com.github.wez.wezterm           ]
com.github.wez.wezterm           AXFrame: nil
com.github.wez.wezterm           AXFocusedUIElement: AXUIElement(windowId=50, title="aerospace debug-wind ~/.c/aerospace", role="AXWindow", subrole="AXStandardWindow")
com.github.wez.wezterm           AXFrontmost: Optional(1)
com.github.wez.wezterm           AXExtrasMenuBar: nil
com.github.wez.wezterm           AXMainWindow: AXUIElement(windowId=50, title="aerospace debug-wind ~/.c/aerospace", role="AXWindow", subrole="AXStandardWindow")
com.github.wez.wezterm           AXFocusedWindow: AXUIElement(windowId=50, title="aerospace debug-wind ~/.c/aerospace", role="AXWindow", subrole="AXStandardWindow")
com.github.wez.wezterm           AXMenuBar: Optional(<AXUIElement 0x600003911740> {pid=531})
com.github.wez.wezterm           AXWindows: [
com.github.wez.wezterm               AXUIElement(windowId=50, title="aerospace debug-wind ~/.c/aerospace", role="AXWindow", subrole="AXStandardWindow")
com.github.wez.wezterm           ]
com.github.wez.wezterm           AXSize: nil
com.github.wez.wezterm           AXPosition: nil
com.github.wez.wezterm           Ignored: AXChildren, AXChildrenInNavigationOrder, AXEnhancedUserInterface, AXPreferredLanguage, AXRoleDescription, AXHidden

com.parallels.desktop.console.window.7239 windowId: 7239
com.parallels.desktop.console.window.7239 workspace: V
com.parallels.desktop.console.window.7239 treeNodeParent: AppBundle.MacosFullscreenWindowsContainer
com.parallels.desktop.console.window.7239 recognizedAsDialog: false
com.parallels.desktop.console.window.7239 AXTitle: Optional(Work)
com.parallels.desktop.console.window.7239 AXRole: Optional(AXWindow)
com.parallels.desktop.console.window.7239 AXSubrole: Optional(AXStandardWindow)
com.parallels.desktop.console.window.7239 AXIdentifier: Optional({aa3d05c2-2638-43d7-8c54-e8f9938e4865})
com.parallels.desktop.console.window.7239 AXFocused: Optional(1)
com.parallels.desktop.console.window.7239 AXFullScreen: Optional(1)
com.parallels.desktop.console.window.7239 AXFrame: Optional(<AXValue 0x600002311780> {value = x:0.000000 y:0.000000 w:1920.000000 h:1080.000000 type = kAXValueCGRectType})
com.parallels.desktop.console.window.7239 AXPosition: Optional(<AXValue 0x600003930180> {value = x:0.000000 y:0.000000 type = kAXValueCGPointType})
com.parallels.desktop.console.window.7239 AXGrowArea: nil
com.parallels.desktop.console.window.7239 AXMinimizeButton: AXUIElement {
com.parallels.desktop.console.window.7239      AXRole: Optional(AXButton)
com.parallels.desktop.console.window.7239      AXTitle: nil
com.parallels.desktop.console.window.7239      AXSubrole: Optional(AXMinimizeButton)
com.parallels.desktop.console.window.7239      AXEnabled: Optional(0)
com.parallels.desktop.console.window.7239      AXParent: AXUIElement(windowId=7242, title=nil, role="AXGroup", subrole=nil)
com.parallels.desktop.console.window.7239      AXTopLevelUIElement: AXUIElement(windowId=7239, title="Work", role="AXWindow", subrole="AXStandardWindow")
com.parallels.desktop.console.window.7239      AXWindow: AXUIElement(windowId=7239, title="Work", role="AXWindow", subrole="AXStandardWindow")
com.parallels.desktop.console.window.7239      Ignored: AXFrame, AXSize, AXFocused, AXHelp, AXPosition, AXRoleDescription
com.parallels.desktop.console.window.7239 }
com.parallels.desktop.console.window.7239 AXDocument: nil
com.parallels.desktop.console.window.7239 AXSections: [
com.parallels.desktop.console.window.7239         Optional({
com.parallels.desktop.console.window.7239             SectionDescription = Toolbar;
com.parallels.desktop.console.window.7239             SectionObject = "<AXUIElement 0x60000384e550> {pid=88781}";
com.parallels.desktop.console.window.7239             SectionUniqueID = AXToolbar;
com.parallels.desktop.console.window.7239         }),
com.parallels.desktop.console.window.7239         Optional({
com.parallels.desktop.console.window.7239             SectionObject = "<AXUIElement 0x6000038b51d0> {pid=88781}";
com.parallels.desktop.console.window.7239             SectionUniqueID = AXContainer;
com.parallels.desktop.console.window.7239         })
com.parallels.desktop.console.window.7239 ]
com.parallels.desktop.console.window.7239 AXCloseButton: AXUIElement {
com.parallels.desktop.console.window.7239      AXRole: Optional(AXButton)
com.parallels.desktop.console.window.7239      AXTitle: nil
com.parallels.desktop.console.window.7239      AXSubrole: Optional(AXCloseButton)
com.parallels.desktop.console.window.7239      AXEnabled: Optional(1)
com.parallels.desktop.console.window.7239      AXParent: AXUIElement(windowId=7242, title=nil, role="AXGroup", subrole=nil)
com.parallels.desktop.console.window.7239      AXTopLevelUIElement: AXUIElement(windowId=7239, title="Work", role="AXWindow", subrole="AXStandardWindow")
com.parallels.desktop.console.window.7239      AXWindow: AXUIElement(windowId=7239, title="Work", role="AXWindow", subrole="AXStandardWindow")
com.parallels.desktop.console.window.7239      Ignored: AXFrame, AXSize, AXFocused, AXHelp, AXPosition, AXRoleDescription, AXEdited
com.parallels.desktop.console.window.7239 }
com.parallels.desktop.console.window.7239 AXMain: Optional(1)
com.parallels.desktop.console.window.7239 AXActivationPoint: Optional(<AXValue 0x600003930180> {value = x:-1.000000 y:1081.000000 type = kAXValueCGPointType})
com.parallels.desktop.console.window.7239 AXFullScreenButton: AXUIElement {
com.parallels.desktop.console.window.7239      AXRole: Optional(AXButton)
com.parallels.desktop.console.window.7239      AXTitle: nil
com.parallels.desktop.console.window.7239      AXSubrole: Optional(AXZoomButton)
com.parallels.desktop.console.window.7239      AXEnabled: Optional(1)
com.parallels.desktop.console.window.7239      AXParent: AXUIElement(windowId=7242, title=nil, role="AXGroup", subrole=nil)
com.parallels.desktop.console.window.7239      AXTopLevelUIElement: AXUIElement(windowId=7239, title="Work", role="AXWindow", subrole="AXStandardWindow")
com.parallels.desktop.console.window.7239      AXWindow: AXUIElement(windowId=7239, title="Work", role="AXWindow", subrole="AXStandardWindow")
com.parallels.desktop.console.window.7239      Ignored: AXFrame, AXSize, AXFocused, AXChildren, AXHelp, AXPosition, AXRoleDescription
com.parallels.desktop.console.window.7239 }
com.parallels.desktop.console.window.7239 AXProxy: nil
com.parallels.desktop.console.window.7239 AXDefaultButton: nil
com.parallels.desktop.console.window.7239 AXMinimized: Optional(0)
com.parallels.desktop.console.window.7239 AXParent: Optional(<AXUIElement Application 0x6000038e60a0> {pid=88781})
com.parallels.desktop.console.window.7239 AXTitleUIElement: nil
com.parallels.desktop.console.window.7239 AXCancelButton: nil
com.parallels.desktop.console.window.7239 AXModal: Optional(0)
com.parallels.desktop.console.window.7239 AXZoomButton: AXUIElement {
com.parallels.desktop.console.window.7239      AXRole: Optional(AXButton)
com.parallels.desktop.console.window.7239      AXTitle: nil
com.parallels.desktop.console.window.7239      AXSubrole: Optional(AXZoomButton)
com.parallels.desktop.console.window.7239      AXEnabled: Optional(1)
com.parallels.desktop.console.window.7239      AXParent: AXUIElement(windowId=7242, title=nil, role="AXGroup", subrole=nil)
com.parallels.desktop.console.window.7239      AXTopLevelUIElement: AXUIElement(windowId=7239, title="Work", role="AXWindow", subrole="AXStandardWindow")
com.parallels.desktop.console.window.7239      AXWindow: AXUIElement(windowId=7239, title="Work", role="AXWindow", subrole="AXStandardWindow")
com.parallels.desktop.console.window.7239      Ignored: AXFrame, AXSize, AXFocused, AXChildren, AXHelp, AXPosition, AXRoleDescription
com.parallels.desktop.console.window.7239 }
com.parallels.desktop.console.window.7239 AXSize: Optional(<AXValue 0x6000038123a0> {value = w:1920.000000 h:1080.000000 type = kAXValueCGSizeType})
com.parallels.desktop.console.window.7239 AXToolbarButton: nil
com.parallels.desktop.console.window.7239 Ignored: AXChildrenInNavigationOrder, AXChildren, AXRoleDescription
com.parallels.desktop.console             AXRole: Optional(AXApplication)
com.parallels.desktop.console             AXTitle: Optional(Parallels Desktop)
com.parallels.desktop.console             AXFunctionRowTopLevelElements: [
com.parallels.desktop.console             ]
com.parallels.desktop.console             AXFrame: nil
com.parallels.desktop.console             AXFocusedUIElement: AXUIElement(windowId=7239, title="Work", role="AXWindow", subrole="AXStandardWindow")
com.parallels.desktop.console             AXFrontmost: Optional(1)
com.parallels.desktop.console             AXExtrasMenuBar: Optional(<AXUIElement 0x60000381ee80> {pid=88781})
com.parallels.desktop.console             AXMainWindow: AXUIElement(windowId=7239, title="Work", role="AXWindow", subrole="AXStandardWindow")
com.parallels.desktop.console             AXFocusedWindow: AXUIElement(windowId=7239, title="Work", role="AXWindow", subrole="AXStandardWindow")
com.parallels.desktop.console             AXMenuBar: Optional(<AXUIElement 0x6000039128e0> {pid=88781})
com.parallels.desktop.console             AXWindows: [
com.parallels.desktop.console             ]
com.parallels.desktop.console             AXSize: nil
com.parallels.desktop.console             AXPosition: nil
com.parallels.desktop.console             Ignored: AXChildren, AXChildrenInNavigationOrder, AXEnhancedUserInterface, AXPreferredLanguage, AXRoleDescription, AXHidden

com.parallels.desktop.console.window.7301 windowId: 7301
com.parallels.desktop.console.window.7301 workspace: nil
com.parallels.desktop.console.window.7301 treeNodeParent: AppBundle.MacosPopupWindowsContainer
com.parallels.desktop.console.window.7301 recognizedAsDialog: true
com.parallels.desktop.console.window.7301 AXTitle: Optional(Work)
com.parallels.desktop.console.window.7301 AXRole: Optional(AXWindow)
com.parallels.desktop.console.window.7301 AXSubrole: Optional(AXUnknown)
com.parallels.desktop.console.window.7301 AXIdentifier: Optional({fc5f2d92-8bac-44ee-9d11-9d7eec34268f})
com.parallels.desktop.console.window.7301 AXFocused: Optional(1)
com.parallels.desktop.console.window.7301 AXFullScreen: Optional(0)
com.parallels.desktop.console.window.7301 AXFrame: Optional(<AXValue 0x6000023ca100> {value = x:1920.000000 y:0.000000 w:1920.000000 h:1080.000000 type = kAXValueCGRectType})
com.parallels.desktop.console.window.7301 AXPosition: Optional(<AXValue 0x6000039372a0> {value = x:1920.000000 y:0.000000 type = kAXValueCGPointType})
com.parallels.desktop.console.window.7301 AXGrowArea: nil
com.parallels.desktop.console.window.7301 AXMinimizeButton: nil
com.parallels.desktop.console.window.7301 AXDocument: nil
com.parallels.desktop.console.window.7301 AXSections: [
com.parallels.desktop.console.window.7301 ]
com.parallels.desktop.console.window.7301 AXCloseButton: nil
com.parallels.desktop.console.window.7301 AXMain: Optional(0)
com.parallels.desktop.console.window.7301 AXActivationPoint: Optional(<AXValue 0x6000039114d0> {value = x:-1.000000 y:1081.000000 type = kAXValueCGPointType})
com.parallels.desktop.console.window.7301 AXFullScreenButton: nil
com.parallels.desktop.console.window.7301 AXProxy: nil
com.parallels.desktop.console.window.7301 AXDefaultButton: nil
com.parallels.desktop.console.window.7301 AXMinimized: Optional(0)
com.parallels.desktop.console.window.7301 AXParent: Optional(<AXUIElement Application 0x6000039114d0> {pid=88781})
com.parallels.desktop.console.window.7301 AXTitleUIElement: nil
com.parallels.desktop.console.window.7301 AXCancelButton: nil
com.parallels.desktop.console.window.7301 AXModal: Optional(0)
com.parallels.desktop.console.window.7301 AXZoomButton: nil
com.parallels.desktop.console.window.7301 AXSize: Optional(<AXValue 0x60000392aee0> {value = w:1920.000000 h:1080.000000 type = kAXValueCGSizeType})
com.parallels.desktop.console.window.7301 AXToolbarButton: nil
com.parallels.desktop.console.window.7301 Ignored: AXChildrenInNavigationOrder, AXChildren, AXRoleDescription
com.parallels.desktop.console             AXRole: Optional(AXApplication)
com.parallels.desktop.console             AXTitle: Optional(Parallels Desktop)
com.parallels.desktop.console             AXFunctionRowTopLevelElements: [
com.parallels.desktop.console             ]
com.parallels.desktop.console             AXFrame: nil
com.parallels.desktop.console             AXFocusedUIElement: AXUIElement(windowId=7301, title="Work", role="AXWindow", subrole="AXUnknown")
com.parallels.desktop.console             AXFrontmost: Optional(1)
com.parallels.desktop.console             AXExtrasMenuBar: Optional(<AXUIElement 0x600003906070> {pid=88781})
com.parallels.desktop.console             AXMainWindow: AXUIElement(windowId=7239, title="Work", role="AXWindow", subrole="AXStandardWindow")
com.parallels.desktop.console             AXFocusedWindow: AXUIElement(windowId=7301, title="Work", role="AXWindow", subrole="AXUnknown")
com.parallels.desktop.console             AXMenuBar: Optional(<AXUIElement 0x6000038e7240> {pid=88781})
com.parallels.desktop.console             AXWindows: [
com.parallels.desktop.console                 AXUIElement(windowId=7301, title="Work", role="AXWindow", subrole="AXUnknown"),
com.parallels.desktop.console                 AXUIElement(windowId=7239, title="Work", role="AXWindow", subrole="AXStandardWindow"),
com.parallels.desktop.console                 AXUIElement(windowId=7244, title="", role="AXWindow", subrole="AXUnknown"),
com.parallels.desktop.console                 AXUIElement(windowId=7243, title="", role="AXWindow", subrole="AXUnknown")
com.parallels.desktop.console             ]
com.parallels.desktop.console             AXSize: nil
com.parallels.desktop.console             AXPosition: nil
com.parallels.desktop.console             Ignored: AXChildren, AXChildrenInNavigationOrder, AXEnhancedUserInterface, AXPreferredLanguage, AXRoleDescription, AXHidden

org.mozilla.firefox.window.443 windowId: 443
org.mozilla.firefox.window.443 workspace: 9
org.mozilla.firefox.window.443 treeNodeParent: AppBundle.TilingContainer
org.mozilla.firefox.window.443 recognizedAsDialog: false
org.mozilla.firefox.window.443 AXTitle: Optional(|| wwanc - Synology NAS)
org.mozilla.firefox.window.443 AXRole: Optional(AXWindow)
org.mozilla.firefox.window.443 AXSubrole: Optional(AXStandardWindow)
org.mozilla.firefox.window.443 AXFocused: Optional(1)
org.mozilla.firefox.window.443 AXFullScreen: Optional(0)
org.mozilla.firefox.window.443 AXFrame: Optional(<AXValue 0x600002366340> {value = x:1940.000000 y:20.000000 w:1880.000000 h:1039.000000 type = kAXValueCGRectType})
org.mozilla.firefox.window.443 AXPosition: Optional(<AXValue 0x600003923f00> {value = x:1940.000000 y:20.000000 type = kAXValueCGPointType})
org.mozilla.firefox.window.443 AXGrowArea: nil
org.mozilla.firefox.window.443 AXMinimizeButton: AXUIElement {
org.mozilla.firefox.window.443      AXRole: Optional(AXButton)
org.mozilla.firefox.window.443      AXTitle: nil
org.mozilla.firefox.window.443      AXSubrole: Optional(AXMinimizeButton)
org.mozilla.firefox.window.443      AXEnabled: Optional(1)
org.mozilla.firefox.window.443      AXParent: AXUIElement(windowId=443, title="|| wwanc - Synology NAS", role="AXWindow", subrole="AXStandardWindow")
org.mozilla.firefox.window.443      AXTopLevelUIElement: AXUIElement(windowId=443, title="|| wwanc - Synology NAS", role="AXWindow", subrole="AXStandardWindow")
org.mozilla.firefox.window.443      AXWindow: AXUIElement(windowId=443, title="|| wwanc - Synology NAS", role="AXWindow", subrole="AXStandardWindow")
org.mozilla.firefox.window.443      Ignored: AXFrame, AXSize, AXFocused, AXHelp, AXPosition, AXRoleDescription
org.mozilla.firefox.window.443 }
org.mozilla.firefox.window.443 AXDocument: nil
org.mozilla.firefox.window.443 AXSections: [
org.mozilla.firefox.window.443         Optional({
org.mozilla.firefox.window.443             SectionDescription = Content;
org.mozilla.firefox.window.443             SectionObject = "<AXUIElement 0x6000038e7a50> {pid=1881}";
org.mozilla.firefox.window.443             SectionUniqueID = AXContent;
org.mozilla.firefox.window.443         })
org.mozilla.firefox.window.443 ]
org.mozilla.firefox.window.443 AXCloseButton: AXUIElement {
org.mozilla.firefox.window.443      AXRole: Optional(AXButton)
org.mozilla.firefox.window.443      AXTitle: nil
org.mozilla.firefox.window.443      AXSubrole: Optional(AXCloseButton)
org.mozilla.firefox.window.443      AXEnabled: Optional(1)
org.mozilla.firefox.window.443      AXParent: AXUIElement(windowId=443, title="|| wwanc - Synology NAS", role="AXWindow", subrole="AXStandardWindow")
org.mozilla.firefox.window.443      AXTopLevelUIElement: AXUIElement(windowId=443, title="|| wwanc - Synology NAS", role="AXWindow", subrole="AXStandardWindow")
org.mozilla.firefox.window.443      AXWindow: AXUIElement(windowId=443, title="|| wwanc - Synology NAS", role="AXWindow", subrole="AXStandardWindow")
org.mozilla.firefox.window.443      Ignored: AXFrame, AXSize, AXFocused, AXHelp, AXPosition, AXRoleDescription, AXEdited
org.mozilla.firefox.window.443 }
org.mozilla.firefox.window.443 AXMain: Optional(1)
org.mozilla.firefox.window.443 AXActivationPoint: Optional(<AXValue 0x600003904840> {value = x:2010.000000 y:34.000000 type = kAXValueCGPointType})
org.mozilla.firefox.window.443 AXFullScreenButton: AXUIElement {
org.mozilla.firefox.window.443      AXRole: Optional(AXButton)
org.mozilla.firefox.window.443      AXTitle: nil
org.mozilla.firefox.window.443      AXSubrole: Optional(AXFullScreenButton)
org.mozilla.firefox.window.443      AXEnabled: Optional(1)
org.mozilla.firefox.window.443      AXParent: AXUIElement(windowId=443, title="|| wwanc - Synology NAS", role="AXWindow", subrole="AXStandardWindow")
org.mozilla.firefox.window.443      AXTopLevelUIElement: AXUIElement(windowId=443, title="|| wwanc - Synology NAS", role="AXWindow", subrole="AXStandardWindow")
org.mozilla.firefox.window.443      AXWindow: AXUIElement(windowId=443, title="|| wwanc - Synology NAS", role="AXWindow", subrole="AXStandardWindow")
org.mozilla.firefox.window.443      Ignored: AXFrame, AXSize, AXFocused, AXChildren, AXHelp, AXPosition, AXRoleDescription
org.mozilla.firefox.window.443 }
org.mozilla.firefox.window.443 AXProxy: nil
org.mozilla.firefox.window.443 AXDefaultButton: nil
org.mozilla.firefox.window.443 AXMinimized: Optional(0)
org.mozilla.firefox.window.443 AXParent: Optional(<AXUIElement Application 0x600003910060> {pid=1881})
org.mozilla.firefox.window.443 AXTitleUIElement: nil
org.mozilla.firefox.window.443 AXCancelButton: nil
org.mozilla.firefox.window.443 AXModal: Optional(0)
org.mozilla.firefox.window.443 AXZoomButton: AXUIElement {
org.mozilla.firefox.window.443      AXRole: Optional(AXButton)
org.mozilla.firefox.window.443      AXTitle: nil
org.mozilla.firefox.window.443      AXSubrole: Optional(AXFullScreenButton)
org.mozilla.firefox.window.443      AXEnabled: Optional(1)
org.mozilla.firefox.window.443      AXParent: AXUIElement(windowId=443, title="|| wwanc - Synology NAS", role="AXWindow", subrole="AXStandardWindow")
org.mozilla.firefox.window.443      AXTopLevelUIElement: AXUIElement(windowId=443, title="|| wwanc - Synology NAS", role="AXWindow", subrole="AXStandardWindow")
org.mozilla.firefox.window.443      AXWindow: AXUIElement(windowId=443, title="|| wwanc - Synology NAS", role="AXWindow", subrole="AXStandardWindow")
org.mozilla.firefox.window.443      Ignored: AXFrame, AXSize, AXFocused, AXChildren, AXHelp, AXPosition, AXRoleDescription
org.mozilla.firefox.window.443 }
org.mozilla.firefox.window.443 AXSize: Optional(<AXValue 0x60000391cd20> {value = w:1880.000000 h:1039.000000 type = kAXValueCGSizeType})
org.mozilla.firefox.window.443 AXToolbarButton: nil
org.mozilla.firefox.window.443 Ignored: AXChildrenInNavigationOrder, AXChildren, AXRoleDescription
org.mozilla.firefox            AXRole: Optional(AXApplication)
org.mozilla.firefox            AXTitle: Optional(Firefox)
org.mozilla.firefox            AXFunctionRowTopLevelElements: [
org.mozilla.firefox            ]
org.mozilla.firefox            AXFrame: nil
org.mozilla.firefox            AXFocusedUIElement: AXUIElement(windowId=443, title="|| wwanc - Synology NAS", role="AXGroup", subrole="AXUnknown")
org.mozilla.firefox            AXFrontmost: Optional(1)
org.mozilla.firefox            AXExtrasMenuBar: nil
org.mozilla.firefox            AXMainWindow: AXUIElement(windowId=443, title="|| wwanc - Synology NAS", role="AXWindow", subrole="AXStandardWindow")
org.mozilla.firefox            AXFocusedWindow: AXUIElement(windowId=443, title="|| wwanc - Synology NAS", role="AXWindow", subrole="AXStandardWindow")
org.mozilla.firefox            AXMenuBar: Optional(<AXUIElement 0x60000391e460> {pid=1881})
org.mozilla.firefox            AXWindows: [
org.mozilla.firefox            ]
org.mozilla.firefox            AXSize: nil
org.mozilla.firefox            AXPosition: nil
org.mozilla.firefox            Ignored: AXChildren, AXChildrenInNavigationOrder, AXEnhancedUserInterface, AXPreferredLanguage, AXRoleDescription, AXHidden

!!! DISCLAIMER !!!
!!! 'debug-windows' command is not stable API. Please don't rely on the command existence and output format !!!
!!! The only intended use case is to report bugs about incorrect windows handling !!!

Debug session finished

Checklist

aerospace CLI client version: 0.14.2-Beta 0cb8dbdfc5ee73b8cbc200f175f467ebead55201
AeroSpace.app server version: 0.14.2-Beta 0cb8dbdfc5ee73b8cbc200f175f467ebead55201
hwamil commented 2 months ago

Another Parallels specific issue I found:

To reproduce: