![bind a hotkey hammerspoon bind a hotkey hammerspoon](https://gaming-tools.com/warcraft-3/wp-content/uploads/sites/2/2018/04/auct-hotkey-tool-hero-customkeys-450x514.jpg)
- #Bind a hotkey hammerspoon how to#
- #Bind a hotkey hammerspoon full#
- #Bind a hotkey hammerspoon code#
- #Bind a hotkey hammerspoon windows#
Using the same applications table as hyper, we add a new key/value pair for preferred_display. Once again, we return to my config variable in a. Inspired by Seth Messer's config, I wrote a simplified a system. If I have two screens, I want work right in front of me, and distraction/calendaring applications off to the side.
#Bind a hotkey hammerspoon full#
If I'm on one screen, I want everything full screened, and I switch between them using hyper shortcuts.
#Bind a hotkey hammerspoon windows#
Autolayout on docking or undocking the laptopĪfter using my basic keys for moving windows around, I realized the main use case for me was setting up my windows on my two monitors after docking my laptop. It's a very small thing, but it brings me a lot of joy. I use this more than I thought I would, it turned out that most of my window moving was simply to bring two things close together for comparison or reference. Hold ⎇ for 70/30." ) : searchSubText ( true ) : choices ( windows ) : show () movewindows : exit () while it's not terribly complex, it's a good example of the powerful tools Hammerspoon gives you to build your own automations.įirst we set up the modal and bind it to our old friend Hyper.Ĭhooser : placeholderText ( "Choose window for 50/50 split. I then hit `v` to enter my split window chooser, then I choose the window I want alongside my "work" window and everything is ready to go! Hitting HYPER+m allows me to enter my window movement modal. Realizing just how common this particular use case is, and inspired by how easy it is to split a screen in vim using fzf.vim, I wrote a function to make my life easier. Switch to my reference, enter move mode, move it to the right.Switch to my work, enter move mode, move it to the left.Flip back and forth (efficiently using a!) a few times before realizing that I need them both at the same time.Go find that material, open it up full screen.Realize I need some reference material.Sometimes it's Dash.app, some other reference material, or a ticket. There is one use case where I'll commonly have two windows open… one to work on, the other for reference. I work on a laptop monitor a lot, and even at my nice setup at my desk I try to keep my main monitor on a single app. While much of a is very simple, there are two automations that I'm proud of. In my configuration, a isn't very complex or interesting, and a lot of it was written originally by Tom Miller. I used to think multitasking was a super power of mine, now I think it's my kryptonite. While ten years ago I would have leapt for the tiling options 1 (I still would like to give i3wm a go one of these days!) I have been making an effort to only have one application in view at any given time.
#Bind a hotkey hammerspoon code#
There is a lot of awesome Hammerspoon code to help you with that, from clones of popular Mac applications like Spectacle to complex tiling systems. Pressing d will activate the layer with g and y.Īt each level, a helper text is shown, like which-key in emacs.One of the main things people do with Hammerspoon is wrangle their window layouts. Here, pressing option+space activates the first layer with b, t, d (browser, terminal, domain respectively) Click the Hammerspoon menu icon and select 'open config' (or open. hs.loadSpoon("RecursiveBinder") - Load the spoon Now that we have a combined modifier key, we need to bind it in Hammerspoon and send mute toggle commands to Zoom and Teams.
#Bind a hotkey hammerspoon how to#
Here is a minimal lua snippet on how to use it. I wrote a Medium article about how to use it to make a leader key for macOS.
![bind a hotkey hammerspoon bind a hotkey hammerspoon](https://mattorb.com/content/images/2019/09/Screen-Shot-2019-09-03-at-9.25.13-AM.png)
If you're still wondering how to do this, then the RecursiveBinder Spoon for Hammerspoon will do the trick.