Skip to content

Instantly share code, notes, and snippets.

@stephancasas
Created May 10, 2023 13:02
Show Gist options
  • Save stephancasas/b984b4f51eca93a0272b127fab808ab0 to your computer and use it in GitHub Desktop.
Save stephancasas/b984b4f51eca93a0272b127fab808ab0 to your computer and use it in GitHub Desktop.
Attach-to/Observe Every (Documeted) AXNotification
/// Where `axApplication` is an instance of an AXUIElement application and `self` is the receiving notification class.
AXObserverAddNotification(observer, axApplication, kAXMainWindowChangedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXFocusedWindowChangedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXFocusedUIElementChangedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXApplicationActivatedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXApplicationDeactivatedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXApplicationHiddenNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXApplicationShownNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXWindowCreatedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXWindowMovedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXWindowResizedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXWindowMiniaturizedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXWindowDeminiaturizedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXDrawerCreatedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXSheetCreatedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXHelpTagCreatedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXValueChangedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXUIElementDestroyedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXElementBusyChangedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXMenuOpenedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXMenuClosedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXMenuItemSelectedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXRowCountChangedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXRowExpandedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXRowCollapsedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXSelectedCellsChangedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXUnitsChangedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXSelectedChildrenMovedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXSelectedChildrenChangedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXResizedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXMovedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXCreatedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXSelectedRowsChangedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXSelectedColumnsChangedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXSelectedTextChangedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXTitleChangedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXLayoutChangedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
AXObserverAddNotification(observer, axApplication, kAXAnnouncementRequestedNotification as CFString,
UnsafeMutableRawPointer(Unmanaged.passUnretained(self).toOpaque()));
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment