-
Notifications
You must be signed in to change notification settings - Fork 0
Hammerspoon
title: Hammerspoon radar_quadrant: Tools radar_ring: Assess radar_position: inner created: 2026-05-22 last_updated: 2026-05-22 related: ["MacOSCLIDistribution"]
Hammerspoon is a macOS automation tool that exposes system APIs to Lua scripts, enabling programmatic control of windows, applications, hotkeys, network events, the clipboard, and USB devices. It replaces a combination of paid tools (Moom, Keyboard Maestro, BetterTouchTool) with free, version-controlled Lua scripts.
- Window management: Move, resize, tile, and snap windows to grid positions; create custom layouts triggered by hotkeys or display change events
- Application control: Watch for app launch and quit events; auto-configure window layouts when specific apps open
- Global hotkeys: Bind any key combination system-wide, including hyper-key setups (Caps Lock remapped to Ctrl+Cmd+Alt+Shift)
- Network events: Run scripts when joining or leaving specific WiFi networks (e.g. auto-connect VPN on public networks)
- Clipboard: Watch clipboard changes and transform content programmatically
- USB events: Trigger scripts when devices connect or disconnect
- Menubar and alerts: Custom menubar items and on-screen notifications
Hammerspoon configuration lives in ~/.hammerspoon/init.lua and can be version-controlled in a dotfiles repository. Most common automation scripts are 5-30 lines of Lua.
Hammerspoon sits at Tools → Assess inner. It is free, open-source, and actively maintained (17,000+ stars). For any macOS power user with repetitive window management or app-switching tasks, it provides capabilities unavailable through native macOS tools without paid software. Inner position reflects minimal installation friction (one brew install --cask hammerspoon command), a well-documented API, and version-controllable configuration. The remaining gate before Trial is a completed dotfile-managed Hammerspoon config that replaces at least one recurring manual macOS workflow.