Hammerspoon
Overview & General Sentiment
- Widely seen as “glue for macOS” and often one of the first tools installed.
- Used as a highly flexible automation and window-management framework, compared frequently to AutoHotkey on Windows.
- Many say macOS feels “broken” or unusable without it; others have moved on but still consider it inspirational.
Window Management, Tiling & Aerospace
- Common use: keyboard-driven window management (move/resize, snap to edges, grids, thirds, multi-monitor layouts).
- Several users fake tiling WMs via Hammerspoon, defining custom geometries and ratios.
- Aerospace is frequently recommended as a more performant, purpose-built tiling/space manager; some implement Aerospace-like setups in Hammerspoon but find it slower.
- macOS Spaces manipulation is described as brittle; moving windows between spaces often requires hacky tricks. Aerospace works around this by implementing its own virtual workspaces.
Hotkeys, Keyboards & Input Tricks
- Heavy use of “hyper key” setups (e.g., Caps Lock → Ctrl+Opt+Cmd or similar) to avoid conflicts and expand shortcut space.
- Hammerspoon is often combined with QMK, Karabiner Elements, and custom firmware for layers, modals, and app-specific remaps.
- Examples include app switching, window-specific bindings, Vim-mode everywhere, and gesture-driven window switching.
Automation & Integrations
- Used to script: dumping browser tabs into Obsidian or other tools, meeting-light integrations via Home Assistant, Zoom UI hiding, Wi‑Fi toggling on USB events, mic mute toggles, calendar polling, and usage tracking.
- AppleScript/JXA is often called from Hammerspoon when needed; many note Hammerspoon is far easier to work with than AppleScript alone.
Spoons, Ecosystem & Learning
- Popular spoons mentioned: MicMute, PaperWM.spoon (PaperWM-like behavior), VimMode, SkyRocket, HyperKey, window managers (miro-windows-manager, ShiftIt reimpls), Swipe-based navigation, and modal toolkits like Spacehammer.
- There are references to tutorial resources and large shared config repos.
Lua vs JavaScript & Future Direction
- Current Hammerspoon uses Lua; a v2 is being developed around JavaScript.
- Some welcome JS for familiarity and ecosystem; others are disappointed, having enjoyed Lua (often via Fennel).
- Motivations and architectural changes for v2 are discussed but not fully detailed; potential for better integration with JXA is raised but remains unclear.