#hs.timer
Execute functions with various timing rules
NOTE: timers use NSTimer internally, which will be paused when computers sleep. Especially, repeating timers won't be triggered at the specified time when there are sleeps in between. The workaround is to prevent system from sleeping, configured in Energy Saver in System Preferences.
#Submodules
#API Overview
Functions - API calls offered directly by the extension
Constructors - API calls which return an object, typically one that offers API methods
Methods - API calls which can only be made on an object returned by a constructor
#API Documentation
#Functions
Signature | hs.timer.absoluteTime() -> nanoseconds |
Type | Function |
Description | Returns the absolute time in nanoseconds since the last system boot. |
Parameters |
|
Returns |
|
Notes |
|
Examples | None |
Source | extensions/timer/libtimer.m line 447 |
Signature | hs.timer.days(n) -> sec |
Type | Function |
Description | Converts days to seconds |
Parameters |
|
Returns |
|
Notes | None |
Examples | None |
Source | extensions/timer/timer.lua line 81 |
Signature | hs.timer.hours(n) -> seconds |
Type | Function |
Description | Converts hours to seconds |
Parameters |
|
Returns |
|
Notes | None |
Examples | None |
Source | extensions/timer/timer.lua line 70 |
Signature | hs.timer.localTime() -> number |
Type | Function |
Description | Returns the number of seconds since local time midnight |
Parameters |
|
Returns |
|
Notes | None |
Examples | None |
Source | extensions/timer/timer.lua line 215 |
Signature | hs.timer.minutes(n) -> seconds |
Type | Function |
Description | Converts minutes to seconds |
Parameters |
|
Returns |
|
Notes | None |
Examples | None |
Source | extensions/timer/timer.lua line 59 |
| | | | --------------------------------------------|-------------------------------------------------------------------------------------| | Signature | hs.timer.seconds(timeOrDuration) -> seconds
| | Type | Function | | Description | Converts a string with a time of day or a duration into number of seconds | | Parameters |
- timeOrDuration - a string that can have any of the following formats: "HH:MM:SS" or "HH:MM" - represents a time of day (24-hour clock), returns the number of seconds since midnight "DDdHHh", "HHhMMm", "MMmSSs", "DDd", "HHh", "MMm", "SSs", "NNNNms" - represents a duration in days, hours, minutes, seconds and/or milliseconds
- The number of seconds
Signature | hs.timer.secondsSinceEpoch() -> sec |
Type | Function |
Description | Gets the (fractional) number of seconds since the UNIX epoch (January 1, 1970) |
Parameters |
|
Returns |
|
Notes |
|
Examples | None |
Source | extensions/timer/libtimer.m line 424 |
Signature | hs.timer.usleep(microsecs) |
Type | Function |
Description | Blocks Lua execution for the specified time |
Parameters |
|
Returns |
|
Notes |
|
Examples | None |
Source | extensions/timer/libtimer.m line 243 |
Signature | hs.timer.weeks(n) -> sec |
Type | Function |
Description | Converts weeks to seconds |
Parameters |
|
Returns |
|
Notes | None |
Examples | None |
Source | extensions/timer/timer.lua line 92 |
#Constructors
Signature | hs.timer.doAfter(sec, fn) -> timer |
Type | Constructor |
Description | Calls a function after a delay |
Parameters |
|
Returns |
|
Notes |
|
Examples | None |
Source | extensions/timer/libtimer.m line 205 |
Signature | hs.timer.doAt(time[, repeatInterval], fn[, continueOnError]) -> timer |
Type | Constructor |
Description | Creates and starts a timer which will perform fn at the given (local) time and then (optionally) repeat it every interval . |
Parameters |
|
Returns |
|
Notes |
|
Examples | None |
Source | extensions/timer/timer.lua line 229 |
Signature | hs.timer.doEvery(interval, fn) -> timer |
Type | Constructor |
Description | Repeats fn every interval seconds. |
Parameters |
|
Returns |
|
Notes |
|
Examples | None |
Source | extensions/timer/timer.lua line 159 |
Signature | hs.timer.doUntil(predicateFn, actionFn[, checkInterval]) -> timer |
Type | Constructor |
Description | Creates and starts a timer which will perform actionFn every checkinterval seconds until predicateFn returns true. The timer is automatically stopped when predicateFn returns true. |
Parameters |
|
Returns |
|
Notes |
|
Examples | None |
Source | extensions/timer/timer.lua line 131 |
Signature | hs.timer.doWhile(predicateFn, actionFn[, checkInterval]) -> timer |
Type | Constructor |
Description | Creates and starts a timer which will perform actionFn every checkinterval seconds while predicateFn returns true. The timer is automatically stopped when predicateFn returns false. |
Parameters |
|
Returns |
|
Notes |
|
Examples | None |
Source | extensions/timer/timer.lua line 195 |
Signature | hs.timer.new(interval, fn [, continueOnError]) -> timer |
Type | Constructor |
Description | Creates a new hs.timer object for repeating interval callbacks |
Parameters |
|
Returns |
|
Notes |
|
Examples | None |
Source | extensions/timer/libtimer.m line 128 |
Signature | hs.timer.waitUntil(predicateFn, actionFn[, checkInterval]) -> timer |
Type | Constructor |
Description | Creates and starts a timer which will perform actionFn when predicateFn returns true. The timer is automatically stopped when actionFn is called. |
Parameters |
|
Returns |
|
Notes |
|
Examples | None |
Source | extensions/timer/timer.lua line 103 |
Signature | hs.timer.waitWhile(predicateFn, actionFn[, checkInterval]) -> timer |
Type | Constructor |
Description | Creates and starts a timer which will perform actionFn when predicateFn returns false. The timer is automatically stopped when actionFn is called. |
Parameters |
|
Returns |
|
Notes |
|
Examples | None |
Source | extensions/timer/timer.lua line 176 |
#Methods
Signature | hs.timer:fire() -> timer |
Type | Method |
Description | Immediately fires a timer |
Parameters |
|
Returns |
|
Notes |
|
Examples | None |
Source | extensions/timer/libtimer.m line 336 |
Signature | hs.timer:nextTrigger() -> number |
Type | Method |
Description | Returns the number of seconds until the timer will next trigger |
Parameters |
|
Returns |
|
Notes |
|
Examples | None |
Source | extensions/timer/libtimer.m line 283 |
Signature | hs.timer:running() -> boolean |
Type | Method |
Description | Returns a boolean indicating whether or not the timer is currently running. |
Parameters |
|
Returns |
|
Notes | None |
Examples | None |
Source | extensions/timer/libtimer.m line 264 |
Signature | hs.timer:setNextTrigger(seconds) -> timer |
Type | Method |
Description | Sets the next trigger time of a timer |
Parameters |
|
Returns |
|
Notes |
|
Examples | None |
Source | extensions/timer/libtimer.m line 307 |
Signature | hs.timer:start() -> timer |
Type | Method |
Description | Starts an hs.timer object |
Parameters |
|
Returns |
|
Notes |
|
Examples | None |
Source | extensions/timer/libtimer.m line 179 |
Signature | hs.timer:stop() -> timer |
Type | Method |
Description | Stops an hs.timer object |
Parameters |
|
Returns |
|
Notes | None |
Examples | None |
Source | extensions/timer/libtimer.m line 359 |