Comments (3)
I experience an issue on CleanShot X where their UI for selecting a monitor is captured and grabbed by AeroSpace and moved to the current focused monitor.
Please try 0.11.0-Beta. 0.11.0-Beta has an improved "popup" detection (suspicious windows without close, minimize, and maximize buttons). Maybe CleanShot is detected as a popup in 0.11.0-Beta
If it's not, please capture CleanShot window accessibility debug info with aerospace debug-windows
command (actually, I'd be interested in the debug-windows
output regardless of whether the bug is fixed)
from aerospace.
I have another bug with cleanshot X (I haven't tried using it with 2 monitors) my issue is when it's recording with CleanShot, there's a floating thing and a dropshadow over areas not recorded and a keyboard shortcut OSD on keyboard strokes.
I guess you can the bug in the video I recorded to document another bug in this comment: #121 (comment) if you look closely, I had to press option+j twice to focus the other window, Aerospace is focusing one of CleanShot's "windows" I guess.
I tried to reproduce today, it's still there but the menubar doesn't get empty as in the video, instead, it persists the most recent window items in these two or three ghost window switching attempts.
The following the debug dump for me trying to move focus between Kitty Terminal and Arc browser with CleanShotX, and I experienced like 2 ghost attempts.
debug-windows
net.kovidgoyal.kitty.window.5900 workspace: 1
net.kovidgoyal.kitty.window.5900 treeNodeParent: AppBundle.TilingContainer
net.kovidgoyal.kitty.window.5900 recognizedAsDialog: false
net.kovidgoyal.kitty.window.5900 AXTitle: Optional(aerospace debug-windows)
net.kovidgoyal.kitty.window.5900 AXRole: Optional(AXWindow)
net.kovidgoyal.kitty.window.5900 AXSubrole: Optional(AXStandardWindow)
net.kovidgoyal.kitty.window.5900 AXFocused: Optional(0)
net.kovidgoyal.kitty.window.5900 AXFullScreen: Optional(0)
net.kovidgoyal.kitty.window.5900 AXFrame: Optional(<AXValue 0x60000159a480> {value = x:735.000000 y:37.000000 w:735.000000 h:841.000000 type = kAXValueCGRectType})
net.kovidgoyal.kitty.window.5900 AXPosition: Optional(<AXValue 0x600000e99530> {value = x:735.000000 y:37.000000 type = kAXValueCGPointType})
net.kovidgoyal.kitty.window.5900 AXGrowArea: nil
net.kovidgoyal.kitty.window.5900 AXMinimizeButton: AXUIElement {
net.kovidgoyal.kitty.window.5900 AXRole: Optional(AXButton)
net.kovidgoyal.kitty.window.5900 AXTitle: nil
net.kovidgoyal.kitty.window.5900 AXSubrole: Optional(AXMinimizeButton)
net.kovidgoyal.kitty.window.5900 AXEnabled: Optional(1)
net.kovidgoyal.kitty.window.5900 AXParent: AXUIElement(windowId=5900, title="aerospace debug-windows", role="AXWindow", subrole="AXStandardWindow")
net.kovidgoyal.kitty.window.5900 AXTopLevelUIElement: AXUIElement(windowId=5900, title="aerospace debug-windows", role="AXWindow", subrole="AXStandardWindow")
net.kovidgoyal.kitty.window.5900 AXWindow: AXUIElement(windowId=5900, title="aerospace debug-windows", role="AXWindow", subrole="AXStandardWindow")
net.kovidgoyal.kitty.window.5900 Ignored: AXFrame, AXSize, AXFocused, AXHelp, AXPosition, AXRoleDescription
net.kovidgoyal.kitty.window.5900 }
net.kovidgoyal.kitty.window.5900 AXDocument: nil
net.kovidgoyal.kitty.window.5900 AXSections: [
net.kovidgoyal.kitty.window.5900 Optional({
net.kovidgoyal.kitty.window.5900 SectionDescription = Content;
net.kovidgoyal.kitty.window.5900 SectionObject = "<AXUIElement 0x600000ef8180> {pid=87936}";
net.kovidgoyal.kitty.window.5900 SectionUniqueID = AXContent;
net.kovidgoyal.kitty.window.5900 })
net.kovidgoyal.kitty.window.5900 ]
net.kovidgoyal.kitty.window.5900 AXCloseButton: AXUIElement {
net.kovidgoyal.kitty.window.5900 AXRole: Optional(AXButton)
net.kovidgoyal.kitty.window.5900 AXTitle: nil
net.kovidgoyal.kitty.window.5900 AXSubrole: Optional(AXCloseButton)
net.kovidgoyal.kitty.window.5900 AXEnabled: Optional(1)
net.kovidgoyal.kitty.window.5900 AXParent: AXUIElement(windowId=5900, title="aerospace debug-windows", role="AXWindow", subrole="AXStandardWindow")
net.kovidgoyal.kitty.window.5900 AXTopLevelUIElement: AXUIElement(windowId=5900, title="aerospace debug-windows", role="AXWindow", subrole="AXStandardWindow")
net.kovidgoyal.kitty.window.5900 AXWindow: AXUIElement(windowId=5900, title="aerospace debug-windows", role="AXWindow", subrole="AXStandardWindow")
net.kovidgoyal.kitty.window.5900 Ignored: AXFrame, AXSize, AXFocused, AXHelp, AXPosition, AXRoleDescription, AXEdited
net.kovidgoyal.kitty.window.5900 }
net.kovidgoyal.kitty.window.5900 AXMain: Optional(1)
net.kovidgoyal.kitty.window.5900 AXActivationPoint: Optional(<AXValue 0x600000ebb930> {value = x:805.000000 y:51.000000 type = kAXValueCGPointType})
net.kovidgoyal.kitty.window.5900 AXFullScreenButton: AXUIElement {
net.kovidgoyal.kitty.window.5900 AXRole: Optional(AXButton)
net.kovidgoyal.kitty.window.5900 AXTitle: nil
net.kovidgoyal.kitty.window.5900 AXSubrole: Optional(AXFullScreenButton)
net.kovidgoyal.kitty.window.5900 AXEnabled: Optional(1)
net.kovidgoyal.kitty.window.5900 AXParent: AXUIElement(windowId=5900, title="aerospace debug-windows", role="AXWindow", subrole="AXStandardWindow")
net.kovidgoyal.kitty.window.5900 AXTopLevelUIElement: AXUIElement(windowId=5900, title="aerospace debug-windows", role="AXWindow", subrole="AXStandardWindow")
net.kovidgoyal.kitty.window.5900 AXWindow: AXUIElement(windowId=5900, title="aerospace debug-windows", role="AXWindow", subrole="AXStandardWindow")
net.kovidgoyal.kitty.window.5900 Ignored: AXFrame, AXSize, AXFocused, AXChildren, AXHelp, AXPosition, AXRoleDescription
net.kovidgoyal.kitty.window.5900 }
net.kovidgoyal.kitty.window.5900 AXProxy: nil
net.kovidgoyal.kitty.window.5900 AXDefaultButton: nil
net.kovidgoyal.kitty.window.5900 AXMinimized: Optional(0)
net.kovidgoyal.kitty.window.5900 AXParent: Optional(<AXUIElement Application 0x600000ebb930> {pid=87936})
net.kovidgoyal.kitty.window.5900 AXTitleUIElement: AXUIElement(windowId=5900, title=nil, role="AXStaticText", subrole=nil)
net.kovidgoyal.kitty.window.5900 AXCancelButton: nil
net.kovidgoyal.kitty.window.5900 AXModal: Optional(0)
net.kovidgoyal.kitty.window.5900 AXZoomButton: AXUIElement {
net.kovidgoyal.kitty.window.5900 AXRole: Optional(AXButton)
net.kovidgoyal.kitty.window.5900 AXTitle: nil
net.kovidgoyal.kitty.window.5900 AXSubrole: Optional(AXFullScreenButton)
net.kovidgoyal.kitty.window.5900 AXEnabled: Optional(1)
net.kovidgoyal.kitty.window.5900 AXParent: AXUIElement(windowId=5900, title="aerospace debug-windows", role="AXWindow", subrole="AXStandardWindow")
net.kovidgoyal.kitty.window.5900 AXTopLevelUIElement: AXUIElement(windowId=5900, title="aerospace debug-windows", role="AXWindow", subrole="AXStandardWindow")
net.kovidgoyal.kitty.window.5900 AXWindow: AXUIElement(windowId=5900, title="aerospace debug-windows", role="AXWindow", subrole="AXStandardWindow")
net.kovidgoyal.kitty.window.5900 Ignored: AXFrame, AXSize, AXFocused, AXChildren, AXHelp, AXPosition, AXRoleDescription
net.kovidgoyal.kitty.window.5900 }
net.kovidgoyal.kitty.window.5900 AXSize: Optional(<AXValue 0x600000e99230> {value = w:735.000000 h:841.000000 type = kAXValueCGSizeType})
net.kovidgoyal.kitty.window.5900 AXToolbarButton: nil
net.kovidgoyal.kitty.window.5900 Ignored: AXChildrenInNavigationOrder, AXChildren, AXRoleDescription
net.kovidgoyal.kitty AXRole: Optional(AXApplication)
net.kovidgoyal.kitty AXTitle: Optional(kitty)
net.kovidgoyal.kitty AXFunctionRowTopLevelElements: [
net.kovidgoyal.kitty ]
net.kovidgoyal.kitty AXFrame: nil
net.kovidgoyal.kitty AXFocusedUIElement: AXUIElement(windowId=5900, title=nil, role="AXTextArea", subrole=nil)
net.kovidgoyal.kitty AXFrontmost: Optional(1)
net.kovidgoyal.kitty AXExtrasMenuBar: nil
net.kovidgoyal.kitty AXMainWindow: AXUIElement(windowId=5900, title="aerospace debug-windows", role="AXWindow", subrole="AXStandardWindow")
net.kovidgoyal.kitty AXFocusedWindow: AXUIElement(windowId=5900, title="aerospace debug-windows", role="AXWindow", subrole="AXStandardWindow")
net.kovidgoyal.kitty AXMenuBar: Optional(<AXUIElement 0x600000ef0390> {pid=87936})
net.kovidgoyal.kitty AXWindows: [
net.kovidgoyal.kitty AXUIElement(windowId=5900, title="aerospace debug-windows", role="AXWindow", subrole="AXStandardWindow")
net.kovidgoyal.kitty ]
net.kovidgoyal.kitty AXSize: nil
net.kovidgoyal.kitty AXPosition: nil
net.kovidgoyal.kitty Ignored: AXChildren, AXChildrenInNavigationOrder, AXEnhancedUserInterface, AXPreferredLanguage, AXRoleDescription, AXHidden
pl.maketheweb.cleanshotx.window.5906 windowId: 5906
pl.maketheweb.cleanshotx.window.5906 workspace: 1
pl.maketheweb.cleanshotx.window.5906 treeNodeParent: Workspace(name: '1', isVisible: 'true', isEffectivelyEmpty: 'false')
pl.maketheweb.cleanshotx.window.5906 recognizedAsDialog: true
pl.maketheweb.cleanshotx.window.5906 AXTitle: Optional()
pl.maketheweb.cleanshotx.window.5906 AXRole: Optional(AXWindow)
pl.maketheweb.cleanshotx.window.5906 AXSubrole: Optional(AXStandardWindow)
pl.maketheweb.cleanshotx.window.5906 AXFocused: Optional(1)
pl.maketheweb.cleanshotx.window.5906 AXFullScreen: Optional(0)
pl.maketheweb.cleanshotx.window.5906 AXFrame: Optional(<AXValue 0x6000015b0880> {value = x:0.000000 y:0.000000 w:1470.000000 h:956.000000 type = kAXValueCGRectType})
pl.maketheweb.cleanshotx.window.5906 AXPosition: Optional(<AXValue 0x600000e98de0> {value = x:0.000000 y:0.000000 type = kAXValueCGPointType})
pl.maketheweb.cleanshotx.window.5906 AXGrowArea: nil
pl.maketheweb.cleanshotx.window.5906 AXMinimizeButton: nil
pl.maketheweb.cleanshotx.window.5906 AXDocument: nil
pl.maketheweb.cleanshotx.window.5906 AXSections: [
pl.maketheweb.cleanshotx.window.5906 ]
pl.maketheweb.cleanshotx.window.5906 AXCloseButton: nil
pl.maketheweb.cleanshotx.window.5906 AXMain: Optional(1)
pl.maketheweb.cleanshotx.window.5906 AXActivationPoint: Optional(<AXValue 0x600000ef0450> {value = x:-1.000000 y:957.000000 type = kAXValueCGPointType})
pl.maketheweb.cleanshotx.window.5906 AXFullScreenButton: nil
pl.maketheweb.cleanshotx.window.5906 AXProxy: nil
pl.maketheweb.cleanshotx.window.5906 AXDefaultButton: nil
pl.maketheweb.cleanshotx.window.5906 AXMinimized: Optional(0)
pl.maketheweb.cleanshotx.window.5906 AXParent: Optional(<AXUIElement Application 0x600000eb9f50> {pid=2055})
pl.maketheweb.cleanshotx.window.5906 AXTitleUIElement: nil
pl.maketheweb.cleanshotx.window.5906 AXCancelButton: nil
pl.maketheweb.cleanshotx.window.5906 AXModal: Optional(0)
pl.maketheweb.cleanshotx.window.5906 AXZoomButton: nil
pl.maketheweb.cleanshotx.window.5906 AXSize: Optional(<AXValue 0x600000e9b660> {value = w:1470.000000 h:956.000000 type = kAXValueCGSizeType})
pl.maketheweb.cleanshotx.window.5906 AXToolbarButton: nil
pl.maketheweb.cleanshotx.window.5906 Ignored: AXChildrenInNavigationOrder, AXChildren, AXRoleDescription
pl.maketheweb.cleanshotx AXRole: Optional(AXApplication)
pl.maketheweb.cleanshotx AXTitle: Optional(CleanShot X)
pl.maketheweb.cleanshotx AXFunctionRowTopLevelElements: [
pl.maketheweb.cleanshotx ]
pl.maketheweb.cleanshotx AXFrame: nil
pl.maketheweb.cleanshotx AXFocusedUIElement: AXUIElement(windowId=5906, title="", role="AXWindow", subrole="AXStandardWindow")
pl.maketheweb.cleanshotx AXFrontmost: Optional(1)
pl.maketheweb.cleanshotx AXExtrasMenuBar: Optional(<AXUIElement 0x600000e99560> {pid=2055})
pl.maketheweb.cleanshotx AXMainWindow: AXUIElement(windowId=5906, title="", role="AXWindow", subrole="AXStandardWindow")
pl.maketheweb.cleanshotx AXFocusedWindow: AXUIElement(windowId=5906, title="", role="AXWindow", subrole="AXStandardWindow")
pl.maketheweb.cleanshotx AXMenuBar: Optional(<AXUIElement 0x600000e99560> {pid=2055})
pl.maketheweb.cleanshotx AXWindows: [
pl.maketheweb.cleanshotx AXUIElement(windowId=5911, title="", role="AXWindow", subrole="AXDialog"),
pl.maketheweb.cleanshotx AXUIElement(windowId=5909, title="", role="AXWindow", subrole="AXStandardWindow"),
pl.maketheweb.cleanshotx AXUIElement(windowId=5906, title="", role="AXWindow", subrole="AXStandardWindow")
pl.maketheweb.cleanshotx ]
pl.maketheweb.cleanshotx AXSize: nil
pl.maketheweb.cleanshotx AXPosition: nil
pl.maketheweb.cleanshotx Ignored: AXChildren, AXChildrenInNavigationOrder, AXEnhancedUserInterface, AXPreferredLanguage, AXRoleDescription, AXHidden
pl.maketheweb.cleanshotx.window.5909 windowId: 5909
pl.maketheweb.cleanshotx.window.5909 workspace: 1
pl.maketheweb.cleanshotx.window.5909 treeNodeParent: Workspace(name: '1', isVisible: 'true', isEffectivelyEmpty: 'false')
pl.maketheweb.cleanshotx.window.5909 recognizedAsDialog: true
pl.maketheweb.cleanshotx.window.5909 AXTitle: Optional()
pl.maketheweb.cleanshotx.window.5909 AXRole: Optional(AXWindow)
pl.maketheweb.cleanshotx.window.5909 AXSubrole: Optional(AXStandardWindow)
pl.maketheweb.cleanshotx.window.5909 AXFocused: Optional(1)
pl.maketheweb.cleanshotx.window.5909 AXFullScreen: Optional(0)
pl.maketheweb.cleanshotx.window.5909 AXFrame: Optional(<AXValue 0x6000015b0e40> {value = x:535.000000 y:675.000000 w:267.000000 h:59.000000 type = kAXValueCGRectType})
pl.maketheweb.cleanshotx.window.5909 AXPosition: Optional(<AXValue 0x600000e97660> {value = x:535.000000 y:675.000000 type = kAXValueCGPointType})
pl.maketheweb.cleanshotx.window.5909 AXGrowArea: nil
pl.maketheweb.cleanshotx.window.5909 AXMinimizeButton: nil
pl.maketheweb.cleanshotx.window.5909 AXDocument: nil
pl.maketheweb.cleanshotx.window.5909 AXSections: [
pl.maketheweb.cleanshotx.window.5909 Optional({
pl.maketheweb.cleanshotx.window.5909 SectionDescription = Content;
pl.maketheweb.cleanshotx.window.5909 SectionObject = "<AXUIElement 0x600000ebb300> {pid=2055}";
pl.maketheweb.cleanshotx.window.5909 SectionUniqueID = AXContent;
pl.maketheweb.cleanshotx.window.5909 })
pl.maketheweb.cleanshotx.window.5909 ]
pl.maketheweb.cleanshotx.window.5909 AXCloseButton: nil
pl.maketheweb.cleanshotx.window.5909 AXMain: Optional(1)
pl.maketheweb.cleanshotx.window.5909 AXActivationPoint: Optional(<AXValue 0x600000e97660> {value = x:546.000000 y:723.000000 type = kAXValueCGPointType})
pl.maketheweb.cleanshotx.window.5909 AXFullScreenButton: nil
pl.maketheweb.cleanshotx.window.5909 AXProxy: nil
pl.maketheweb.cleanshotx.window.5909 AXDefaultButton: nil
pl.maketheweb.cleanshotx.window.5909 AXMinimized: Optional(0)
pl.maketheweb.cleanshotx.window.5909 AXParent: Optional(<AXUIElement Application 0x600000eba1f0> {pid=2055})
pl.maketheweb.cleanshotx.window.5909 AXTitleUIElement: nil
pl.maketheweb.cleanshotx.window.5909 AXCancelButton: nil
pl.maketheweb.cleanshotx.window.5909 AXModal: Optional(0)
pl.maketheweb.cleanshotx.window.5909 AXZoomButton: nil
pl.maketheweb.cleanshotx.window.5909 AXSize: Optional(<AXValue 0x600000eba1f0> {value = w:267.000000 h:59.000000 type = kAXValueCGSizeType})
pl.maketheweb.cleanshotx.window.5909 AXToolbarButton: nil
pl.maketheweb.cleanshotx.window.5909 Ignored: AXChildrenInNavigationOrder, AXChildren, AXRoleDescription
pl.maketheweb.cleanshotx AXRole: Optional(AXApplication)
pl.maketheweb.cleanshotx AXTitle: Optional(CleanShot X)
pl.maketheweb.cleanshotx AXFunctionRowTopLevelElements: [
pl.maketheweb.cleanshotx ]
pl.maketheweb.cleanshotx AXFrame: nil
pl.maketheweb.cleanshotx AXFocusedUIElement: AXUIElement(windowId=5909, title="", role="AXWindow", subrole="AXStandardWindow")
pl.maketheweb.cleanshotx AXFrontmost: Optional(1)
pl.maketheweb.cleanshotx AXExtrasMenuBar: Optional(<AXUIElement 0x600000ebbe70> {pid=2055})
pl.maketheweb.cleanshotx AXMainWindow: AXUIElement(windowId=5909, title="", role="AXWindow", subrole="AXStandardWindow")
pl.maketheweb.cleanshotx AXFocusedWindow: AXUIElement(windowId=5909, title="", role="AXWindow", subrole="AXStandardWindow")
pl.maketheweb.cleanshotx AXMenuBar: Optional(<AXUIElement 0x600000e9dbf0> {pid=2055})
pl.maketheweb.cleanshotx AXWindows: [
pl.maketheweb.cleanshotx AXUIElement(windowId=5911, title="", role="AXWindow", subrole="AXDialog"),
pl.maketheweb.cleanshotx AXUIElement(windowId=5909, title="", role="AXWindow", subrole="AXStandardWindow"),
pl.maketheweb.cleanshotx AXUIElement(windowId=5906, title="", role="AXWindow", subrole="AXStandardWindow")
pl.maketheweb.cleanshotx ]
pl.maketheweb.cleanshotx AXSize: nil
pl.maketheweb.cleanshotx AXPosition: nil
pl.maketheweb.cleanshotx Ignored: AXChildren, AXChildrenInNavigationOrder, AXEnhancedUserInterface, AXPreferredLanguage, AXRoleDescription, AXHidden
company.thebrowser.Browser.window.3202 windowId: 3202
company.thebrowser.Browser.window.3202 workspace: 1
company.thebrowser.Browser.window.3202 treeNodeParent: AppBundle.TilingContainer
company.thebrowser.Browser.window.3202 recognizedAsDialog: false
company.thebrowser.Browser.window.3202 AXTitle: Optional(AeroSpace moves CleanShot X's supplementary UI elements to primary monitor · Issue #221 · nikitabobko/AeroSpace)
company.thebrowser.Browser.window.3202 AXRole: Optional(AXWindow)
company.thebrowser.Browser.window.3202 AXSubrole: Optional(AXStandardWindow)
company.thebrowser.Browser.window.3202 AXIdentifier: Optional(bigBrowserWindow-E4358D42-4E2C-4FB0-B651-747D27521B8D)
company.thebrowser.Browser.window.3202 AXFocused: Optional(0)
company.thebrowser.Browser.window.3202 AXFullScreen: Optional(0)
company.thebrowser.Browser.window.3202 AXFrame: Optional(<AXValue 0x6000015bd800> {value = x:-0.000000 y:37.000000 w:735.000000 h:841.000000 type = kAXValueCGRectType})
company.thebrowser.Browser.window.3202 AXPosition: Optional(<AXValue 0x600000e991a0> {value = x:-0.000000 y:37.000000 type = kAXValueCGPointType})
company.thebrowser.Browser.window.3202 AXGrowArea: nil
company.thebrowser.Browser.window.3202 AXMinimizeButton: AXUIElement {
company.thebrowser.Browser.window.3202 AXRole: Optional(AXButton)
company.thebrowser.Browser.window.3202 AXTitle: nil
company.thebrowser.Browser.window.3202 AXSubrole: Optional(AXMinimizeButton)
company.thebrowser.Browser.window.3202 AXEnabled: Optional(1)
company.thebrowser.Browser.window.3202 AXParent: AXUIElement(windowId=3202, title="AeroSpace moves CleanShot X's supplementary UI elements to primary monitor · Issue #221 · nikitabobko/AeroSpace", role="AXWindow", subrole="AXStandardWindow")
company.thebrowser.Browser.window.3202 AXTopLevelUIElement: AXUIElement(windowId=3202, title="AeroSpace moves CleanShot X's supplementary UI elements to primary monitor · Issue #221 · nikitabobko/AeroSpace", role="AXWindow", subrole="AXStandardWindow")
company.thebrowser.Browser.window.3202 AXWindow: AXUIElement(windowId=3202, title="AeroSpace moves CleanShot X's supplementary UI elements to primary monitor · Issue #221 · nikitabobko/AeroSpace", role="AXWindow", subrole="AXStandardWindow")
company.thebrowser.Browser.window.3202 Ignored: AXFrame, AXSize, AXFocused, AXHelp, AXPosition, AXRoleDescription
company.thebrowser.Browser.window.3202 }
company.thebrowser.Browser.window.3202 AXDocument: nil
company.thebrowser.Browser.window.3202 AXSections: [
company.thebrowser.Browser.window.3202 Optional({
company.thebrowser.Browser.window.3202 SectionDescription = Content;
company.thebrowser.Browser.window.3202 SectionObject = "<AXUIElement 0x600000e99380> {pid=1068}";
company.thebrowser.Browser.window.3202 SectionUniqueID = AXContent;
company.thebrowser.Browser.window.3202 }),
company.thebrowser.Browser.window.3202 Optional({
company.thebrowser.Browser.window.3202 SectionDescription = "Top Level Navigator";
company.thebrowser.Browser.window.3202 SectionObject = "<AXUIElement 0x600000e99710> {pid=1068}";
company.thebrowser.Browser.window.3202 SectionUniqueID = AXTopLevelNavigator;
company.thebrowser.Browser.window.3202 }),
company.thebrowser.Browser.window.3202 Optional({
company.thebrowser.Browser.window.3202 SectionObject = "<AXUIElement 0x600000e99290> {pid=1068}";
company.thebrowser.Browser.window.3202 SectionUniqueID = AXContainer;
company.thebrowser.Browser.window.3202 }),
company.thebrowser.Browser.window.3202 Optional({
company.thebrowser.Browser.window.3202 SectionObject = "<AXUIElement 0x600000e9c9f0> {pid=1068}";
company.thebrowser.Browser.window.3202 SectionUniqueID = AXContainer;
company.thebrowser.Browser.window.3202 }),
company.thebrowser.Browser.window.3202 Optional({
company.thebrowser.Browser.window.3202 SectionDescription = "Content Navigator";
company.thebrowser.Browser.window.3202 SectionObject = "<AXUIElement 0x600000e9d290> {pid=1068}";
company.thebrowser.Browser.window.3202 SectionUniqueID = AXContentNavigator;
company.thebrowser.Browser.window.3202 })
company.thebrowser.Browser.window.3202 ]
company.thebrowser.Browser.window.3202 AXCloseButton: AXUIElement {
company.thebrowser.Browser.window.3202 AXRole: Optional(AXButton)
company.thebrowser.Browser.window.3202 AXTitle: nil
company.thebrowser.Browser.window.3202 AXSubrole: Optional(AXCloseButton)
company.thebrowser.Browser.window.3202 AXEnabled: Optional(1)
company.thebrowser.Browser.window.3202 AXParent: AXUIElement(windowId=3202, title="AeroSpace moves CleanShot X's supplementary UI elements to primary monitor · Issue #221 · nikitabobko/AeroSpace", role="AXWindow", subrole="AXStandardWindow")
company.thebrowser.Browser.window.3202 AXTopLevelUIElement: AXUIElement(windowId=3202, title="AeroSpace moves CleanShot X's supplementary UI elements to primary monitor · Issue #221 · nikitabobko/AeroSpace", role="AXWindow", subrole="AXStandardWindow")
company.thebrowser.Browser.window.3202 AXWindow: AXUIElement(windowId=3202, title="AeroSpace moves CleanShot X's supplementary UI elements to primary monitor · Issue #221 · nikitabobko/AeroSpace", role="AXWindow", subrole="AXStandardWindow")
company.thebrowser.Browser.window.3202 Ignored: AXFrame, AXSize, AXFocused, AXHelp, AXPosition, AXRoleDescription, AXEdited
company.thebrowser.Browser.window.3202 }
company.thebrowser.Browser.window.3202 AXMain: Optional(1)
company.thebrowser.Browser.window.3202 AXActivationPoint: Optional(<AXValue 0x600000e97570> {value = x:10.000000 y:51.000000 type = kAXValueCGPointType})
company.thebrowser.Browser.window.3202 AXFullScreenButton: AXUIElement {
company.thebrowser.Browser.window.3202 AXRole: Optional(AXButton)
company.thebrowser.Browser.window.3202 AXTitle: nil
company.thebrowser.Browser.window.3202 AXSubrole: Optional(AXFullScreenButton)
company.thebrowser.Browser.window.3202 AXEnabled: Optional(1)
company.thebrowser.Browser.window.3202 AXParent: AXUIElement(windowId=3202, title="AeroSpace moves CleanShot X's supplementary UI elements to primary monitor · Issue #221 · nikitabobko/AeroSpace", role="AXWindow", subrole="AXStandardWindow")
company.thebrowser.Browser.window.3202 AXTopLevelUIElement: AXUIElement(windowId=3202, title="AeroSpace moves CleanShot X's supplementary UI elements to primary monitor · Issue #221 · nikitabobko/AeroSpace", role="AXWindow", subrole="AXStandardWindow")
company.thebrowser.Browser.window.3202 AXWindow: AXUIElement(windowId=3202, title="AeroSpace moves CleanShot X's supplementary UI elements to primary monitor · Issue #221 · nikitabobko/AeroSpace", role="AXWindow", subrole="AXStandardWindow")
company.thebrowser.Browser.window.3202 Ignored: AXFrame, AXSize, AXFocused, AXChildren, AXHelp, AXPosition, AXRoleDescription
company.thebrowser.Browser.window.3202 }
company.thebrowser.Browser.window.3202 AXProxy: nil
company.thebrowser.Browser.window.3202 AXDefaultButton: nil
company.thebrowser.Browser.window.3202 AXMinimized: Optional(0)
company.thebrowser.Browser.window.3202 AXParent: Optional(<AXUIElement Application 0x600000ef0ab0> {pid=1068})
company.thebrowser.Browser.window.3202 AXTitleUIElement: nil
company.thebrowser.Browser.window.3202 AXCancelButton: nil
company.thebrowser.Browser.window.3202 AXModal: Optional(0)
company.thebrowser.Browser.window.3202 AXZoomButton: AXUIElement {
company.thebrowser.Browser.window.3202 AXRole: Optional(AXButton)
company.thebrowser.Browser.window.3202 AXTitle: nil
company.thebrowser.Browser.window.3202 AXSubrole: Optional(AXFullScreenButton)
company.thebrowser.Browser.window.3202 AXEnabled: Optional(1)
company.thebrowser.Browser.window.3202 AXParent: AXUIElement(windowId=3202, title="AeroSpace moves CleanShot X's supplementary UI elements to primary monitor · Issue #221 · nikitabobko/AeroSpace", role="AXWindow", subrole="AXStandardWindow")
company.thebrowser.Browser.window.3202 AXTopLevelUIElement: AXUIElement(windowId=3202, title="AeroSpace moves CleanShot X's supplementary UI elements to primary monitor · Issue #221 · nikitabobko/AeroSpace", role="AXWindow", subrole="AXStandardWindow")
company.thebrowser.Browser.window.3202 AXWindow: AXUIElement(windowId=3202, title="AeroSpace moves CleanShot X's supplementary UI elements to primary monitor · Issue #221 · nikitabobko/AeroSpace", role="AXWindow", subrole="AXStandardWindow")
company.thebrowser.Browser.window.3202 Ignored: AXFrame, AXSize, AXFocused, AXChildren, AXHelp, AXPosition, AXRoleDescription
company.thebrowser.Browser.window.3202 }
company.thebrowser.Browser.window.3202 AXSize: Optional(<AXValue 0x600000e97570> {value = w:735.000000 h:841.000000 type = kAXValueCGSizeType})
company.thebrowser.Browser.window.3202 AXToolbarButton: nil
company.thebrowser.Browser.window.3202 Ignored: AXChildrenInNavigationOrder, AXChildren, AXRoleDescription
company.thebrowser.Browser AXRole: Optional(AXApplication)
company.thebrowser.Browser AXTitle: Optional(Arc)
company.thebrowser.Browser AXFunctionRowTopLevelElements: [
company.thebrowser.Browser ]
company.thebrowser.Browser AXFrame: nil
company.thebrowser.Browser AXFocusedUIElement: nil
company.thebrowser.Browser AXFrontmost: Optional(1)
company.thebrowser.Browser AXExtrasMenuBar: nil
company.thebrowser.Browser AXMainWindow: AXUIElement(windowId=3202, title="AeroSpace moves CleanShot X's supplementary UI elements to primary monitor · Issue #221 · nikitabobko/AeroSpace", role="AXWindow", subrole="AXStandardWindow")
company.thebrowser.Browser AXFocusedWindow: AXUIElement(windowId=3202, title="AeroSpace moves CleanShot X's supplementary UI elements to primary monitor · Issue #221 · nikitabobko/AeroSpace", role="AXWindow", subrole="AXStandardWindow")
company.thebrowser.Browser AXMenuBar: Optional(<AXUIElement 0x600000eb98c0> {pid=1068})
company.thebrowser.Browser AXWindows: [
company.thebrowser.Browser AXUIElement(windowId=3202, title="AeroSpace moves CleanShot X's supplementary UI elements to primary monitor · Issue #221 · nikitabobko/AeroSpace", role="AXWindow", subrole="AXStandardWindow")
company.thebrowser.Browser ]
company.thebrowser.Browser AXSize: nil
company.thebrowser.Browser AXPosition: nil
company.thebrowser.Browser 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 !!!
from aerospace.
My issue does not appear to be resolved after the update. However, I must say that your improvements feel significantly better across the application.
Here are the logs: @nikitabobko
Other noise from iterm
com.googlecode.iterm2.window.751 windowId: 751
com.googlecode.iterm2.window.751 workspace: 1
com.googlecode.iterm2.window.751 treeNodeParent: AppBundle.TilingContainer
com.googlecode.iterm2.window.751 recognizedAsDialog: false
com.googlecode.iterm2.window.751 AXTitle: Optional(happy hacking! :))
com.googlecode.iterm2.window.751 AXRole: Optional(AXWindow)
com.googlecode.iterm2.window.751 AXSubrole: Optional(AXStandardWindow)
com.googlecode.iterm2.window.751 AXFocused: Optional(0)
com.googlecode.iterm2.window.751 AXFullScreen: Optional(0)
com.googlecode.iterm2.window.751 AXFrame: Optional(<AXValue 0x6000028f7c80> {value = x:15.000000 y:40.000000 w:2306.000000 h:2572.000000 type = kAXValueCGRectType})
com.googlecode.iterm2.window.751 AXPosition: Optional(<AXValue 0x6000033c2f10> {value = x:15.000000 y:40.000000 type = kAXValueCGPointType})
com.googlecode.iterm2.window.751 AXGrowArea: nil
com.googlecode.iterm2.window.751 AXMinimizeButton: AXUIElement {
com.googlecode.iterm2.window.751 AXRole: Optional(AXButton)
com.googlecode.iterm2.window.751 AXTitle: nil
com.googlecode.iterm2.window.751 AXSubrole: Optional(AXMinimizeButton)
com.googlecode.iterm2.window.751 AXEnabled: Optional(1)
com.googlecode.iterm2.window.751 AXParent: AXUIElement(windowId=751, title="happy hacking! :)", role="AXWindow", subrole="AXStandardWindow")
com.googlecode.iterm2.window.751 AXTopLevelUIElement: AXUIElement(windowId=751, title="happy hacking! :)", role="AXWindow", subrole="AXStandardWindow")
com.googlecode.iterm2.window.751 AXWindow: AXUIElement(windowId=751, title="happy hacking! :)", role="AXWindow", subrole="AXStandardWindow")
com.googlecode.iterm2.window.751 Ignored: AXFrame, AXSize, AXFocused, AXHelp, AXPosition, AXRoleDescription
com.googlecode.iterm2.window.751 }
com.googlecode.iterm2.window.751 AXDocument: nil
com.googlecode.iterm2.window.751 AXSections: [
com.googlecode.iterm2.window.751 Optional({
com.googlecode.iterm2.window.751 SectionDescription = Content;
com.googlecode.iterm2.window.751 SectionObject = "<AXUIElement 0x600003366280> {pid=24325}";
com.googlecode.iterm2.window.751 SectionUniqueID = AXContent;
com.googlecode.iterm2.window.751 })
com.googlecode.iterm2.window.751 ]
com.googlecode.iterm2.window.751 AXCloseButton: AXUIElement {
com.googlecode.iterm2.window.751 AXRole: Optional(AXButton)
com.googlecode.iterm2.window.751 AXTitle: nil
com.googlecode.iterm2.window.751 AXSubrole: Optional(AXCloseButton)
com.googlecode.iterm2.window.751 AXEnabled: Optional(1)
com.googlecode.iterm2.window.751 AXParent: AXUIElement(windowId=751, title="happy hacking! :)", role="AXWindow", subrole="AXStandardWindow")
com.googlecode.iterm2.window.751 AXTopLevelUIElement: AXUIElement(windowId=751, title="happy hacking! :)", role="AXWindow", subrole="AXStandardWindow")
com.googlecode.iterm2.window.751 AXWindow: AXUIElement(windowId=751, title="happy hacking! :)", role="AXWindow", subrole="AXStandardWindow")
com.googlecode.iterm2.window.751 Ignored: AXFrame, AXSize, AXFocused, AXHelp, AXPosition, AXRoleDescription, AXEdited
com.googlecode.iterm2.window.751 }
com.googlecode.iterm2.window.751 AXMain: Optional(1)
com.googlecode.iterm2.window.751 AXActivationPoint: Optional(<AXValue 0x600003367f90> {value = x:-1.000000 y:2629.000000 type = kAXValueCGPointType})
com.googlecode.iterm2.window.751 AXFullScreenButton: AXUIElement {
com.googlecode.iterm2.window.751 AXRole: Optional(AXButton)
com.googlecode.iterm2.window.751 AXTitle: nil
com.googlecode.iterm2.window.751 AXSubrole: Optional(AXFullScreenButton)
com.googlecode.iterm2.window.751 AXEnabled: Optional(1)
com.googlecode.iterm2.window.751 AXParent: AXUIElement(windowId=751, title="happy hacking! :)", role="AXWindow", subrole="AXStandardWindow")
com.googlecode.iterm2.window.751 AXTopLevelUIElement: AXUIElement(windowId=751, title="happy hacking! :)", role="AXWindow", subrole="AXStandardWindow")
com.googlecode.iterm2.window.751 AXWindow: AXUIElement(windowId=751, title="happy hacking! :)", role="AXWindow", subrole="AXStandardWindow")
com.googlecode.iterm2.window.751 Ignored: AXFrame, AXSize, AXFocused, AXChildren, AXHelp, AXPosition, AXRoleDescription
com.googlecode.iterm2.window.751 }
com.googlecode.iterm2.window.751 AXProxy: nil
com.googlecode.iterm2.window.751 AXDefaultButton: nil
com.googlecode.iterm2.window.751 AXMinimized: Optional(0)
com.googlecode.iterm2.window.751 AXParent: Optional(<AXUIElement Application 0x6000033c2f10> {pid=24325})
com.googlecode.iterm2.window.751 AXTitleUIElement: AXUIElement(windowId=751, title=nil, role="AXStaticText", subrole=nil)
com.googlecode.iterm2.window.751 AXCancelButton: nil
com.googlecode.iterm2.window.751 AXModal: Optional(0)
com.googlecode.iterm2.window.751 AXZoomButton: AXUIElement {
com.googlecode.iterm2.window.751 AXRole: Optional(AXButton)
com.googlecode.iterm2.window.751 AXTitle: nil
com.googlecode.iterm2.window.751 AXSubrole: Optional(AXFullScreenButton)
com.googlecode.iterm2.window.751 AXEnabled: Optional(1)
com.googlecode.iterm2.window.751 AXParent: AXUIElement(windowId=751, title="happy hacking! :)", role="AXWindow", subrole="AXStandardWindow")
com.googlecode.iterm2.window.751 AXTopLevelUIElement: AXUIElement(windowId=751, title="happy hacking! :)", role="AXWindow", subrole="AXStandardWindow")
com.googlecode.iterm2.window.751 AXWindow: AXUIElement(windowId=751, title="happy hacking! :)", role="AXWindow", subrole="AXStandardWindow")
com.googlecode.iterm2.window.751 Ignored: AXFrame, AXSize, AXFocused, AXChildren, AXHelp, AXPosition, AXRoleDescription
com.googlecode.iterm2.window.751 }
com.googlecode.iterm2.window.751 AXSize: Optional(<AXValue 0x600003367f90> {value = w:2306.000000 h:2572.000000 type = kAXValueCGSizeType})
com.googlecode.iterm2.window.751 AXToolbarButton: nil
com.googlecode.iterm2.window.751 Ignored: AXChildrenInNavigationOrder, AXChildren, AXRoleDescription
com.googlecode.iterm2 AXRole: Optional(AXApplication)
com.googlecode.iterm2 AXTitle: Optional(iTerm2)
com.googlecode.iterm2 AXFunctionRowTopLevelElements: [
com.googlecode.iterm2 ]
com.googlecode.iterm2 AXFrame: nil
com.googlecode.iterm2 AXFocusedUIElement: AXUIElement(windowId=751, title=nil, role="AXTextArea", subrole=nil)
com.googlecode.iterm2 AXFrontmost: Optional(1)
com.googlecode.iterm2 AXExtrasMenuBar: nil
com.googlecode.iterm2 AXMainWindow: AXUIElement(windowId=751, title="happy hacking! :)", role="AXWindow", subrole="AXStandardWindow")
com.googlecode.iterm2 AXFocusedWindow: AXUIElement(windowId=751, title="happy hacking! :)", role="AXWindow", subrole="AXStandardWindow")
com.googlecode.iterm2 AXMenuBar: Optional(<AXUIElement 0x6000033c1020> {pid=24325})
com.googlecode.iterm2 AXWindows: [
com.googlecode.iterm2 AXUIElement(windowId=751, title="happy hacking! :)", role="AXWindow", subrole="AXStandardWindow")
com.googlecode.iterm2 ]
com.googlecode.iterm2 AXSize: nil
com.googlecode.iterm2 AXPosition: nil
com.googlecode.iterm2 Ignored: AXChildren, AXChildrenInNavigationOrder, AXEnhancedUserInterface, AXPreferredLanguage, AXRoleDescription, AXHidden
pl.maketheweb.cleanshotx.window.809 windowId: 809
pl.maketheweb.cleanshotx.window.809 workspace: 1
pl.maketheweb.cleanshotx.window.809 treeNodeParent: Workspace(name: '1', isVisible: 'true', isEffectivelyEmpty: 'false')
pl.maketheweb.cleanshotx.window.809 recognizedAsDialog: true
pl.maketheweb.cleanshotx.window.809 AXTitle: Optional()
pl.maketheweb.cleanshotx.window.809 AXRole: Optional(AXWindow)
pl.maketheweb.cleanshotx.window.809 AXSubrole: Optional(AXStandardWindow)
pl.maketheweb.cleanshotx.window.809 AXFocused: Optional(1)
pl.maketheweb.cleanshotx.window.809 AXFullScreen: Optional(0)
pl.maketheweb.cleanshotx.window.809 AXFrame: Optional(<AXValue 0x6000028f79c0> {value = x:0.000000 y:-76.000000 w:1800.000000 h:1169.000000 type = kAXValueCGRectType})
pl.maketheweb.cleanshotx.window.809 AXPosition: Optional(<AXValue 0x6000033c2a30> {value = x:0.000000 y:-76.000000 type = kAXValueCGPointType})
pl.maketheweb.cleanshotx.window.809 AXGrowArea: nil
pl.maketheweb.cleanshotx.window.809 AXMinimizeButton: nil
pl.maketheweb.cleanshotx.window.809 AXDocument: nil
pl.maketheweb.cleanshotx.window.809 AXSections: [
pl.maketheweb.cleanshotx.window.809 ]
pl.maketheweb.cleanshotx.window.809 AXCloseButton: nil
pl.maketheweb.cleanshotx.window.809 AXMain: Optional(1)
pl.maketheweb.cleanshotx.window.809 AXActivationPoint: Optional(<AXValue 0x6000033c2a30> {value = x:-1.000000 y:2629.000000 type = kAXValueCGPointType})
pl.maketheweb.cleanshotx.window.809 AXFullScreenButton: nil
pl.maketheweb.cleanshotx.window.809 AXProxy: nil
pl.maketheweb.cleanshotx.window.809 AXDefaultButton: nil
pl.maketheweb.cleanshotx.window.809 AXMinimized: Optional(0)
pl.maketheweb.cleanshotx.window.809 AXParent: Optional(<AXUIElement Application 0x6000033c2a30> {pid=889})
pl.maketheweb.cleanshotx.window.809 AXTitleUIElement: nil
pl.maketheweb.cleanshotx.window.809 AXCancelButton: nil
pl.maketheweb.cleanshotx.window.809 AXModal: Optional(0)
pl.maketheweb.cleanshotx.window.809 AXZoomButton: nil
pl.maketheweb.cleanshotx.window.809 AXSize: Optional(<AXValue 0x6000033c2a30> {value = w:1800.000000 h:1169.000000 type = kAXValueCGSizeType})
pl.maketheweb.cleanshotx.window.809 AXToolbarButton: nil
pl.maketheweb.cleanshotx.window.809 Ignored: AXChildrenInNavigationOrder, AXChildren, AXRoleDescription
pl.maketheweb.cleanshotx AXRole: Optional(AXApplication)
pl.maketheweb.cleanshotx AXTitle: Optional(CleanShot X)
pl.maketheweb.cleanshotx AXFunctionRowTopLevelElements: [
pl.maketheweb.cleanshotx ]
pl.maketheweb.cleanshotx AXFrame: nil
pl.maketheweb.cleanshotx AXFocusedUIElement: AXUIElement(windowId=809, title="", role="AXWindow", subrole="AXStandardWindow")
pl.maketheweb.cleanshotx AXFrontmost: Optional(1)
pl.maketheweb.cleanshotx AXExtrasMenuBar: Optional(<AXUIElement 0x60000336e850> {pid=889})
pl.maketheweb.cleanshotx AXMainWindow: AXUIElement(windowId=809, title="", role="AXWindow", subrole="AXStandardWindow")
pl.maketheweb.cleanshotx AXFocusedWindow: AXUIElement(windowId=809, title="", role="AXWindow", subrole="AXStandardWindow")
pl.maketheweb.cleanshotx AXMenuBar: Optional(<AXUIElement 0x6000033c2a30> {pid=889})
pl.maketheweb.cleanshotx AXWindows: [
pl.maketheweb.cleanshotx AXUIElement(windowId=810, title="", role="AXWindow", subrole="AXStandardWindow"),
pl.maketheweb.cleanshotx AXUIElement(windowId=809, title="", role="AXWindow", subrole="AXStandardWindow"),
pl.maketheweb.cleanshotx AXUIElement(windowId=808, title="", role="AXWindow", subrole="AXStandardWindow"),
pl.maketheweb.cleanshotx AXUIElement(windowId=807, title="", role="AXWindow", subrole="AXStandardWindow")
pl.maketheweb.cleanshotx ]
pl.maketheweb.cleanshotx AXSize: nil
pl.maketheweb.cleanshotx AXPosition: nil
pl.maketheweb.cleanshotx 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
from aerospace.
Related Issues (20)
- Use numerical order of spaces (1, 2, 3 ..., 10) instead of lexicographical (1, 10, 2, 3, 4) HOT 1
- Feature proposal: More sophisticated per-workspace normalizations to replicate dynamic twm
- Feature request: change layout mode depending on the number of open windows HOT 2
- Tray icon not appearing
- Dialog detection issue for F1 Multiviewer Live Timing windows
- Feature: `workspace next|prev --all` HOT 5
- Windows on external main display overlay sketchybar HOT 3
- Feature Request: Customizable Split Ratio for Tiles Layout
- The Photo Booth app window jumps around constantly in non-builtin monitor
- aerospace list-workspaces --focused returns multiple workspace HOT 1
- workspace ordering is inconsistent
- Feature Request: workspace removal capability
- Highlight focused window HOT 1
- Feature Request: scratchpad HOT 2
- How to use with AZERTY keyboard? HOT 1
- Feature request: Use any key as modifier HOT 2
- qutebrowser doesn't split (when decorations are disabled) HOT 3
- Wrong tiling for several windows of the same application "tabbed" HOT 2
- Feature: shell-like combinators for conditional computation and sending several commands to server in a single batch
- Error hide window of crossover application HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aerospace.