Skip to content

Commit 9f7c4fc

Browse files
nicoegOnatcer
authored andcommitted
fix idle detection ignoring disabled preference on suspend/lock
The powerMonitor suspend, lock-screen, resume, and unlock-screen handlers fired regardless of the idleDetectionEnabled preference, so closing the Mac lid (or locking the screen) still tracked an idle period and popped the idle dialog on resume — even with idle detection turned off. Guard each handler with idleDetectionEnabled so these events are ignored when the user has disabled the feature.
1 parent 08d3834 commit 9f7c4fc

1 file changed

Lines changed: 4 additions & 0 deletions

File tree

src/main/idleMonitor.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,7 @@ function registerPowerMonitorEvents() {
154154
powerEventsRegistered = true
155155

156156
powerMonitor.on('suspend', () => {
157+
if (!idleDetectionEnabled) return
157158
console.log('powerMonitor: system suspend')
158159
// Stop the polling interval BEFORE transitioning to idle
159160
// to prevent a final tick from flipping state back to active
@@ -162,18 +163,21 @@ function registerPowerMonitorEvents() {
162163
})
163164

164165
powerMonitor.on('lock-screen', () => {
166+
if (!idleDetectionEnabled) return
165167
console.log('powerMonitor: screen locked')
166168
clearIdleCheckInterval()
167169
transitionToIdle(dayjs())
168170
})
169171

170172
powerMonitor.on('resume', () => {
173+
if (!idleDetectionEnabled) return
171174
console.log('powerMonitor: system resume')
172175
transitionToActive()
173176
restartIdleCheckInterval()
174177
})
175178

176179
powerMonitor.on('unlock-screen', () => {
180+
if (!idleDetectionEnabled) return
177181
console.log('powerMonitor: screen unlocked')
178182
transitionToActive()
179183
restartIdleCheckInterval()

0 commit comments

Comments
 (0)