Staggeringly powerful OS X desktop automation with Lua
Failed to load latest commit information.
.fauxpas Add config blob for checking extensions in Faux Pas Feb 9, 2016
Hammerspoon Tests Skip testing tabs in Travis Jun 22, 2018
Hammerspoon.xcodeproj Removed hs.window.switcher from Resources Aug 29, 2018
Hammerspoon.xcworkspace Attempt to make it possible to profile LuaSkin tests. Not corrently w… Jul 12, 2018
Hammerspoon Prepare for 0.9.70 Jul 16, 2018
HammerspoonUITests Fix UI Tests to load init.lua, and put in a print() so it's easier to… Jan 26, 2016
LuaSkin Attempt to make it possible to profile LuaSkin tests. Not corrently w… Jul 12, 2018
Pods Update Crashlytics and Fabric Jul 16, 2018
extensions hs.socket Tweaks Sep 5, 2018
scripts Ensure we always produce a codecov.log so the artifact uploader doesn… May 31, 2018
.bettercodehub.yml Add config file for BetterCodeHub Apr 11, 2017
.editorconfig Add a root .editorconfig Apr 25, 2017
.gitignore Add for folks doing self-signed local builds. Closes #1160 Dec 25, 2016
.luacheckrc Update .luacheckrc Mar 15, 2018
.stickler.yml Update .stickler.yml Dec 16, 2017
.syntastic_objc_config Add a .syntastic_objc_config because not having it is annoying me Jul 24, 2015
.travis.yml Force travis bot to join IRC so we can +n Aug 1, 2018 Update CoC to 1.3.0 Jan 15, 2016 Add a TOC to Apr 27, 2017 Added Chris Hocking & Added some GitHub Links Oct 17, 2017
LICENSE Updated License Date & Link Oct 17, 2017
Makefile Adjusted Markdown Templates Apr 10, 2017
Podfile Update Crashlytics and Fabric Jul 16, 2018
Podfile.lock Update Crashlytics and Fabric Jul 16, 2018 Remove broken VersionEye readme badge and add a direct link to IRC Sep 7, 2018 Fix a Lua syntax error in Closes #1594 Nov 22, 2017
appcast.xml Update appcast.xml for 0.9.70 Jul 16, 2018
codecov.yml Add codecov.yaml Jun 27, 2016
requirements.txt Switch to mistune for MD rendering, fix up CSS to current version, fi… Jan 6, 2017


IRC Build Status Downloads current release Downloads all releases Latest tag Latest release

What is Hammerspoon?

This is a tool for powerful automation of OS X. At its core, Hammerspoon is just a bridge between the operating system and a Lua scripting engine.

What gives Hammerspoon its power is a set of extensions that expose specific pieces of system functionality, to the user. With these, you can write Lua scripts to control many aspects of your OS X environment.

How do I install it?

  • Download the latest release
  • Drag from your Downloads folder to Applications

What next?

Out of the box, Hammerspoon does nothing - you will need to create ~/.hammerspoon/init.lua and fill it with useful code. There are several resources which can help you:

What is the history of the project?

Hammerspoon is a fork of Mjolnir by Steven Degutis. Mjolnir aims to be a very minimal application, with its extensions hosted externally and managed using a Lua package manager. We wanted to provide a more integrated experience.

What is the future of the project?

Our intentions for Hammerspoon broadly fall into these categories:

  • Ever wider coverage of system APIs in Extensions
  • Tighter integration between extensions
  • Smoother user experience