
#Brew hammerspoon free
Local newFrame = hs.geometry.rect(fromPoint.x, fromPoint.y, 0, 0)Īnd that's all it takes! Stepping into the futureįeel free to check out my Hammerspoon config on GitHub, where you can find the coalesced version of the example above, along with my (upcoming) other spoons. RectanglePreview:setStrokeColor(,įromPoint = hs.mouse.getAbsolutePosition() Local rectanglePreviewColor = '#81ecec ' local rectanglePreview = hs.drawing.rectangle( Having been inspired from a post I saw on /r/unixporn, we shall be creating a quick spoon which allows the user to draw a rectangle on top of the screen only to transform into a terminal window.Ĭreate a rectangle which overlays on top of the screen, to indicate the size of the incoming terminal window:
#Brew hammerspoon code
So, let's give you a taste of how it works and dive into a code example. Hopefully, by now you're convinced about how powerful Hammerspoon can be. Afterwards, launch Hammerspoon.app and enable accessability.
#Brew hammerspoon download
If you don't use brew cask (you really should), you can download the latest release from GitHub then drag the application over to your /Applications/ folder.
#Brew hammerspoon install
If you use brew cask, you can install Hammerspoon in seconds by running the command: brew cask install hammerspoon. The reason as to why this isn't the default behaviour is beyond me…


Caffeine: temporarily prevent the screen from going to sleep.Seal: pluggable launch bar - a viable alternative to Alfred.You'll soon find yourself building up a personalised arsenal of productivity tools, there are few I've found particularly helpful: Having been around for a few years, it is encouraging to know that there is a vibrant community developing Hammerspoon - with features and fixes being merged nearly every day! There is also a handy collection of user submitted snippets, known as "spoons", which you can easily begin adding to your own configuration.

This allows you to quickly and easily write Lua code which interacts with the otherwise complicated macOS APIs, such as those for applications, windows, mouse pointers, filesystem objects, audio devices, batteries, screens, low-level keyboard/mouse events, clipboards, location services, wifi, and more. To do this, we will be using Hammerspoon, an open-source project, which aims to bring staggeringly powerful macOS desktop automation into the Lua scripting language. Today we will build the neat little utility illustrated in the gif above and, hopefully, inspire you to build something yourself. How often have you wanted a little something extra out of macOS, or it's desktop environment, but felt intimidated digging into the unwieldy system APIs? Well, fret no more! What is Hammerspoon and what can it do for me?
