2015-11-12 13:20:09 +00:00
|
|
|
# powerMonitor
|
2013-08-14 22:43:35 +00:00
|
|
|
|
2016-04-21 22:39:12 +00:00
|
|
|
> Monitor power state changes.
|
2016-04-21 22:35:29 +00:00
|
|
|
|
2016-11-23 19:20:56 +00:00
|
|
|
Process: [Main](../glossary.md#main-process)
|
2016-11-03 17:26:00 +00:00
|
|
|
|
2016-09-16 18:38:32 +00:00
|
|
|
You cannot require or use this module 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
|
2016-09-16 18:38:32 +00:00
|
|
|
const electron = require('electron')
|
|
|
|
const {app} = electron
|
2016-07-26 01:39:25 +00:00
|
|
|
|
2016-05-04 17:59:02 +00:00
|
|
|
app.on('ready', () => {
|
2016-09-16 18:38:32 +00:00
|
|
|
electron.powerMonitor.on('suspend', () => {
|
2016-07-26 01:39:25 +00:00
|
|
|
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
|
|
|
|
|
2016-09-16 18:38:32 +00:00
|
|
|
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
|
|
|
|
2013-08-29 14:37:51 +00:00
|
|
|
Emitted when system is resuming.
|
2015-04-15 04:03:58 +00:00
|
|
|
|
2016-03-30 01:55:50 +00:00
|
|
|
### Event: 'on-ac' _Windows_
|
2015-04-15 04:03:58 +00:00
|
|
|
|
|
|
|
Emitted when the system changes to AC power.
|
|
|
|
|
2016-03-30 01:55:50 +00:00
|
|
|
### Event: 'on-battery' _Windows_
|
2015-04-15 04:03:58 +00:00
|
|
|
|
|
|
|
Emitted when system changes to battery power.
|
2017-12-21 11:01:34 +00:00
|
|
|
|
2018-02-05 07:13:35 +00:00
|
|
|
### Event: 'shutdown' _Linux_ _macOS_
|
2017-12-21 11:01:34 +00:00
|
|
|
|
|
|
|
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()`.
|
2018-03-14 05:42:08 +00:00
|
|
|
|
|
|
|
## Methods
|
|
|
|
|
|
|
|
The `powerMonitor` module has the following methods:
|
|
|
|
|
|
|
|
#### `powerMonitor.querySystemIdleState(idleThreshold, callback)`
|
|
|
|
|
|
|
|
* `idleThreshold` Integer
|
|
|
|
* `callback` Function
|
|
|
|
* `idleState` String - Can be `active`, `idle`, `locked` or `unknown`
|
|
|
|
|
|
|
|
Calculate the system idle state. `idleThreshold` is the amount of time (in seconds)
|
|
|
|
before considered idle. `callback` will be called synchronously on some systems
|
|
|
|
and with an `idleState` argument that describes the system's state. `locked` is
|
|
|
|
available on supported systems only.
|
|
|
|
|
|
|
|
#### `powerMonitor.querySystemIdleTime(callback)`
|
|
|
|
|
|
|
|
* `callback` Function
|
|
|
|
* `idleTime` Integer - Idle time in seconds
|
|
|
|
|
|
|
|
Calculate system idle time in seconds.
|