fix: user-did-{resign|become}-active
events on macOS (#41506)
fix: user-did-{resign|become}-active events on macOS
This commit is contained in:
parent
62a897b75b
commit
a7d664e3a3
1 changed files with 29 additions and 25 deletions
|
@ -22,38 +22,42 @@
|
||||||
|
|
||||||
- (id)init {
|
- (id)init {
|
||||||
if ((self = [super init])) {
|
if ((self = [super init])) {
|
||||||
NSDistributedNotificationCenter* distCenter =
|
NSDistributedNotificationCenter* distributed_center =
|
||||||
[NSDistributedNotificationCenter defaultCenter];
|
[NSDistributedNotificationCenter defaultCenter];
|
||||||
// A notification that the screen was locked.
|
// A notification that the screen was locked.
|
||||||
[distCenter addObserver:self
|
[distributed_center addObserver:self
|
||||||
selector:@selector(onScreenLocked:)
|
selector:@selector(onScreenLocked:)
|
||||||
name:@"com.apple.screenIsLocked"
|
name:@"com.apple.screenIsLocked"
|
||||||
object:nil];
|
object:nil];
|
||||||
// A notification that the screen was unlocked by the user.
|
// A notification that the screen was unlocked by the user.
|
||||||
[distCenter addObserver:self
|
[distributed_center addObserver:self
|
||||||
selector:@selector(onScreenUnlocked:)
|
selector:@selector(onScreenUnlocked:)
|
||||||
name:@"com.apple.screenIsUnlocked"
|
name:@"com.apple.screenIsUnlocked"
|
||||||
object:nil];
|
object:nil];
|
||||||
// A notification that the workspace posts before the machine goes to sleep.
|
// A notification that the workspace posts before the machine goes to sleep.
|
||||||
[distCenter addObserver:self
|
[distributed_center addObserver:self
|
||||||
selector:@selector(isSuspending:)
|
selector:@selector(isSuspending:)
|
||||||
name:NSWorkspaceWillSleepNotification
|
name:NSWorkspaceWillSleepNotification
|
||||||
object:nil];
|
object:nil];
|
||||||
// A notification that the workspace posts when the machine wakes from
|
// A notification that the workspace posts when the machine wakes from
|
||||||
// sleep.
|
// sleep.
|
||||||
[distCenter addObserver:self
|
[distributed_center addObserver:self
|
||||||
selector:@selector(isResuming:)
|
selector:@selector(isResuming:)
|
||||||
name:NSWorkspaceDidWakeNotification
|
name:NSWorkspaceDidWakeNotification
|
||||||
object:nil];
|
object:nil];
|
||||||
|
|
||||||
|
NSNotificationCenter* shared_center =
|
||||||
|
[[NSWorkspace sharedWorkspace] notificationCenter];
|
||||||
|
|
||||||
// A notification that the workspace posts when the user session becomes
|
// A notification that the workspace posts when the user session becomes
|
||||||
// active.
|
// active.
|
||||||
[distCenter addObserver:self
|
[shared_center addObserver:self
|
||||||
selector:@selector(onUserDidBecomeActive:)
|
selector:@selector(onUserDidBecomeActive:)
|
||||||
name:NSWorkspaceSessionDidBecomeActiveNotification
|
name:NSWorkspaceSessionDidBecomeActiveNotification
|
||||||
object:nil];
|
object:nil];
|
||||||
// A notification that the workspace posts when the user session becomes
|
// A notification that the workspace posts when the user session becomes
|
||||||
// inactive.
|
// inactive.
|
||||||
[distCenter addObserver:self
|
[shared_center addObserver:self
|
||||||
selector:@selector(onUserDidResignActive:)
|
selector:@selector(onUserDidResignActive:)
|
||||||
name:NSWorkspaceSessionDidResignActiveNotification
|
name:NSWorkspaceSessionDidResignActiveNotification
|
||||||
object:nil];
|
object:nil];
|
||||||
|
|
Loading…
Reference in a new issue