Hammerspoon
Hammerspoon, a macOS automation and window-management tool, is praised as an essential replacement or complement to utilities like AutoHotkey, Rectangle, and AppleScript/JXA, giving users scriptable control over windows, hotkeys, hardware events, and app-specific workflows. Commenters share a wide range of real-world uses—from tiling-style window layouts, "hyper key" setups, and Vim-style navigation everywhere to meeting-aware lighting, microphone muting, and Safari-to-Obsidian archiving—while noting trade-offs such as configuration complexity, brittle macOS Spaces integration, and an upcoming shift from Lua to JavaScript in a planned v2. Many see it as the main way to make macOS power-user friendly again, especially where native automation has stagnated.
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.