Hey there! Recently I've run into an issue when trying to screen share with the gather desktop app. As you can see in attached videos the 'border' that gather puts around windows flickers back and forth between the gather app and the shared screen. This does not happen with aerospace disabled. I'm not entirely sure if this is on aerospace or gather though and I'm also persuing figuring out how to report this as an issue to them but I'm doubtful they are going to put a lot of effort into supporting a relatively niche app like Aerospace.
Interestingly this issue does not happen when the gather desktop is on the same screen that is being shared, but then if I try to push the gather window off to another workspace while screen sharing it kicks back up again.
org.alacritty.window.11518 windowId: 11518
org.alacritty.window.11518 workspace: 1
org.alacritty.window.11518 treeNodeParent: AppBundle.TilingContainer
org.alacritty.window.11518 recognizedAsDialog: false
org.alacritty.window.11518 AXTitle: Optional(Alacritty)
org.alacritty.window.11518 AXRole: Optional(AXWindow)
org.alacritty.window.11518 AXSubrole: Optional(AXStandardWindow)
org.alacritty.window.11518 AXFocused: Optional(1)
org.alacritty.window.11518 AXFullScreen: Optional(0)
org.alacritty.window.11518 AXFrame: Optional(<AXValue 0x6000009ea7c0> {value = x:1920.000000 y:25.000000 w:1920.000000 h:2134.000000 type = kAXValueCGRectType})
org.alacritty.window.11518 AXPosition: Optional(<AXValue 0x6000012c6670> {value = x:1920.000000 y:25.000000 type = kAXValueCGPointType})
org.alacritty.window.11518 AXGrowArea: nil
org.alacritty.window.11518 AXMinimizeButton: AXUIElement {
org.alacritty.window.11518 AXRole: Optional(AXButton)
org.alacritty.window.11518 AXTitle: nil
org.alacritty.window.11518 AXSubrole: Optional(AXMinimizeButton)
org.alacritty.window.11518 AXEnabled: Optional(1)
org.alacritty.window.11518 AXParent: AXUIElement(windowId=11518, title="Alacritty", role="AXWindow", subrole="AXStandardWindow")
org.alacritty.window.11518 AXTopLevelUIElement: AXUIElement(windowId=11518, title="Alacritty", role="AXWindow", subrole="AXStandardWindow")
org.alacritty.window.11518 AXWindow: AXUIElement(windowId=11518, title="Alacritty", role="AXWindow", subrole="AXStandardWindow")
org.alacritty.window.11518 Ignored: AXFrame, AXSize, AXFocused, AXHelp, AXPosition, AXRoleDescription
org.alacritty.window.11518 }
org.alacritty.window.11518 AXDocument: nil
org.alacritty.window.11518 AXSections: [
org.alacritty.window.11518 Optional({
org.alacritty.window.11518 SectionDescription = Content;
org.alacritty.window.11518 SectionObject = "<AXUIElement 0x6000012c3300> {pid=32542}";
org.alacritty.window.11518 SectionUniqueID = AXContent;
org.alacritty.window.11518 })
org.alacritty.window.11518 ]
org.alacritty.window.11518 AXCloseButton: AXUIElement {
org.alacritty.window.11518 AXRole: Optional(AXButton)
org.alacritty.window.11518 AXTitle: nil
org.alacritty.window.11518 AXSubrole: Optional(AXCloseButton)
org.alacritty.window.11518 AXEnabled: Optional(1)
org.alacritty.window.11518 AXParent: AXUIElement(windowId=11518, title="Alacritty", role="AXWindow", subrole="AXStandardWindow")
org.alacritty.window.11518 AXTopLevelUIElement: AXUIElement(windowId=11518, title="Alacritty", role="AXWindow", subrole="AXStandardWindow")
org.alacritty.window.11518 AXWindow: AXUIElement(windowId=11518, title="Alacritty", role="AXWindow", subrole="AXStandardWindow")
org.alacritty.window.11518 Ignored: AXFrame, AXSize, AXFocused, AXHelp, AXPosition, AXRoleDescription, AXEdited
org.alacritty.window.11518 }
org.alacritty.window.11518 AXMain: Optional(1)
org.alacritty.window.11518 AXActivationPoint: Optional(<AXValue 0x6000012c5800> {value = x:1990.000000 y:39.000000 type = kAXValueCGPointType})
org.alacritty.window.11518 AXFullScreenButton: AXUIElement {
org.alacritty.window.11518 AXRole: Optional(AXButton)
org.alacritty.window.11518 AXTitle: nil
org.alacritty.window.11518 AXSubrole: Optional(AXFullScreenButton)
org.alacritty.window.11518 AXEnabled: Optional(1)
org.alacritty.window.11518 AXParent: AXUIElement(windowId=11518, title="Alacritty", role="AXWindow", subrole="AXStandardWindow")
org.alacritty.window.11518 AXTopLevelUIElement: AXUIElement(windowId=11518, title="Alacritty", role="AXWindow", subrole="AXStandardWindow")
org.alacritty.window.11518 AXWindow: AXUIElement(windowId=11518, title="Alacritty", role="AXWindow", subrole="AXStandardWindow")
org.alacritty.window.11518 Ignored: AXFrame, AXSize, AXFocused, AXChildren, AXHelp, AXPosition, AXRoleDescription
org.alacritty.window.11518 }
org.alacritty.window.11518 AXProxy: nil
org.alacritty.window.11518 AXDefaultButton: nil
org.alacritty.window.11518 AXMinimized: Optional(0)
org.alacritty.window.11518 AXParent: Optional(<AXUIElement Application 0x6000012ef030> {pid=32542})
org.alacritty.window.11518 AXTitleUIElement: AXUIElement(windowId=11518, title=nil, role="AXStaticText", subrole=nil)
org.alacritty.window.11518 AXCancelButton: nil
org.alacritty.window.11518 AXModal: Optional(0)
org.alacritty.window.11518 AXZoomButton: AXUIElement {
org.alacritty.window.11518 AXRole: Optional(AXButton)
org.alacritty.window.11518 AXTitle: nil
org.alacritty.window.11518 AXSubrole: Optional(AXFullScreenButton)
org.alacritty.window.11518 AXEnabled: Optional(1)
org.alacritty.window.11518 AXParent: AXUIElement(windowId=11518, title="Alacritty", role="AXWindow", subrole="AXStandardWindow")
org.alacritty.window.11518 AXTopLevelUIElement: AXUIElement(windowId=11518, title="Alacritty", role="AXWindow", subrole="AXStandardWindow")
org.alacritty.window.11518 AXWindow: AXUIElement(windowId=11518, title="Alacritty", role="AXWindow", subrole="AXStandardWindow")
org.alacritty.window.11518 Ignored: AXFrame, AXSize, AXFocused, AXChildren, AXHelp, AXPosition, AXRoleDescription
org.alacritty.window.11518 }
org.alacritty.window.11518 AXSize: Optional(<AXValue 0x6000012c5800> {value = w:1920.000000 h:2134.000000 type = kAXValueCGSizeType})
org.alacritty.window.11518 AXToolbarButton: nil
org.alacritty.window.11518 Ignored: AXChildrenInNavigationOrder, AXChildren, AXRoleDescription
org.alacritty AXRole: Optional(AXApplication)
org.alacritty AXTitle: Optional(Alacritty)
org.alacritty AXFunctionRowTopLevelElements: [
org.alacritty ]
org.alacritty AXFrame: nil
org.alacritty AXFocusedUIElement: AXUIElement(windowId=11518, title="Alacritty", role="AXWindow", subrole="AXStandardWindow")
org.alacritty AXFrontmost: Optional(1)
org.alacritty AXExtrasMenuBar: nil
org.alacritty AXMainWindow: AXUIElement(windowId=11518, title="Alacritty", role="AXWindow", subrole="AXStandardWindow")
org.alacritty AXFocusedWindow: AXUIElement(windowId=11518, title="Alacritty", role="AXWindow", subrole="AXStandardWindow")
org.alacritty AXMenuBar: Optional(<AXUIElement 0x6000012c24f0> {pid=32542})
org.alacritty AXWindows: [
org.alacritty AXUIElement(windowId=11518, title="Alacritty", role="AXWindow", subrole="AXStandardWindow")
org.alacritty ]
org.alacritty AXSize: nil
org.alacritty AXPosition: nil
org.alacritty Ignored: AXChildren, AXChildrenInNavigationOrder, AXEnhancedUserInterface, AXPreferredLanguage, AXRoleDescription, AXHidden
com.gather.Gather.window.11220 windowId: 11220
com.gather.Gather.window.11220 workspace: 3
com.gather.Gather.window.11220 treeNodeParent: AppBundle.TilingContainer
com.gather.Gather.window.11220 recognizedAsDialog: false
com.gather.Gather.window.11220 AXTitle: Optional(Gather Desktop)
com.gather.Gather.window.11220 AXRole: Optional(AXWindow)
com.gather.Gather.window.11220 AXSubrole: Optional(AXStandardWindow)
com.gather.Gather.window.11220 AXFocused: Optional(0)
com.gather.Gather.window.11220 AXFullScreen: Optional(0)
com.gather.Gather.window.11220 AXFrame: Optional(<AXValue 0x6000009fce00> {value = x:3840.000000 y:361.000000 w:1728.000000 h:1078.000000 type = kAXValueCGRectType})
com.gather.Gather.window.11220 AXPosition: Optional(<AXValue 0x6000012cce10> {value = x:3840.000000 y:361.000000 type = kAXValueCGPointType})
com.gather.Gather.window.11220 AXGrowArea: nil
com.gather.Gather.window.11220 AXMinimizeButton: AXUIElement {
com.gather.Gather.window.11220 AXRole: Optional(AXButton)
com.gather.Gather.window.11220 AXTitle: nil
com.gather.Gather.window.11220 AXSubrole: Optional(AXMinimizeButton)
com.gather.Gather.window.11220 AXEnabled: Optional(1)
com.gather.Gather.window.11220 AXParent: AXUIElement(windowId=11220, title="Gather Desktop", role="AXWindow", subrole="AXStandardWindow")
com.gather.Gather.window.11220 AXTopLevelUIElement: AXUIElement(windowId=11220, title="Gather Desktop", role="AXWindow", subrole="AXStandardWindow")
com.gather.Gather.window.11220 AXWindow: AXUIElement(windowId=11220, title="Gather Desktop", role="AXWindow", subrole="AXStandardWindow")
com.gather.Gather.window.11220 Ignored: AXFrame, AXSize, AXFocused, AXHelp, AXPosition, AXRoleDescription
com.gather.Gather.window.11220 }
com.gather.Gather.window.11220 AXDocument: nil
com.gather.Gather.window.11220 AXSections: [
com.gather.Gather.window.11220 Optional({
com.gather.Gather.window.11220 SectionDescription = Content;
com.gather.Gather.window.11220 SectionObject = "<AXUIElement 0x6000012c3630> {pid=19259}";
com.gather.Gather.window.11220 SectionUniqueID = AXContent;
com.gather.Gather.window.11220 }),
com.gather.Gather.window.11220 Optional({
com.gather.Gather.window.11220 SectionObject = "<AXUIElement 0x6000012c3120> {pid=19259}";
com.gather.Gather.window.11220 SectionUniqueID = AXContainer;
com.gather.Gather.window.11220 })
com.gather.Gather.window.11220 ]
com.gather.Gather.window.11220 AXCloseButton: AXUIElement {
com.gather.Gather.window.11220 AXRole: Optional(AXButton)
com.gather.Gather.window.11220 AXTitle: nil
com.gather.Gather.window.11220 AXSubrole: Optional(AXCloseButton)
com.gather.Gather.window.11220 AXEnabled: Optional(1)
com.gather.Gather.window.11220 AXParent: AXUIElement(windowId=11220, title="Gather Desktop", role="AXWindow", subrole="AXStandardWindow")
com.gather.Gather.window.11220 AXTopLevelUIElement: AXUIElement(windowId=11220, title="Gather Desktop", role="AXWindow", subrole="AXStandardWindow")
com.gather.Gather.window.11220 AXWindow: AXUIElement(windowId=11220, title="Gather Desktop", role="AXWindow", subrole="AXStandardWindow")
com.gather.Gather.window.11220 Ignored: AXFrame, AXSize, AXFocused, AXHelp, AXPosition, AXRoleDescription, AXEdited
com.gather.Gather.window.11220 }
com.gather.Gather.window.11220 AXMain: Optional(1)
com.gather.Gather.window.11220 AXActivationPoint: Optional(<AXValue 0x6000012cc780> {value = x:-1.000000 y:2161.000000 type = kAXValueCGPointType})
com.gather.Gather.window.11220 AXFullScreenButton: AXUIElement {
com.gather.Gather.window.11220 AXRole: Optional(AXButton)
com.gather.Gather.window.11220 AXTitle: nil
com.gather.Gather.window.11220 AXSubrole: Optional(AXFullScreenButton)
com.gather.Gather.window.11220 AXEnabled: Optional(1)
com.gather.Gather.window.11220 AXParent: AXUIElement(windowId=11220, title="Gather Desktop", role="AXWindow", subrole="AXStandardWindow")
com.gather.Gather.window.11220 AXTopLevelUIElement: AXUIElement(windowId=11220, title="Gather Desktop", role="AXWindow", subrole="AXStandardWindow")
com.gather.Gather.window.11220 AXWindow: AXUIElement(windowId=11220, title="Gather Desktop", role="AXWindow", subrole="AXStandardWindow")
com.gather.Gather.window.11220 Ignored: AXFrame, AXSize, AXFocused, AXChildren, AXHelp, AXPosition, AXRoleDescription
com.gather.Gather.window.11220 }
com.gather.Gather.window.11220 AXProxy: nil
com.gather.Gather.window.11220 AXDefaultButton: nil
com.gather.Gather.window.11220 AXMinimized: Optional(0)
com.gather.Gather.window.11220 AXParent: Optional(<AXUIElement Application 0x6000012cc780> {pid=19259})
com.gather.Gather.window.11220 AXTitleUIElement: nil
com.gather.Gather.window.11220 AXCancelButton: nil
com.gather.Gather.window.11220 AXModal: Optional(0)
com.gather.Gather.window.11220 AXZoomButton: AXUIElement {
com.gather.Gather.window.11220 AXRole: Optional(AXButton)
com.gather.Gather.window.11220 AXTitle: nil
com.gather.Gather.window.11220 AXSubrole: Optional(AXFullScreenButton)
com.gather.Gather.window.11220 AXEnabled: Optional(1)
com.gather.Gather.window.11220 AXParent: AXUIElement(windowId=11220, title="Gather Desktop", role="AXWindow", subrole="AXStandardWindow")
com.gather.Gather.window.11220 AXTopLevelUIElement: AXUIElement(windowId=11220, title="Gather Desktop", role="AXWindow", subrole="AXStandardWindow")
com.gather.Gather.window.11220 AXWindow: AXUIElement(windowId=11220, title="Gather Desktop", role="AXWindow", subrole="AXStandardWindow")
com.gather.Gather.window.11220 Ignored: AXFrame, AXSize, AXFocused, AXChildren, AXHelp, AXPosition, AXRoleDescription
com.gather.Gather.window.11220 }
com.gather.Gather.window.11220 AXSize: Optional(<AXValue 0x6000012e8120> {value = w:1728.000000 h:1078.000000 type = kAXValueCGSizeType})
com.gather.Gather.window.11220 AXToolbarButton: nil
com.gather.Gather.window.11220 Ignored: AXChildrenInNavigationOrder, AXChildren, AXRoleDescription
com.gather.Gather AXRole: Optional(AXApplication)
com.gather.Gather AXTitle: Optional(Gather)
com.gather.Gather AXFunctionRowTopLevelElements: [
com.gather.Gather ]
com.gather.Gather AXManualAccessibility: Optional(0)
com.gather.Gather AXFrame: nil
com.gather.Gather AXFocusedUIElement: nil
com.gather.Gather AXFrontmost: Optional(1)
com.gather.Gather AXExtrasMenuBar: Optional(<AXUIElement 0x6000012c3090> {pid=19259})
com.gather.Gather AXMainWindow: AXUIElement(windowId=11220, title="Gather Desktop", role="AXWindow", subrole="AXStandardWindow")
com.gather.Gather AXFocusedWindow: AXUIElement(windowId=11220, title="Gather Desktop", role="AXWindow", subrole="AXStandardWindow")
com.gather.Gather AXMenuBar: Optional(<AXUIElement 0x6000012cc780> {pid=19259})
com.gather.Gather AXWindows: [
com.gather.Gather AXUIElement(windowId=11531, title="Gather Border Highlight", role="AXWindow", subrole="AXDialog"),
com.gather.Gather AXUIElement(windowId=11220, title="Gather Desktop", role="AXWindow", subrole="AXStandardWindow")
com.gather.Gather ]
com.gather.Gather AXSize: nil
com.gather.Gather AXPosition: nil
com.gather.Gather 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
I fully recognize this is probably a really odd issue but any help would be really appreciated!
Hey there! Recently I've run into an issue when trying to screen share with the gather desktop app. As you can see in attached videos the 'border' that gather puts around windows flickers back and forth between the gather app and the shared screen. This does not happen with aerospace disabled. I'm not entirely sure if this is on aerospace or gather though and I'm also persuing figuring out how to report this as an issue to them but I'm doubtful they are going to put a lot of effort into supporting a relatively niche app like Aerospace.
Interestingly this issue does not happen when the gather desktop is on the same screen that is being shared, but then if I try to push the gather window off to another workspace while screen sharing it kicks back up again.
Not sure if this is helpful but this is the output of
aerospace debug-windowswhere I start while sharing, click over into the gather window, then back to alacritty to end the debug session.This first file is showing the screen being shared...
https://github.com/nikitabobko/AeroSpace/assets/97697705/939c0149-894e-4299-b8cc-578841c22ef3
And this video shows the gather desktop apps perspective...
https://github.com/nikitabobko/AeroSpace/assets/97697705/5c0e6275-6df6-483c-bc46-0c8e08a20de9
I fully recognize this is probably a really odd issue but any help would be really appreciated!