Sample Configurations - asmagill/hammerspoon GitHub Wiki
Please feel free to add a link here to your Hammerspoon configuration (i.e. init.lua) if you want to share it with the world.
-
Ki.spoon - Work in macOS like you work in vim (reddit post here)
- Binds modal hotkeys to enter and exit a number of different modes to automate macOS
- Ships with default shortcuts for almost every action for all stock macOS apps
- Provides an API for configuring any default shortcut and adding your own custom modes, applications, and actions
- andweeb's configuration - Personal usage and configuration of Ki.spoon and custom SizeUp-like window management
- Lunette -- Zero-config Spectacle keybindings for Hammerspoon
-
VimMode.spoon -- Adds Vim movements and operations to any OS X input box. Trying to get a mostly complete set of motions and operators implemented. Supports
jkto enter normal mode, as well as per-app disabling. - new-filet-o-fish -- Mac Improvemen
- digitalbase init.lua -- Config for 34inch display. Focus/Launch apps with shortkeys, auto layout/tile for coding and comms, shortcuts to resize apps
- Awesome-hammerspoon, as advertised. —- Highly modal-based, vim-styled key bindings, provides functionality like desktop widgets, window management, application launcher, timer indicator, dictionary translation, cheatsheets... etc.
- miro's window management -- To move windows in halves and corners using only arrows (no use of strange letters), magic and very intuitive!
-
CommandPost -- Adds lots of additional shortcuts and features to Apple's Final Cut Pro. Well documented, and makes use of almost every Hammerspoon extension (i.e AppleScript, GUI Scripting,
hs.chooser, Pasteboard History, etc). - rtoshiro's init.lua -- Well documented. Some useful shortcuts to resize and position windows. Custom layouts for each application.
- victorso's Jumpcut replacement -- Clipboard manager with direct paste option.
- ztomer's Configuration -- Keyboard based move/ resize + Pomodoro timer.
- cmsj's init.lua
- asmagill's configuration -- undocumented and may invoke in-progress or not currently working code, but if you can use anything in it, enjoy!
- heptal's configuration -- location-based redshift, imgur uploader, window movement/resizing with undo
- marksantcroos's configuration -- near real-time view of my $HOME/.hammerspoon!
- auser's configuration
- mgee's configuration -- Application specific window layouts and global keyboard layers.
- af's configuration
- BrianGilbert's configuration -- well documented, mainly window management things.
- andrewhampton's configuration -- Window management and weather/gmail menubar items
- Krillere's init.lua (Window resizing)
- Safari Tab switch (CMD #), like Chrome
- TwoLeaves' configuration -- Supports changing Spaces.
- Songchenwen's configuration -- Supports Undo.
- exark's configuration - Basic window management and shortcuts. Readable and hopefully well-documented.
- oskarols's configuration - Extended app launcher that cycles between app windows and saves mouse positions. Fullscreen-hotkey that toggles between fullscreen and previous state. Create a grid-on the fly and resize/move windows using your keyboard.
-
STRML's configuration - Basic window movement using
hjklkeys, window resizing with -=[], saved layouts, Slack tab switching override (ctrl-tab is back!), saved layout for 4k screen. - jwkvam's configuration - Draws a red border around the active window.
- pstadler's configuration - Fast spaces switching, resize and move windows, focus windows, reconnect to current wifi network, hotkey triggered caffeinate menu, enhanced battery status notifications
-
zzamboni's configuration - Near-live contents of my
~/.hammerspoondirectory. Includes window management, audio control, clipboard management, and various other things as I add them. - szymon_k's configuration - huge config including one-of-a-kind functions like automatic launch/cycle/create-new-window for multiple apps (smartLaunchOrFocus), moving windows between spaces (moveToSpace), ios-like dot indicators for spaces at the bottom of the screen (spacesDots), and more crazy stuff.
- Oh-my-Hammerspoon! - early work on a generic framework for Hammerspoon configuration that provides a useful out-of-the-box configuration and allows loading and configuration of "plugins". Draws a lot of code and ideas from some of the other configurations in this page.
- tdlm's pastebin.lua - CTRL+ALT+CMD+P for pasting text to pastebin API and getting a URL copied to your clipboard on success. Requires API keys.
- tdlm's url_shortener.lua - CTRL+ALT+CMD+S for pasting URL bit.ly API and getting a URL copied to your clipboard on success. Requires API key.
- tdlm's github_pull_requests.lua - Lists Github Pull Requests in menu bar with a simple number indication. Requires API key and filling out the GITHUB_API_USER, GITHUB_API_TOKEN and GITHUB_REPOS fields.
- Teun's configs - Google Authenticator tokens at a keystroke, making use of OSX Keychain, Dutch TV guide in a menu
- Dharma Poudel's configs - Cheatsheet copycat, battery configurations, window management and many more random stuffs.
- j-martin's config - Combination of hyper-key mapping for applications and window management.
- scottcs's config - timers, cheatsheet, notational velocity, scratchpad, weather, and more.
- spacehammer - simple config inspired by Spacemacs
-
S1ngS1ng's init.lua
- Window management includes Set to Another Screen, Snap to 4 directions, and Free-Style Resize
-
NEW Add Windows-like reletive window cycle. Works the same as
winKey + left/right
-
NEW Add Windows-like reletive window cycle. Works the same as
- Global music control shortcut (I am using VOX for now). See vox-control.lua
-
NEW VIM-like key global binding, i.e.
Ctrl + h/j/k/l. Works well with combination ofalt,shift, andcmd. Thanks to A-Ron's help
- Window management includes Set to Another Screen, Snap to 4 directions, and Free-Style Resize
- weather menu bar app - Shows current temperature and conditions in the menu bar (based on Yahoo Weather API)
-
Launcher Mode (inspired by Karabiner) - Use
right-cmd + Xto launch Xcode,right-cmd + C=Chrome,right-cmd + T=Terminal, etc. - control+hjkl to arrow keys - simple configutation. just key remapping `control + hjkl' to 'arrow keys'
- raulchen's configuration: Tmux style prefix key bindings, window management, mouse key, double CMD-Q to quit app, Vim style arrow keys, and more.
- emanresusername's .hammerspoon
- dulm's config - A framework for diffrent app with diffrent key binding. In this file is emacs basic key binding.
- hyperex - pwerful hyper-key library
- foundation_remapping - implementation of TN2450: Remapping Keys in Sierra
-
knu's modules - key chord implementation (
SimultaneousKeyPressin Karabiner), application/window based keymap, pseudo hotkeys with extended modifiers support, emoji chooser, etc. - anoxape's .hammerspoon - cheatsheet, dock_press, ensure, layout_cache, etc.
- ControlEscape.spoon - Supercharge your control key. Tap it for escape. Hold it for control. (Optional: Remap caps lock to enjoy a physical key for control and escape right on the home row.)
- tarpdalton's config - remap extra mouse buttons to switch desktop spaces
- Hammerspoon config - Some key bindings, hopefully useful selection of modules/spoons/menubar_apps + IOTD from various sources
- dbmrq's configuration
- MenuHammer - A menuing system based on the Spacemacs command system. Menus are customizable with a simple table and a variety of actions (including executing lua functions) can be performed by menu items.
- danshan's configuration - Application launcher, Window resize, and window movement.
- jjaaccoobb's alacritty global shortcut - Simple configuration enabling a system-wide shortcut to focus the terminal (alacritty is a particular good use case)
-
roeybiran's config - Includes, amongst others: a
~/Downloadswatcher, Wi-Fi watcher, and an extensible app watcher with lots of (optional) app-specific automations + UI scripts. Also:- Documented, modular and completely Spoon-based.
- Easy on system resources, even with all Spoons loaded.
- Linted with
luacheckand formatted withLuaFormatter.
-
gwww's config - simple but powerful. Ditched
karabinerdue to keyboard compatibility issues and have not looked back. Thehypermodule replaceskarabiner. Also have asmartLaunchmodule that cycles through windows of an app or launches app if it is not running. Other than that similar to a number of other configs out there.