I've managed to get the display to sleep immediately with
pmset displaysleepnow
in terminal, however for waking the display I've only found
pmset schedule wake "12/24/2009 00:00:00"
which fails to work if I try to schedule anything earlier than at least 10secs from now.
Is there any way to programmatically wake the display in Cocoa? Someone has suggested IOPMAssertionDeclareUserActivity but I couldn't find any examples on this so I am struggling.
I am using Swift by the way, but Objective C code is also welcome.
Got it working with:
IOPMAssertionID assertionID;
IOPMAssertionDeclareUserActivity(CFSTR(""), kIOPMUserActiveLocal, &assertionID);
Here is the answer in Swift 3.x:
var assertionID : IOPMAssertionID = 0
_ = IOPMAssertionDeclareUserActivity("" as CFString, kIOPMUserActiveLocal, &assertionID)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With