The DisplayWrangler service sends notifications when the display turns off:
Then the callback looks something like this:
void displayPowerNotificationsCallback(void *refcon, io_service_t service, natural_t messageType, void *messageArgument) { switch (messageType) { case kIOMessageDeviceWillPowerOff : // This is called twice - once for display dim event, then once // for display power off break; case kIOMessageDeviceHasPoweredOn : // Display powering back on break; } }
Adam davis
source share