Analysis updated 2026-06-24
Write a Lua script that auto-tiles windows when you connect an external monitor
Bind a global hotkey to launch a specific workspace of apps and windows
Trigger actions automatically when a particular application becomes active
| hammerspoon/hammerspoon | jdg/mbprogresshud | keycastr/keycastr | |
|---|---|---|---|
| Stars | 15,406 | 15,951 | 14,815 |
| Language | Objective-C | Objective-C | Objective-C |
| Setup difficulty | easy | easy | easy |
| Complexity | 3/5 | 2/5 | 1/5 |
| Audience | developer | developer | general |
Figures from each repo's GitHub metadata at analysis time.
macOS only, you must write a Lua config file before it does anything.
Hammerspoon is a macOS desktop automation tool that acts as a bridge between the operating system and a scripting engine powered by Lua, a lightweight, easy-to-learn programming language. It gives you programmatic control over many aspects of your Mac: window management, keyboard shortcuts, application launching, system events, notifications, and more. Out of the box, Hammerspoon does nothing on its own. To use it, you create a configuration file at a specific location on your Mac and fill it with Lua scripts that define your automations. The tool exposes macOS system functionality through a set of built-in extensions, each covering a different area of the system. You might write a script to automatically resize and position windows when you connect a monitor, trigger actions when specific applications become active, or set up custom key combinations that do anything you can describe in code. Installation is straightforward, download the app and drag it to Applications, or install it via Homebrew with a single command. Hammerspoon started as a fork of a similar project called Mjolnir, but with the goal of providing a more integrated and complete experience rather than relying on external packages. A getting started guide, full API documentation, and a collection of sample configurations contributed by users are all available to help new users build their first automations.
macOS desktop automation tool scripted in Lua. Gives programmatic control over windows, keyboard shortcuts, app launching, and system events on your Mac.
Mainly Objective-C. The stack also includes Lua, Objective-C, macOS.
Setup difficulty is rated easy, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.