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.

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.

hist_size
Signature ClipboardTool.hist_size
Type Variable
Description

How many items to keep on history. Defaults to 100

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

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
 }
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.

max_entry_size
Signature ClipboardTool.max_entry_size
Type Variable
Description

maximum size of a text entry

max_size
Signature ClipboardTool.max_size
Type Variable
Description

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

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.

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

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
checkAndStorePasteboard
Signature ClipboardTool:checkAndStorePasteboard()
Type Method
Description

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

clearAll
Signature ClipboardTool:clearAll()
Type Method
Description

Clears the clipboard and history

clearLastItem
Signature ClipboardTool:clearLastItem()
Type Method
Description

Clears the last added to the history

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
shouldBeStored
Signature ClipboardTool:shouldBeStored()
Type Method
Description

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

showClipboard
Signature ClipboardTool:showClipboard()
Type Method
Description

Display the current clipboard list in a chooser

start
Signature ClipboardTool:start()
Type Method
Description

Start the clipboard history collector

toggleClipboard
Signature ClipboardTool:toggleClipboard()
Type Method
Description

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

togglePasteOnSelect
Signature ClipboardTool:togglePasteOnSelect()
Type Method
Description

Toggle the value of ClipboardTool.paste_on_select