Hammerspoon Spoons

Project links

Resource Link
Website https://www.hammerspoon.org/
GitHub page https://github.com/Hammerspoon/hammerspoon
Getting Started Guide https://www.hammerspoon.org/go/
Spoon Plugin Documentation https://github.com/Hammerspoon/hammerspoon/blob/master/SPOONS.md
Official Spoon repository https://www.hammerspoon.org/Spoons
Discord server https://discord.gg/vxchqkRbkR
Mailing list https://groups.google.com/forum/#!forum/hammerspoon/
LuaSkin API docs https://www.hammerspoon.org/docs/LuaSkin/

API documentation

AClock

Just another clock, floating above all.

AllBrightness

Listens for keyboard brightness keypresses and alters brightness on all supported displays.

AppLauncher

Simple spoon for launching apps with single letter hotkeys.

AppWindowSwitcher

macOS application aware, keyboard driven window switcher. Spoon

ArrangeDesktop

Easily create, save, and use desktop arrangements.

Asana

Simple spoon that creates a new task in Asana with a given name in a given workspace.

AutoMuteOnSleep

Automatically set to 0 the volume of all output audio devices except Bluetooth devices when Mac goes to sleep.

BingDaily

Use Bing daily picture as your wallpaper, automatically.

BonjourLauncher

List advertised services on your network that match defined templates and provide a list for the user to access them.

BonjourLauncher.recipes

Sample recipes for various service types that you can use with the BonjourLauncher spoon.

BrewInfo

Display pop-up with Homebrew Formula info, or open their URL

Caffeine

Prevent the screen from going to sleep

Calendar

A calendar inset into the desktop

Cherry

Cherry tomato (a tiny Pomodoro) -- a Pomodoro Timer for the menubar

CircleClock

A circleclock inset into the desktop

ClipboardTool

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

ClipShow

Show the content of system clipboard

ColorPicker

Show a color sample/picker

Commander

This spoon lets execute commands from other spoon by a chooser.

CountDown

Countdown with visual indicator

DeepLTranslate

Show a popup window with the translation of the currently selected text

EjectMenu

A much-needed eject menu for your Mac menu bar. Allows ejecting

EmmyLua

Thie plugin generates EmmyLua annotations for Hammerspoon and any installed Spoons

Emojis

Let users choose emojis by name/keyword

EvernoteOpenAndTag

Add some missing hotkeys for opening a note in Evernote, and for common tag sets

FadeLogo

Show a fading-and-zooming image in the center of the screen

FnMate

Use Fn + h/l/j/k as arrow keys, y/u/i/o as mouse wheel, ,/. as left/right click.

ForceTouchMapper

Maps force touch clicks in specified apps to a hot key

HCalendar

A horizonal calendar inset into the desktop

HeadphoneAutoPause

Play/pause music players when headphones are connected/disconnected

HighSierraiTunesMediaFix

Override High Sierra behaviour and send all media keys (play/prev/next) to iTunes

HoldToQuit

Instead of pressing ⌘Q, hold ⌘Q to close applications.

HSaria2

Communicate with aria2, an interactive panel included.

HSearch

Hammerspoon Search

HSKeybindings

Display Keybindings registered with bindHotkeys() and Spoons

InputMethodIndicator

Show input method indicator in the current mouse position.

InputSourceSwitch

Automatically switch the input source when switching applications.

Keychain

Get and Add items from Keychain. Provides no hotkeys and maintains no state

KSheet

Keybindings cheatsheet for current application

Leanpub

Spoon to track and notify about Leanpub builds.

LeftRightHotkey

This spoon addresses a limitation within the hs.hotkey module that allows the creation of hotkeys bound to specific left or right keyboard modifiers while leaving the other side free.

LookupSelection

Show a popup window with the currently selected word in lexicon, notes, online help

MenubarFlag

Color the menubar according to the current keyboard layout

MicMute

Microphone Mute Toggle and status indicator

MiddleClickDragScroll

Allows scrolling by holding down the middle mouse button and dragging it, the same as it works on Windows.

MiroWindowsManager

