Use the browser.idle API to detect when the machine's idle state changes.

Permissions: idle

Not allowed in: Content scripts, Devtools pages

IdleState
onStateChanged
queryState
setDetectionInterval
IdleState: "active" | "idle"
onStateChanged: WebExtEvent<(newState: IdleState) => void>

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

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

    Parameters

    • detectionIntervalInSeconds: number

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

    Returns Promise<IdleState>

  • 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

    • intervalInSeconds: number

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

    Returns void