# hs.caffeinate.watcher

Watch for display and system sleep/wake/power events and for fast user switching session events.

This module is based primarily on code from the previous incarnation of Mjolnir by Steven Degutis.


# API Overview

Constants - Useful values which cannot be changed

  • screensaverDidStart
  • screensaverDidStop
  • screensaverWillStop
  • screensDidLock
  • screensDidSleep
  • screensDidUnlock
  • screensDidWake
  • sessionDidBecomeActive
  • sessionDidResignActive
  • systemDidWake
  • systemWillPowerOff
  • systemWillSleep

Constructors - API calls which return an object, typically one that offers API methods

  • new

Methods - API calls which can only be made on an object returned by a constructor

  • start
  • stop

# API Documentation

# Constants

# screensaverDidStart

Signature hs.caffeinate.watcher.screensaverDidStart
Type Constant
Description The screensaver started
Notes None
Source extensions/caffeinate/libcaffeinate_watcher.m line 42

# screensaverDidStop

Signature hs.caffeinate.watcher.screensaverDidStop
Type Constant
Description The screensaver stopped
Notes None
Source extensions/caffeinate/libcaffeinate_watcher.m line 50

# screensaverWillStop

Signature hs.caffeinate.watcher.screensaverWillStop
Type Constant
Description The screensaver is about to stop
Notes None
Source extensions/caffeinate/libcaffeinate_watcher.m line 46

# screensDidLock

Signature hs.caffeinate.watcher.screensDidLock
Type Constant
Description The screen was locked
Notes None
Source extensions/caffeinate/libcaffeinate_watcher.m line 54

# screensDidSleep

Signature hs.caffeinate.watcher.screensDidSleep
Type Constant
Description The displays have gone to sleep
Notes None
Source extensions/caffeinate/libcaffeinate_watcher.m line 26

# screensDidUnlock

Signature hs.caffeinate.watcher.screensDidUnlock
Type Constant
Description The screen was unlocked
Notes None
Source extensions/caffeinate/libcaffeinate_watcher.m line 58

# screensDidWake

Signature hs.caffeinate.watcher.screensDidWake
Type Constant
Description The displays have woken from sleep
Notes None
Source extensions/caffeinate/libcaffeinate_watcher.m line 30

# sessionDidBecomeActive

Signature hs.caffeinate.watcher.sessionDidBecomeActive
Type Constant
Description The session became active, due to fast user switching
Notes None
Source extensions/caffeinate/libcaffeinate_watcher.m line 38

# sessionDidResignActive

Signature hs.caffeinate.watcher.sessionDidResignActive
Type Constant
Description The session is no longer active, due to fast user switching
Notes None
Source extensions/caffeinate/libcaffeinate_watcher.m line 34

# systemDidWake

Signature hs.caffeinate.watcher.systemDidWake
Type Constant
Description The system woke from sleep
Notes None
Source extensions/caffeinate/libcaffeinate_watcher.m line 14

# systemWillPowerOff

Signature hs.caffeinate.watcher.systemWillPowerOff
Type Constant
Description The user requested a logout or shutdown
Notes None
Source extensions/caffeinate/libcaffeinate_watcher.m line 22

# systemWillSleep

Signature hs.caffeinate.watcher.systemWillSleep
Type Constant
Description The system is preparing to sleep
Notes None
Source extensions/caffeinate/libcaffeinate_watcher.m line 18

# Constructors

# new

Signature hs.caffeinate.watcher.new(fn) -> watcher
Type Constructor
Description Creates a watcher object for system and display sleep/wake/power events
Parameters
  • fn - A function that will be called when system/display events happen. It should accept one parameter:
An event type (see the constants defined above)
Returns
  • An hs.caffeinate.watcher object
Notes None
Examples None
Source extensions/caffeinate/libcaffeinate_watcher.m line 170

# Methods

# start

Signature hs.caffeinate.watcher:start()
Type Method
Description Starts the sleep/wake watcher
Parameters
  • None
Returns
  • An hs.caffeinate.watcher object
Notes None
Examples None
Source extensions/caffeinate/libcaffeinate_watcher.m line 277

# stop

Signature hs.caffeinate.watcher:stop()
Type Method
Description Stops the sleep/wake watcher
Parameters
  • None
Returns
  • An hs.caffeinate.watcher object
Notes None
Examples None
Source extensions/caffeinate/libcaffeinate_watcher.m line 301