![]() ![]() Typically you would write a configuration file in Lua that connects events to actions. If you want to explore the options Hammerspoon offers, check out the Getting Started Guide and the full API documentation as well as the already pre-made plugins called Spoons. You can write Lua code that interacts with macOS APIs for applications, windows, mouse pointers, filesystem objects, audio devices, batteries, screens, low-level keyboard/mouse events, clipboards, location services, wifi, and more. What gives Hammerspoon its power is a set of extensions that expose specific pieces of system functionality, to the user. At its core, Hammerspoon is just a bridge between the operating system and a Lua scripting engine. Hammerspoon is so amazing for developer workflows after you put the time in.This is a tool for powerful automation of macOS. Not only that, these keys are case sensitive so that effectively doubles my space of usable infinite key chords. I replace the final “w” with “m” to minimize, “p” to open the most recently used window in a stack of windows in an application. I am able to chain key presses infinitely and categorize the different functions.įor example, I press “Caps Lock” + “Left shift” + “a” to open a global key chording menu, press “w” for my “window management” category which opens another key chord menu, then press “w” again to maximize my current window. Overall though I’m extremely grateful for Hammerspoon and if it ever stops working I might consider moving to Linux as my personal machine. It also can’t distinguish between “Left shift” and “Right shift” keys for example. It also gets very tricky because I replace Caps Lock with “fn” and combine it with other modifier keys. I use Karabiner-Elements which solves most of the things I need such as literally remapping the “fn” key because there’s no way for Hammerspoon to know if the “fn” key is pressed, only the more standard modifier keys. The only shortcoming I run into frequently with Hammerspoon is the fact that it is not low-level enough in the keyboard listening stack. The code I wrote to use semicolon like this sometimes breaks if I try to type too many actual semicolons in a row but I usually rely on JS Beautify to add those for me. That's done with Hammerspoon too! I've got an extra layer of hotkeys available to me to set up whatever else I can think of in the future. I've got another hotkey set up to unset it (semicolon+e).Ĥ) You may have noticed I'm using keyboard shortcuts with semicolon as a modifier key. There are a few things that need to happen before I start a screen recording (opening CamHead.app, setting my screen resolution, and showing the dock at a certain height so I can later crop the video to 16:9) and I have it all bound to a single hotkey (semicolon+r). Now my work music is a single keyboard shortcut (semicolon+m) and a few miliseconds away.ģ) Set up screen recording. I got tired of the friction around opening Spotify, going into my work playlist, hitting play, waiting several moments for the playlist to load, etc, so I downloaded a bunch of mp3s from YouTube and put them in ~/Music/work/. I've got ctrl+space set to Vimcal, alt+space set to midnight.app (a time tracker I'm building), and ctrl+alt+space set to Things.Ģ) Start/stop playing my work playlist of lofi hiphop. Here are the top ways I'm using it right now:ġ) Hide/show apps similar to how iTerm lets you bind a hotkey to hide/show a terminal. It's one of the first must-have-for-a-usable-laptop tools I set up when I get a new MacBook. I have my "hyper" key bound to caps lock using Karabiner Elements (but it still works as a normal caps lock if you hold it for half a second). ![]() a replacement for Caffeine (menubar icon to keep computer from going to sleep) fuzzy-find popups (like Alfred/fzf) are built-in. hyper+L arranges my browser+editor+terminal in a standard layout, and I have other shortcuts to set apps to halves or thirds of the screen, or to another monitor. because it's easy to position apps wherever you want. ![]() if you can code a tiny bit of Lua there's no need for apps like Spectacle, Rectangle, Moom, etc. hyper+T for text editor, hyper+B for browser, hyper+S for shell) keyboard shortcuts for common apps (eg. It shows off a tiny bit of what you can do with Hammerspoon: ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |