electron/docs/api/power-monitor.md

76 lines
1.8 KiB
Markdown
Raw Normal View History

# powerMonitor
2013-08-14 22:43:35 +00:00
2016-04-21 22:39:12 +00:00
> Monitor power state changes.
2016-11-23 19:20:56 +00:00
Process: [Main](../glossary.md#main-process)
2016-11-03 17:26:00 +00:00
This module cannot be used until the `ready` event of the `app`
module is emitted.
2013-08-14 22:43:35 +00:00
2015-08-29 04:37:07 +00:00
For example:
2013-08-14 22:43:35 +00:00
```javascript
const { app, powerMonitor } = require('electron')
app.whenReady().then(() => {
powerMonitor.on('suspend', () => {
console.log('The system is going to sleep')
})
})
2013-08-14 22:43:35 +00:00
```
2015-08-29 04:37:07 +00:00
## Events
The `powerMonitor` module emits the following events:
2015-08-29 04:37:07 +00:00
### Event: 'suspend'
2013-08-14 22:43:35 +00:00
Emitted when the system is suspending.
2015-08-29 04:37:07 +00:00
### Event: 'resume'
2013-08-14 22:43:35 +00:00
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.
2018-02-05 07:13:35 +00:00
### 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.