I Just Unlocked MacOS GOD MODE With Hammerspoon


I Just Unlocked MacOS GOD MODE With Hammerspoon

Ever felt like your Mac is an overprotective parent, constantly limiting what you can do?

Can't open any downloaded app, can't control your own notifications, can't do anything that isn't strictly within the boundaries dictated by Apple...

I just discovered a power tool that hands you the keys to the kingdom – Hammerspoon, a decade-old but criminally underrated Mac automation tool that lets you bend macOS to your will with simple Lua scripting.

Most Mac users wrestling with automation either resort to Apple's limited Shortcuts app or dive into complex AppleScript solutions.

While these tools work for basic tasks, they often fall short when you need deeper system control or want to create complex workflows. In my case, I desperately wanted a notification to pop with every upcoming meeting, without having a dedicated browser tab opened, working through Apple's "standby mode", AND clickable so that it takes me straight to the meeting link if it exists in the invitation!

As quoted in the official Hammerspoon documentation, it's

"just a bridge between the operating system and a Lua scripting engine"
- hammerspoon.org

But this simple description says everything about its power.
I spent the last few weeks exploring Hammerspoon's capabilities, and it's changed how I interact with my Mac.

Want to create custom keyboard shortcuts that launch apps and navigate to specific menu items? Done (I know what you're thinking... yes - another macOS app launcher, woo hoo).

Need smart calendar notifications that not only alert you about meetings but also extract and display the meeting link? Absolutely possible. The real game-changer is how Hammerspoon lets you write simple Lua code to control virtually any aspect of your system.

Here's the approach that worked for me: instead of fighting with Apple scripts (if you ever wrote one, you KNOW it's a fight), I started small with Hammerspoon.

First, I created basic keyboard shortcuts for app launching.

Then, I graduated to window management scripts.

Finally, I built a custom calendar notification system that pulls from Google Calendar and displays meeting alerts exactly how I want them.

But this is only scratching the surface, the list of APIs Hammerspoon covers is HUGE.

You can control custom alerts, audio devices, the battery, camera, drawing on screen, controlling the mouse, network, wifi and SO MUCH MORE!

The best part? Everything is customizable through straightforward Lua code.

Don't want to write Lua?

What makes this different from other automation tools is Hammerspoon's "spoons" – pre-built modules you can simply drop in and use.

Think of them as building blocks for your setup. Pick and choose, mix and match, do what works for you.

A word of warning: while spoons are extremely useful, some of them are a bit outdated. This is why I resorted to writing my own code when it came to more complex cusotmizations, so just keep this in mind.

Want to get started? Head to hammerspoon.org, install via Homebrew with a simple brew install hammerspoon, and you'll be writing your first automation script in minutes.

Feel free to respond with comments, questions and thoughts!

See ya next week.

ESPRESSO FRIDAYS

Every once in a while I send hand picked things I've learned. Kind of like your filter to the tech internet. No spam, I promise!

Read more from ESPRESSO FRIDAYS

I Used Heroku Open Source Alternatives So You Don't Have To This issue is brought to you by: Enjoy fast, secure and reliable web hosting with Hostinger. Use "devopstoolbox" at checkout of extra discounts on op! Start hosting with Hostinger today! I recently went down the rabbit hole of self-hosted application platforms. Just 5 weeks ago I made a video covering Coolify end 2 end.Once that got released (or maybe, because of that?) I started seeing many similar, open source, self-hostable...

SQLite Is the ULTIMATE Choice For 99% of Projects When you need to crack a nut, you grab a nutcracker, not a sledgehammer. So why, when it comes to databases, do so many of us immediately reach for a heavy, complex solution, just because we “feel” it’s right? too much? This simple question changes how you look at building software.The default solution for most developers is to spin up a dedicated database server like MySQL, Postgres, or a NoSQL option. This means dealing with separate running...

I've Been Using AWS Wrong for YEARS... For years, my approach to AWS felt like a battle. As a DevOps engineer and later and architect, building infra always involved a tedious process of carefully building templates and structure, reviewing, deploying, testing and iterating over and over. I’d either spend hours clicking through the console or writing endless infrastructure code, always feeling like I was one misconfiguration away from a headache. It turns out, I was making it much harder than...