chrome.idle

Description: Use the chrome.idle API to detect when the machine's idle state changes.
Availability: Since Chrome 28.
Permissions: "idle"

Manifest

You must declare the "idle" permission in your extension's manifest to use the idle API. For example:

      {
        "name": "My extension",
        ...
        "permissions": [
          "idle"
        ],
        ...
      }
      

Summary

Types
IdleState
Methods
queryState chrome.idle.queryState(integer detectionIntervalInSeconds, function callback)
setDetectionInterval chrome.idle.setDetectionInterval(integer intervalInSeconds)
getAutoLockDelay chrome.idle.getAutoLockDelay(function callback)
Events
onStateChanged

Types

IdleState

Enum
"active", "idle", or "locked"

Methods

queryState

chrome.idle.queryState(integer detectionIntervalInSeconds, function callback)

Returns "locked" if the system is locked, "idle" if the user has not generated any input for a specified number of seconds, or "active" otherwise.

Parameters
integer detectionIntervalInSeconds

The system is considered idle if detectionIntervalInSeconds seconds have elapsed since the last user input detected.

function callback

The callback parameter should be a function that looks like this:

function( IdleState newState) {...};
IdleState newState

setDetectionInterval

chrome.idle.setDetectionInterval(integer intervalInSeconds)

Sets the interval, in seconds, used to determine when the system is in an idle state for onStateChanged events. The default interval is 60 seconds.

Parameters
integer intervalInSeconds

Threshold, in seconds, used to determine when the system is in an idle state.

getAutoLockDelay

chrome.idle.getAutoLockDelay(function callback)

Since Chrome 73. Warning: this is the current Beta channel. Learn more.

Gets the time, in seconds, it takes until the screen is locked automatically while idle. Returns a zero duration if the screen is never locked automatically. Currently supported on Chrome OS only.

Parameters
function callback

The callback parameter should be a function that looks like this:

function(integer delay) {...};
integer delay

Time, in seconds, until the screen is locked automatically while idle. This is zero if the screen never locks automatically.

Events

onStateChanged

Fired when the system changes to an active, idle or locked state. The event fires with "locked" if the screen is locked or the screensaver activates, "idle" if the system is unlocked and the user has not generated any input for a specified number of seconds, and "active" when the user generates input on an idle system.

addListener

chrome.idle.onStateChanged.addListener(function callback)
Parameters
function callback

The callback parameter should be a function that looks like this:

function( IdleState newState) {...};
IdleState newState