Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
hammerspoon
A hammerspoon config with a bunch of custom spoons (sleep timer, resolution changer, paywall buster, safari hotkey utilities, window management with undo, etc). (by nonissue)
I've used ZeroBrane to debug HS in the past: https://github.com/Hammerspoon/hammerspoon/issues/1268
I'm a big fan of hammerspoon, but not so much Lua. I also use emacs with Doom, where a lot of bindings are behind a 'leader key'. I found an awesome framework called 'spacehammer'[1] that fits very well into the way I like to work. It similarly hides binding behind a leader, and it's written in Fennel, a lisp that compiles to Lua. I feel like I get to expand the customizability of Emacs out to my whole system and I love it. Hammerspoon is pretty bare on its own so I suggest you check out spacehammer even if it's just a show case of the potential of hammerspoon.
[1] https://github.com/agzam/spacehammer
Hammerspoon is fantastic. And Lua is a such a fun little language to program in. And with LuaJIT [0] you can run it on your nginx webserver [1] at basically the speed of C code. It's really a marvel of engineering.
[0] https://luajit.org/
[1] https://openresty.org/en/
I have been enjoying espanso[1], which at first glance is just a text-expanding keystoke saver, but can run shell scripts when it's doing its thing. So I can type :extip anywhere and it will curl ipinfo.io then pipe the json response through jq -r and leave my current external IP in whatever app I was typing in.
1: https://espanso.org/
I've been using Phoenix (https://github.com/kasper/phoenix), which is hackable in JavaScript and has a smaller scope (only window management), but haven't found it compelling enough to keep hacking at my config, so I'm back to Moom (https://manytricks.com/moom/), which would be perfect if it supported chaining sequences of sizing instructions (i.e., tile a window twice to the left to turn it from 1/2 to 1/3 width).
If anyone cares, here's my config: https://github.com/kbd/setup/blob/master/HOME/.hammerspoon/i...
It shows off a tiny bit of what you can do with Hammerspoon:
- window and app management
I believe this is the implementation I based mine on: https://github.com/zzamboni/dot-hammerspoon/blob/master/init...
Not OP, but I found this after a little bit of searching:
https://gist.github.com/dshnkao/10865f32d69e40dc591e08e3af97...
Shouldn't be that hard to spawn a terminal with this running from hammerspoon.
Here's some Spoons that handle translation:
https://github.com/Hammerspoon/Spoons/blob/master/Source/Dee...
My pretty extensive (but poorly organized) config:
https://github.com/nonissue/hammerspoon
Features include:
Don't miss https://github.com/dandavison/delta. I use gui diff tools much less nowadays because I can get such great diffs in the terminal.
Related posts
- any recommended resources for picking up Hammerspoon?
- [Hammer Control] Hammerspoon + SelfControl = Scheduling SelfControl
- Needed: Automation extension that can repeat movements/clicks in a browser
- getting current desktop to show on lockscreen? (MacOS Ventura)
- Ask HN: Scrolling Window Manager for macOS?