Hammerspoon Configuration
Hammerspoon is an incredible tool to automate keybaord shortcuts and much more on macOS. You can code things in LUA and make use of tones of Spoons as integrations.
This repository contains my personal configuration and extensions I have built to use Hammerspoon with Adobe Premiere Pro, Adobe audition, and more.
Status
This is my repository, it is evolving and not really meant to be copied 1=1. It's not even made to be modular really. But if you dive deeply enough, you may be able to figure out how things work and then you can make use of whatever part you like.
Future Ideas
- Make individual Spoons
- This would help make these more useful for others to include in their Hyperspoon installations.
- HyperController
- AdobePremierePro
- AdobeAudition
- AppWatcher
- KeyboardAsMidi
- etc?
Things I do with Hammerspoon
General
- Move Windows Around into Certain Places
- Move Windows between Spaces
- Move Windows between External Screens
- Abilityto use the
hyper
Keybard Combination (CMD + CTRL + OPTION) - Have a Dynamic App Launcher & Action Interface ready at all times
- Launch Applications via Shortcuts
- Open Projects in Sublime Text
- Generic Toggle Mic Mute/Active via Shortcuts
- Color the Menubar based on my Keyboard Layout (useful to know when I am in German layout and when I am in my default which is the U.S. Layout)
- etc.
Premiere Pro
- Playback at Double Speed via one Key Press
- Apply Effects Presets via Actions Panel
- Export Media & Markers via Actions Panel
- Move Playhead by Clicking into the Timeline (instead of having to click on the top bar where the time markers are displayed)
- Cut + Move about 2 seconds in front of cut + Continue Fast Playback
- Ripple Delete + Move about 2 seconds in front of cut + Continue Fast Playback
- Add Timeline Marker (usually markers are placed onto the selected clip and when using the "auto select clip under playhead" that can be annoying, with my shorcut here it deselects everything and then sets the marker onto the timeline)
Audition
- Playback at Double Speed via one Key Press
- Ripple Delete (similar to Premiere Pro Ripple Delete)
- Ripple Delete + Continue Fast Playback
- Cut + Continue Fast Playback
- Export Media & Markers via Actions Panel
- Import Markers via Actions Panel
- Go into Wave Editor, Heal Selection, and go back to Multi Track Editor
Helper Files
Utilities
The whole util.lua
file is full of small functions which are quite useful to have things more accessible and with logical names.
Class & ClassSingleton
The _Class.lua
and _ClassSingleton.lua
are utilitiy modules to be able to build Object Oriented modules with context and all. The Singleton — ofcourse — tries to make sure you only ever end up with one instance of whatever you are trying to open.
Specifically the _ClassSingleton.lua
is used for things like the AppWatcher
because the whole purpose of the HyperController.lua
, AppWatcher
, and others is that they only ever exist once in the whole application.
AppWatcher
A module which starts a hs.application.watcher
and I can then tell it to let me know when specific applications are activated
, deactivated
, hidden
, launched
, launching
, terminated
, or unhidden
. This makes it so that there is only one hs.application.watcher
and I don't have to implement that part of the logic in every other file.
Additionally, the purpose is to not tax the system with multiple hs.application.watcher
processes and instead just have one which does that watching for me.
Contact / Developer
Chris Spiegl - ChrisSpiegl.com