electron/docs/api/power-monitor.md
Charles Kerr c83f836faf
refactor: prefer using app.whenReady() (#21972)
* docs: add references to app.whenReady() in isReady

* refactor: prefer app.whenReady()

In the docs, specs, and lib, replace instances of `app.once('ready')`
(seen occasionally) and `app.on('ready')` (extremely common) with
`app.whenReady()`.

It's better to encourage users to use whenReady():
1. it handles the edge case of registering for 'ready' after it's fired
2. it avoids the minor wart of leaving an active listener alive for
an event that wll never fire again
2020-02-03 22:43:22 +00:00

1.8 KiB

powerMonitor

Monitor power state changes.

Process: Main

This module cannot be used until the ready event of the app module is emitted.

For example:

const { app, powerMonitor } = require('electron')

app.whenReady().then(() => {
  powerMonitor.on('suspend', () => {
    console.log('The system is going to sleep')
  })
})

Events

The powerMonitor module emits the following events:

Event: 'suspend'

Emitted when the system is suspending.

Event: 'resume'

Emitted when system is resuming.

Event: 'on-ac' Windows

Emitted when the system changes to AC power.

Event: 'on-battery' Windows

Emitted when system changes to battery power.

Event: 'shutdown' Linux macOS

Emitted when the system is about to reboot or shut down. If the event handler invokes e.preventDefault(), Electron will attempt to delay system shutdown in order for the app to exit cleanly. If e.preventDefault() is called, the app should exit as soon as possible by calling something like app.quit().

Event: 'lock-screen' macOS Windows

Emitted when the system is about to lock the screen.

Event: 'unlock-screen' macOS Windows

Emitted as soon as the systems screen is unlocked.

Methods

The powerMonitor module has the following methods:

powerMonitor.getSystemIdleState(idleThreshold)

  • idleThreshold Integer

Returns String - The system's current state. Can be active, idle, locked or unknown.

Calculate the system idle state. idleThreshold is the amount of time (in seconds) before considered idle. locked is available on supported systems only.

powerMonitor.getSystemIdleTime()

Returns Integer - Idle time in seconds

Calculate system idle time in seconds.