docs » ClipboardTool

Keep a history of the clipboard for text entries and manage the entries with a context menu

Originally based on TextClipboardHistory.spoon by Diego Zamboni with additional functions provided by a context menu and on code by VFS, but with many changes and some contributions and inspiration from asmagill.

Download: https://github.com/Hammerspoon/Spoons/raw/master/Spoons/ClipboardTool.spoon.zip

API Overview

API Documentation

Variables

deduplicate
Signature ClipboardTool.deduplicate
Type Variable
Description

Whether to remove duplicates from the list, keeping only the latest one. Defaults to true.

Source Source/ClipboardTool.spoon/init.lua
frequency
Signature ClipboardTool.frequency
Type Variable
Description

Speed in seconds to check for clipboard changes. If you check too frequently, you will degrade performance, if you check sparsely you will loose copies. Defaults to 0.8.

Source Source/ClipboardTool.spoon/init.lua
hist_size
Signature ClipboardTool.hist_size
Type Variable
Description

How many items to keep on history. Defaults to 100

Source Source/ClipboardTool.spoon/init.lua
honor_ignoredidentifiers
Signature ClipboardTool.honor_ignoredidentifiers
Type Variable
Description

If true, check the data identifiers set in the pasteboard and ignore entries which match those listed in ClipboardTool.ignoredIdentifiers. The list of identifiers comes from http://nspasteboard.org. Defaults to true

Source Source/ClipboardTool.spoon/init.lua
ignoredIdentifiers
Signature ClipboardTool.ignoredIdentifiers
Type Variable
Description

Types of clipboard entries to ignore, see http://nspasteboard.org. Code from https://github.com/asmagill/hammerspoon-config/blob/master/utils/_menus/newClipper.lua. Default value (don't modify unless you know what you are doing):

 {
    ["de.petermaurer.TransientPasteboardType"] = true, -- Transient : Textpander, TextExpander, Butler
    ["com.typeit4me.clipping"]                 = true, -- Transient : TypeIt4Me
    ["Pasteboard generator type"]              = true, -- Transient : Typinator
    ["com.agilebits.onepassword"]              = true, -- Confidential : 1Password
    ["org.nspasteboard.TransientType"]         = true, -- Universal, Transient
    ["org.nspasteboard.ConcealedType"]         = true, -- Universal, Concealed
    ["org.nspasteboard.AutoGeneratedType"]     = true, -- Universal, Automatic
 }
Source Source/ClipboardTool.spoon/init.lua
logger
Signature ClipboardTool.logger
Type Variable
Description

Logger object used within the Spoon. Can be accessed to set the default log level for the messages coming from the Spoon.

Source Source/ClipboardTool.spoon/init.lua
max_entry_size
Signature ClipboardTool.max_entry_size
Type Variable
Description

maximum size of a text entry

Source Source/ClipboardTool.spoon/init.lua
max_size
Signature ClipboardTool.max_size
Type Variable
Description

Whether to check the maximum size of an entry. Defaults to false.

Source Source/ClipboardTool.spoon/init.lua
paste_on_select
Signature ClipboardTool.paste_on_select
Type Variable
Description

Whether to auto-type the item when selecting it from the menu. Can be toggled on the fly from the chooser. Defaults to false.

Source Source/ClipboardTool.spoon/init.lua
show_copied_alert
Signature ClipboardTool.show_copied_alert
Type Variable
Description

If true, show an alert when a new item is added to the history, i.e. has been copied.

Source Source/ClipboardTool.spoon/init.lua
show_in_menubar
Signature ClipboardTool.show_in_menubar
Type Variable
Description

Whether to show a menubar item to open the clipboard history. Defaults to true

Source Source/ClipboardTool.spoon/init.lua

Methods

bindHotkeys
Signature ClipboardTool:bindHotkeys(mapping)
Type Method
Description

Binds hotkeys for ClipboardTool

Parameters:

  • mapping - A table containing hotkey objifier/key details for the following items:
    • show_clipboard - Display the clipboard history chooser
    • toggle_clipboard - Show/hide the clipboard history chooser
Source Source/ClipboardTool.spoon/init.lua
checkAndStorePasteboard
Signature ClipboardTool:checkAndStorePasteboard()
Type Method
Description

If the pasteboard has changed, we add the current item to our history and update the counter

Parameters:

  • None
Source Source/ClipboardTool.spoon/init.lua
clearAll
Signature ClipboardTool:clearAll()
Type Method
Description

Clears the clipboard and history

Parameters:

  • None
Source Source/ClipboardTool.spoon/init.lua
clearLastItem
Signature ClipboardTool:clearLastItem()
Type Method
Description

Clears the last added to the history

Parameters:

  • None
Source Source/ClipboardTool.spoon/init.lua
pasteboardToClipboard
Signature ClipboardTool:pasteboardToClipboard(item)
Type Method
Description

Add the given string to the history

Parameters:

  • item - string to add to the clipboard history

Returns:

  • None
Source Source/ClipboardTool.spoon/init.lua
shouldBeStored
Signature ClipboardTool:shouldBeStored()
Type Method
Description

Verify whether the pasteboard contents matches one of the values in ClipboardTool.ignoredIdentifiers

Parameters:

  • None
Source Source/ClipboardTool.spoon/init.lua
showClipboard
Signature ClipboardTool:showClipboard()
Type Method
Description

Display the current clipboard list in a chooser

Parameters:

  • None
Source Source/ClipboardTool.spoon/init.lua
start
Signature ClipboardTool:start()
Type Method
Description

Start the clipboard history collector

Parameters:

  • None
Source Source/ClipboardTool.spoon/init.lua
toggleClipboard
Signature ClipboardTool:toggleClipboard()
Type Method
Description

Show/hide the clipboard list, depending on its current state

Parameters:

  • None
Source Source/ClipboardTool.spoon/init.lua
togglePasteOnSelect
Signature ClipboardTool:togglePasteOnSelect()
Type Method
Description

Toggle the value of ClipboardTool.paste_on_select

Parameters:

  • None
Source Source/ClipboardTool.spoon/init.lua