![]() Hammerspoon enables interaction with the system at multiple layers–from low-level file system or network access, mouse or keyboard event capture and generation, all the way to manipulating applications or windows, processing URLs and drawing on the screen. Hammerspoon is a Mac application that allows you to achieve an unprecedented level of control over your Mac. In the word of Hammerspoon’s motto: Making the runtime, funtime. Inter-process communication and a simple HTTPServer enable you to trigger Hammerspoon functionality from pretty much any environment.įun fact: the name Hammerspoon is derived from itself being a "fork" of its lightweight predecessor Mjölnir (that being the name of Thor's hammer □).This is the first installment of a series of posts about Hammerspoon, a staggeringly powerful automation utility which gives you an amazing degree of control over your Mac, allowing you to automate and control almost anything.When Spotify begins to play a new song, display an alert with the new song title, artist, etc….Move window focus directionally using the VIM movement keys (HJKL).If you fancy giving a shot at writing your own spoons, here are a couple ideas to help get your creativity flowing: 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: 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. 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. 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… HeadphoneAutoPause: play/pause music players when headphones are connected/disconnected.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? ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |