Skip to content

Avoid accessibility requests to windows on invisible workspaces #545

@bmfurtado

Description

@bmfurtado

Original title: iPhone Mirroring (macOS 15) app flickers on the corner when in another space

The new iPhone Mirroring app flickers on the corner of the screen when it's on another workspace.

Screen.Recording.2024-09-30.at.3.29.11.AM.mov

Not sure if it's relevant but here's the output of aerospace debug-windows:

com.apple.ScreenContinuity.window.1187 windowId: 1187
com.apple.ScreenContinuity.window.1187 workspace: 5
com.apple.ScreenContinuity.window.1187 treeNodeParent: Workspace(name: '5', isVisible: 'false', isEffectivelyEmpty: 'false', doKeepAlive: 'true')
com.apple.ScreenContinuity.window.1187 recognizedAsDialog: true
com.apple.ScreenContinuity.window.1187 AXTitle: Optional(iPhone Mirroring)
com.apple.ScreenContinuity.window.1187 AXRole: Optional(AXWindow)
com.apple.ScreenContinuity.window.1187 AXSubrole: Optional(AXStandardWindow)
com.apple.ScreenContinuity.window.1187 AXIdentifier: Optional(iphone-mirroring-main)
com.apple.ScreenContinuity.window.1187 AXFocused: Optional(0)
com.apple.ScreenContinuity.window.1187 AXFullScreen: Optional(0)
com.apple.ScreenContinuity.window.1187 AXFrame: Optional(<AXValue 0x60000379e600> {value = x:1784.000000 y:1008.000000 w:322.000000 h:718.000000 type = kAXValueCGRectType})
com.apple.ScreenContinuity.window.1187 AXPosition: Optional(<AXValue 0x600002c7d800> {value = x:1784.000000 y:1008.000000 type = kAXValueCGPointType})
com.apple.ScreenContinuity.window.1187 AXGrowArea: nil
com.apple.ScreenContinuity.window.1187 AXMinimizeButton: AXUIElement {
com.apple.ScreenContinuity.window.1187      AXRole: Optional(AXButton)
com.apple.ScreenContinuity.window.1187      AXTitle: nil
com.apple.ScreenContinuity.window.1187      AXSubrole: Optional(AXMinimizeButton)
com.apple.ScreenContinuity.window.1187      AXEnabled: Optional(1)
com.apple.ScreenContinuity.window.1187      AXParent: AXUIElement(windowId=1187, title=nil, role="AXGroup", subrole="AXHostingView")
com.apple.ScreenContinuity.window.1187      AXTopLevelUIElement: AXUIElement(windowId=1187, title="iPhone Mirroring", role="AXWindow", subrole="AXStandardWindow")
com.apple.ScreenContinuity.window.1187      AXWindow: AXUIElement(windowId=1187, title="iPhone Mirroring", role="AXWindow", subrole="AXStandardWindow")
com.apple.ScreenContinuity.window.1187      Ignored: AXFrame, AXSize, AXFocused, AXHelp, AXPosition, AXRoleDescription
com.apple.ScreenContinuity.window.1187 }
com.apple.ScreenContinuity.window.1187 AXDocument: nil
com.apple.ScreenContinuity.window.1187 AXSections: [
com.apple.ScreenContinuity.window.1187         Optional({
com.apple.ScreenContinuity.window.1187             SectionDescription = Content;
com.apple.ScreenContinuity.window.1187             SectionObject = "<AXUIElement 0x600002cd01e0> {pid=36760}";
com.apple.ScreenContinuity.window.1187             SectionUniqueID = AXContent;
com.apple.ScreenContinuity.window.1187         }),
com.apple.ScreenContinuity.window.1187         Optional({
com.apple.ScreenContinuity.window.1187             SectionObject = "<AXUIElement 0x600002cd0c30> {pid=36760}";
com.apple.ScreenContinuity.window.1187             SectionUniqueID = AXContainer;
com.apple.ScreenContinuity.window.1187         })
com.apple.ScreenContinuity.window.1187 ]
com.apple.ScreenContinuity.window.1187 AXCloseButton: AXUIElement {
com.apple.ScreenContinuity.window.1187      AXRole: Optional(AXButton)
com.apple.ScreenContinuity.window.1187      AXTitle: nil
com.apple.ScreenContinuity.window.1187      AXSubrole: Optional(AXCloseButton)
com.apple.ScreenContinuity.window.1187      AXEnabled: Optional(1)
com.apple.ScreenContinuity.window.1187      AXParent: AXUIElement(windowId=1187, title=nil, role="AXGroup", subrole="AXHostingView")
com.apple.ScreenContinuity.window.1187      AXTopLevelUIElement: AXUIElement(windowId=1187, title="iPhone Mirroring", role="AXWindow", subrole="AXStandardWindow")
com.apple.ScreenContinuity.window.1187      AXWindow: AXUIElement(windowId=1187, title="iPhone Mirroring", role="AXWindow", subrole="AXStandardWindow")
com.apple.ScreenContinuity.window.1187      Ignored: AXFrame, AXSize, AXFocused, AXHelp, AXPosition, AXRoleDescription, AXEdited
com.apple.ScreenContinuity.window.1187 }
com.apple.ScreenContinuity.window.1187 AXMain: Optional(1)
com.apple.ScreenContinuity.window.1187 AXActivationPoint: Optional(<AXValue 0x600002cd0a20> {value = x:1794.000000 y:1022.000000 type = kAXValueCGPointType})
com.apple.ScreenContinuity.window.1187 AXFullScreenButton: nil
com.apple.ScreenContinuity.window.1187 AXProxy: nil
com.apple.ScreenContinuity.window.1187 AXDefaultButton: nil
com.apple.ScreenContinuity.window.1187 AXMinimized: Optional(0)
com.apple.ScreenContinuity.window.1187 AXParent: Optional(<AXUIElement Application 0x600002cd0a20> {pid=36760})
com.apple.ScreenContinuity.window.1187 AXTitleUIElement: nil
com.apple.ScreenContinuity.window.1187 AXCancelButton: nil
com.apple.ScreenContinuity.window.1187 AXModal: Optional(0)
com.apple.ScreenContinuity.window.1187 AXZoomButton: AXUIElement {
com.apple.ScreenContinuity.window.1187      AXRole: Optional(AXButton)
com.apple.ScreenContinuity.window.1187      AXTitle: nil
com.apple.ScreenContinuity.window.1187      AXSubrole: Optional(AXZoomButton)
com.apple.ScreenContinuity.window.1187      AXEnabled: Optional(0)
com.apple.ScreenContinuity.window.1187      AXParent: AXUIElement(windowId=1187, title=nil, role="AXGroup", subrole="AXHostingView")
com.apple.ScreenContinuity.window.1187      AXTopLevelUIElement: AXUIElement(windowId=1187, title="iPhone Mirroring", role="AXWindow", subrole="AXStandardWindow")
com.apple.ScreenContinuity.window.1187      AXWindow: AXUIElement(windowId=1187, title="iPhone Mirroring", role="AXWindow", subrole="AXStandardWindow")
com.apple.ScreenContinuity.window.1187      Ignored: AXFrame, AXSize, AXFocused, AXChildren, AXHelp, AXPosition, AXRoleDescription
com.apple.ScreenContinuity.window.1187 }
com.apple.ScreenContinuity.window.1187 AXSize: Optional(<AXValue 0x600002cd0a20> {value = w:322.000000 h:718.000000 type = kAXValueCGSizeType})
com.apple.ScreenContinuity.window.1187 AXToolbarButton: nil
com.apple.ScreenContinuity.window.1187 Ignored: AXChildrenInNavigationOrder, AXChildren, AXRoleDescription
com.apple.ScreenContinuity             AXRole: Optional(AXApplication)
com.apple.ScreenContinuity             AXTitle: Optional(iPhone Mirroring)
com.apple.ScreenContinuity             AXFunctionRowTopLevelElements: [
com.apple.ScreenContinuity             ]
com.apple.ScreenContinuity             AXFrame: nil
com.apple.ScreenContinuity             AXFocusedUIElement: AXUIElement(windowId=1187, title=nil, role="AXGroup", subrole="AXHostingView")
com.apple.ScreenContinuity             AXFrontmost: Optional(1)
com.apple.ScreenContinuity             AXExtrasMenuBar: nil
com.apple.ScreenContinuity             AXMainWindow: AXUIElement(windowId=1187, title="iPhone Mirroring", role="AXWindow", subrole="AXStandardWindow")
com.apple.ScreenContinuity             AXFocusedWindow: AXUIElement(windowId=1187, title="iPhone Mirroring", role="AXWindow", subrole="AXStandardWindow")
com.apple.ScreenContinuity             AXMenuBar: Optional(<AXUIElement 0x600002cdf0f0> {pid=36760})
com.apple.ScreenContinuity             AXWindows: [
com.apple.ScreenContinuity                 AXUIElement(windowId=1187, title="iPhone Mirroring", role="AXWindow", subrole="AXStandardWindow")
com.apple.ScreenContinuity             ]
com.apple.ScreenContinuity             AXSize: nil
com.apple.ScreenContinuity             AXPosition: nil
com.apple.ScreenContinuity             Ignored: AXChildren, AXChildrenInNavigationOrder, AXEnhancedUserInterface, AXPreferredLanguage, AXRoleDescription, AXHidden

Checklist

aerospace CLI client version: 0.14.2-Beta 0cb8dbdfc5ee73b8cbc200f175f467ebead55201
AeroSpace.app server version: 0.14.2-Beta 0cb8dbdfc5ee73b8cbc200f175f467ebead55201

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working as expectedperformance

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions