docs » hs.pasteboard.watcher

Watch for Pasteboard Changes. macOS doesn't offer any API for getting Pasteboard notifications, so this extension uses polling to check for Pasteboard changes at a chosen interval (defaults to 0.25).

API Overview

API Documentation

Functions

interval
Signature hs.pasteboard.watcher.interval([value]) -> number
Type Function
Description

Gets or sets the polling interval (i.e. the frequency the pasteboard watcher checks the pasteboard).

Parameters
  • value - an optional number to set the polling interval to.
Returns
  • The polling interval as a number.
Notes
  • This only affects new watchers, not existing/running ones.
  • The default value is 0.25.
Source extensions/pasteboard/libpasteboard_watcher.m line 249

Constructors

new
Signature hs.pasteboard.watcher.new(callbackFn[, name]) -> pasteboardWatcher
Type Constructor
Description

Creates and starts a new hs.pasteboard.watcher object for watching for Pasteboard changes.

Parameters
  • callbackFn - A function that will be called when the Pasteboard contents has changed. It should accept one parameter:
    • A string containing the pasteboard contents or nil if the contents is not a valid string.
  • name - An optional string containing the name of the pasteboard. Defaults to the system pasteboard.
Returns
  • An hs.pasteboard.watcher object
Notes
  • Internally this extension uses a single NSTimer to check for changes to the pasteboard count every half a second.
  • Example usage:
generalPBWatcher = hs.pasteboard.watcher.new(function(v) print(string.format("General Pasteboard Contents: %s", v)) end)
specialPBWatcher = hs.pasteboard.watcher.new(function(v) print(string.format("Special Pasteboard Contents: %s", v)) end, "special")
hs.pasteboard.writeObjects("This is on the general pasteboard.")
hs.pasteboard.writeObjects("This is on the special pasteboard.", "special")```
Source extensions/pasteboard/libpasteboard_watcher.m line 143

Methods

running
Signature hs.pasteboard.watcher:running() -> boolean
Type Method
Description

Returns a boolean indicating whether or not the Pasteboard Watcher is currently running.

Parameters
  • None
Returns
  • A boolean value indicating whether or not the timer is currently running.
Source extensions/pasteboard/libpasteboard_watcher.m line 209
start
Signature hs.pasteboard.watcher:start() -> timer
Type Method
Description

Starts an hs.pasteboard.watcher object

Parameters
  • None
Returns
  • The hs.pasteboard.watcher object
Source extensions/pasteboard/libpasteboard_watcher.m line 187
stop
Signature hs.pasteboard.watcher:stop() -> timer
Type Method
Description

Stops an hs.pasteboard.watcher object

Parameters
  • None
Returns
  • The hs.pasteboard.watcher object
Source extensions/pasteboard/libpasteboard_watcher.m line 228