objective-cmacososx-lionapple-expose

Calling App Expose In Lion


Is there any way to call App Expose in Lion programmatically, for example on an event tap, etc?


Solution

  • If you don't mind using a TOTALLY UNDOCUMENTED API, which might change at any point without notice:

    void CoreDockSendNotification(CFStringRef, void *);
    (...)
    CoreDockSendNotification(@"com.apple.expose.front.awake", NULL);
    

    Other known arguments are @"com.apple.expose.awake" and @"com.apple.dashboard.awake", which activate Mission Control and Dashboard, respectively. @"com.apple.showdesktop.awake" used to activate Show Desktop, but no longer works on current versions of macOS.

    Note that most applications should not use these calls -- these actions are intended to be invoked directly by the user.