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.