c83f836faf
* 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
75 lines
1.8 KiB
Markdown
75 lines
1.8 KiB
Markdown
# powerMonitor
|
|
|
|
> Monitor power state changes.
|
|
|
|
Process: [Main](../glossary.md#main-process)
|
|
|
|
|
|
This module cannot be used until the `ready` event of the `app`
|
|
module is emitted.
|
|
|
|
For example:
|
|
|
|
```javascript
|
|
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.
|