electron/docs/api/power-monitor.md
Jeremy Rose ba835ddac1
feat: add thermal states to powerMonitor (#37935)
* feat: add thermal states to powerMonitor

* update docs
2023-04-19 11:46:55 +02:00

3.6 KiB

powerMonitor

Monitor power state changes.

Process: Main

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' macOS Windows

Emitted when the system changes to AC power.

Event: 'on-battery' macOS Windows

Emitted when system changes to battery power.

Event: 'thermal-state-change' macOS

  • state string - The system's new thermal state. Can be unknown, nominal, fair, serious, critical.

Emitted when the thermal state of the system changes. Notification of a change in the thermal status of the system, such as entering a critical temperature range. Depending on the severity, the system might take steps to reduce said temperature, for example, throttling the CPU or switching on the fans if available.

Apps may react to the new state by reducing expensive computing tasks (e.g. video encoding), or notifying the user. The same state might be received repeatedly.

See https://developer.apple.com/library/archive/documentation/Performance/Conceptual/power_efficiency_guidelines_osx/RespondToThermalStateChanges.html

Event: 'speed-limit-change' macOS Windows

  • limit number - The operating system's advertised speed limit for CPUs, in percent.

Notification of a change in the operating system's advertised speed limit for CPUs, in percent. Values below 100 indicate that the system is impairing processing power due to thermal management.

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.

Event: 'user-did-become-active' macOS

Emitted when a login session is activated. See documentation for more information.

Event: 'user-did-resign-active' macOS

Emitted when a login session is deactivated. See documentation for more information.

Methods

The powerMonitor module has the following methods:

powerMonitor.getSystemIdleState(idleThreshold)

  • idleThreshold Integer

Returns string - The system's current idle 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.

powerMonitor.getCurrentThermalState() macOS

Returns string - The system's current thermal state. Can be unknown, nominal, fair, serious, or critical.

powerMonitor.isOnBatteryPower()

Returns boolean - Whether the system is on battery power.

To monitor for changes in this property, use the on-battery and on-ac events.

Properties

powerMonitor.onBatteryPower

A boolean property. True if the system is on battery power.

See powerMonitor.isOnBatteryPower().