With this script you will be able to move the window in halves and in corners using your keyboard and mainly using arrows. You would also be able to resize them by thirds, quarters, or halves.

ModalMgr

Modal keybindings environment management. Just an wrapper of hs.hotkey.modal.

MountedVolumes

Displays a list of mounted volumes and a pie chart for each indicating free space on the desktop

MouseCircle

Draws a circle around the mouse pointer when a hotkey is pressed

MouseFollowsFocus

Set the mouse pointer to the center of the focused window whenever focus changes.

MoveSpaces

Move window to the space to the right or left

MusicAppMediaFix

Override macOS behaviour and send all media keys (play/prev/next) to Music.app

OBS

Control OBS and react to its events, via the obs-websocket plugin.

PaperWM

A scrolling window manager. Inspired by PaperWM Gnome extension.

PasswordGenerator

Generate a password and copy to the clipboard.

Pastebin

Send clipboard contents to Pastebin

PersonalHotspot

Connect, disconnect, or toggle connection to/from a personal hotspot. Optionally kills/opens a list of apps on connect/disconnect respectively.

PopupTranslateSelection

Show a popup window with the translation of the currently selected (or other) text

PushToTalk

Implements push-to-talk and push-to-mute functionality with fn key.

RecursiveBinder

A spoon that let you bind sequential bindings.

ReloadConfiguration

Adds a hotkey to reload the hammerspoon configuration, and a pathwatcher to automatically reload on changes.

RoundedCorners

Give your screens rounded corners

Seal

Pluggable launch bar

Seal.plugins

Various APIs for Seal plugins

Seal.plugins.apps

A plugin to add launchable apps/scripts, making Seal act as a launch bar

Seal.plugins.filesearch

A plugin to add file search capabilities, making Seal act as a spotlight file search

Seal.plugins.pasteboard

Visual, searchable pasteboard (ie clipboard) history

Seal.plugins.safari_bookmarks
Seal.plugins.screencapture

A plugin to capture the screen in various ways

Seal.plugins.urlformats

A plugin to quickly open URLs containing a search/query term

Seal.plugins.useractions

Allow accessing user-defined bookmarks and arbitrary actions from Seal.

SendToOmniFocus

Handles "send current item to OmniFocus" for multiple applications

Shade

Creates a semitransparent overlay to reduce screen brightness.

SleepCorners

Trigger or prevent screen saver/sleep by moving your mouse pointer to specified hot corners on your screen.

SpeedMenu

Menubar netspeed meter

SpoonInstall

Install and manage Spoons and Spoon repositories

TextClipboardHistory

Keep a history of the clipboard, only for text entries

TimeFlow

A widget showing time flown in one year.

TimeMachineProgress

Show Time Machine backup progress in a menubar indicator.

ToggleScreenRotation

Toggle rotation on external screens

ToggleSkypeMute

Provide keybindings for muting/unmuting Skype or Skype for Business

Token

generate google authenticator token value keystrokes

Tunnelblick

connect to a Tunnelblick OpenVPN connection using a shortcut

TurboBoost

A spoon to load/unload the Turbo Boost Disable kernel extension

UniversalArchive

Handle "archive current item" for multiple applications using the same hotkey

UnsplashRandom

Automatically sets a random Unsplash image as your wallpaper daily.

UnsplashZ

Use unsplash images as wallpaper

URLDispatcher

Route URLs to different applications with pattern matching

USBDeviceActions

Open/close apps or run an arbitrary function when a USB device is connected/disconnected.

VolumeScroll

Use mouse scroll wheel and modifiers to adjust volume.

WifiNotifier

Receive notifications every time your wifi network changes.

WiFiTransitions

Allow arbitrary actions when transitioning between SSIDs

WindowGrid

Configure and assign hotkey for hs.grid

WindowHalfsAndThirds

Simple window movement and resizing, focusing on half- and third-of-screen sizes

WindowScreenLeftAndRight

Move windows to other screens

WindowSigils

Assign every window and empty rectangle a sigil for quick access.

WinWin

Windows manipulation