Under the hood, Hammerflow relies on Hammerspoon, a well-established and powerful Mac productivity app.
Easily configure all of your shortcuts from a single text file. If you want more control, just open the code and change it however you like.
leader_key = "f18"
t = "Terminal"
b = "Safari"
v = ["Visual Studio Code", "VS Code"]
s = ["shortcut:cmd alt shift 4", "screenshot"]
[l]
label = "[links]"
g = "https://github.com"
p = "https://phpxatl.com"
[r]
e = ["raycast://extensions/raycast/emoji-symbols/search-emoji-symbols", "emoji"]
[w]
h = "window:left-half"
l = "window:right-half"
[c]
label = "[code]"
z = "code: ~/.zshrc"
h = "code: ~/.hammerspoon"
1. Clone our premade Hammerspoon config to the default location:
git clone --recursive https://github.com/saml-dev/hammerflow-wrapper.git ~/.hammerspoon
2. Install Hammerspoon
3. (Recommended) Use Karabiner Elements to remap Right Command
to f18
for a dedicated leader key.
4. Explore sample.toml
to see what you can do and try out some of the default actions.
5. Create home.toml
or work.toml
and personalize to your hearts content!
1. Clone the Hammerflow spoon:
git clone https://github.com/saml-dev/Hammerflow.spoon.git ~/.hammerspoon/Spoons/Hammerflow.spoon
2. In init.lua
load Hammerflow and pass a list of config files for it to search
for. It takes absolute paths and paths relative to the Hammerspoon
config dir, usually ~/.hammerspoon
hs.loadSpoon("Hammerflow")
spoon.Hammerflow.loadFirstValidTomlFile({
"home.toml",
"work.toml",
"Spoons/Hammerflow.spoon/sample.toml"
})
-- optionally respect auto_reload setting in the toml config.
if spoon.Hammerflow.auto_reload then
hs.loadSpoon("ReloadConfiguration")
-- set any paths for auto reload
-- spoon.ReloadConfiguration.watch_paths = {hs.configDir, "~/path/to/my/configs/"}
spoon.ReloadConfiguration:start()
end
3. (Recommended) Use Karabiner Elements to remap Right Command
to f18
for a dedicated leader key.
4. Explore sample.toml
to see what you can do and try out some of the default actions.
5. Create your own toml config and personalize to your hearts content!