aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)Author
2019-08-12Add missing license headersTeddy Wing
2019-08-12ufo: Add a mode binding to edit, save, and close a text fileTeddy Wing
2019-08-06Remove F5 Chrome extension reloader, replace with iTerm app switchTeddy Wing
Remove the Chrome extension reload binding on F5. I'm not using it currently and it was just messing me up when I pressed it accidentally. Move the iTerm application switching binding from F6 to F5 now that it's free, as F5 is easier to find without looking.
2019-07-26application_switch: Add a binding on F6 to activate iTermTeddy Wing
Easier and less error-prone than the F13_f mapping I also have. Need a shorter shortcut that isn't F1 while I work on trying to move from Terminal to iTerm.
2019-07-26window_layout: Fix iTerm window #2 targetingTeddy Wing
Using an index of 2 didn't guarantee that the window accessed would be window #2. Turns out the order of windows in the list is not consistent. In order to target window #2, look for the "2. " prefix in the window title.
2019-07-25Automatically reposition iTerm window 2 when external monitor connectedTeddy Wing
When my external monitor is connected, ensure that iTerm's window #2 is in the proper position. iTerm has a habit of getting its window layout screwed up when switching monitors (or just not remembering window layouts between monitors).
2019-07-25init: New F5 mapping to reload UFO Chrome extensionTeddy Wing
Reloads the UFO Chrome extension and opens a file in a single one-button mapping.
2019-07-25mouse: Add non-functioning Option-ClickTeddy Wing
Was trying to get this to work a while ago and it's been sitting uncommitted in my local repo. Commit it just to have it, and try to figure out how to get it to work later.
2019-07-11init: Add temporary F5 binding to reload a browser extensionTeddy Wing
Working on a Chrome extension that displays an HTML interface through an extension-scoped URL. When I reload the extension, the page gets closed automatically. This mapping clicks the extension's button in the Chrome toolbar (the rightmost extension icon) to reopen the page.
2019-07-06init.lua: Remove Ctrl-Option-z shortcutTeddy Wing
Now that WindowMode has the `c` shortcut which does the same thing, we no longer need this shortcut. It was also shadowing a Ctrl-Option-Shift-z shortcut I have attached to the "Zoom" menu item in iTerm2. Now the Zoom shortcut works there.
2019-07-06Spoons/WindowMode.spoon: Upgrade to latest HEADTeddy Wing
Provides `c` shortcut increase window height to the bottom of the screen.
2019-07-06application_switch: Add shortcut for TextEditTeddy Wing
2019-07-03Spoons/WindowMode.spoon: Upgrade to latest HEADTeddy Wing
2019-06-28Add hotkey to reload AODocs UFO browser extensionTeddy Wing
Until live reloading is implemented, this compacts a bunch of repetitive key presses into a modal shortcut.
2019-06-22gdrive_mouseover_item: Add a short description of the scriptTeddy Wing
2019-06-22gdrive_mouseover_item_open: Ensure Chrome is activeTeddy Wing
Before doing anything, activate Chrome. Normally it should be active anyway, but I just tried this with Finder active and no windows open, not realising that Chrome wasn't the frontmost application.
2019-06-22gdrive_mouseover_item: Open the selected fileTeddy Wing
Press a keyboard shortcut defined in a separate user script to open the file using AODocs UFO.
2019-06-22Add gdrive_mouseover_item modeTeddy Wing
A mode that selects a file row in Google Drive by its ID using keyboard shortcuts 1–0 and q–p. Makes it possible to select a file without using the mouse.
2019-06-22application_switch: Allow deactivating mode with Escape keyTeddy Wing
2019-06-22application_switch: Add shortcut for PreviewTeddy Wing
2019-06-22application_switch: Add shortcut for ExcelTeddy Wing
2019-06-20application_switch: Provide access to F1–F4 keysTeddy Wing
Since I overrode the F1 through F4 keys globally, there was no way to access press a non-custom variant of these keys. Realised this when trying to access the manual in Mutt, which is bound to F1. Add Shift-F1–F4 bindings that map to F1–F4, in case we need access to the original set of keys. Needed to add a `doAfter` delay after disabling the binding because the delay seems to take a bit to go through. Thanks to 'knu' (https://github.com/knu) for the tip: https://github.com/Hammerspoon/hammerspoon/issues/1252#issuecomment-290411701 Also gleaned it from: https://stackoverflow.com/questions/40986242/key-repeats-are-delayed-in-my-hammerspoon-script
2019-06-19terminal_tab_hotkeys: Fix errors in enable/disable loopsTeddy Wing
Since the `terminal_tab_hotkeys` table had both hotkey objects and methods in it, the loops that enable and disable the hotkeys were also looping over the functions, resulting in errors like this: 2019-06-19 23:30:09: ******** 2019-06-19 23:30:09: 23:30:09 ERROR: LuaSkin: hs.application.watcher callback: $HOME/.hammerspoon/terminal_tab_hotkeys.lua:42: attempt to index a function value (local 'v') stack traceback: $HOME/.hammerspoon/terminal_tab_hotkeys.lua:42: in method 'enable' $HOME/.hammerspoon/terminal_tab_hotkeys.lua:55: in function <$HOME/.hammerspoon/terminal_tab_hotkeys.lua:52> 2019-06-19 23:30:09: ******** Go the easy route and just change the methods into functions so that we only put hotkeys in the tables.
2019-06-19init: Move Terminal tab shortcuts to a new fileTeddy Wing
Now that there's a lot more code for this, extract it to a separate file.
2019-06-19init: Deactivate Terminal tab switching hotkeys outside of TerminalTeddy Wing
The bindings I created to switch tabs in Terminal shadowed shortcuts in all other applications, preventing them from performing their normal function. To get the bindings only in Terminal, add an application watcher that enables and disables them when Terminal is activated and deactivated.
2019-06-19application_switch: Allow cancelling out of F13 modeTeddy Wing
Otherwise it will stay active until the next time I press a bound key, forcibly switching applications when not intended.
2019-06-19application_switch: Remove impossible TODOTeddy Wing
Turns out you can't define a multi-key mapping. Not sure if there's a way to define a dead key in Hammerspoon other than using a mode. Looks like the way I originally wrote it is the way to do it.
2019-06-19application_switch: Prefer left-handed shortcuts for mode mappingsTeddy Wing
Change mappings preceded by the F13 key to use easy to reach keys on the left side of the keyboard. Since F13 requires moving the right hand, use keys that don't require me to move my left hand, enabling me to activate these without looking down at the keyboard.
2019-06-19application_switch: Add shortcuts for more frequently used applicationsTeddy Wing
Hide these under a mode switch as they're not as frequently used as the others defined at the top of the file.
2019-06-19mouse: Add scrolling shortcutsTeddy Wing
Scroll up, down, left, right using the number pad keys. Activate using F14, or scroll lock.
2019-06-17Add application switching shortcutsTeddy Wing
Bind a few F<n> keys to activate frequently used applications.
2019-06-17Spoons/WindowMode.spoon: Upgrade to latest HEADTeddy Wing
2019-06-17mouse: Remove Ctrl-Option-Shift-m mode hotkeyTeddy Wing
Changed this to 'padclear', and the way the code is written, we can't have two shortcuts to activate & deactivate the mode. Just keep one.
2019-06-17Extract `window.lua` to `WindowMode.spoon`Teddy Wing
2019-06-17Add 'WindowMode.spoon'Teddy Wing
2019-06-16Add READMETeddy Wing
2019-06-15Add license (GNU GPLv3+)Teddy Wing
2019-06-15window: Remove 'shift' from mode modifiersTeddy Wing
Reduce the number of modifiers needed to activate the mode. Makes it a bit easier on the fingers. Didn't go with Ctrl-Shift because I thought it might be easier to accidentally activate with Vim window shortcuts.
2019-06-15mouse: Send mouse down and up events separatelyTeddy Wing
Send 'down' when pressing the key, and 'up' when releasing. This sort of enables us to drag things, but I wasn't able to get an animation while dragging a window to test this. Looks like I'll need to work out a way to send mouse dragged events.
2019-06-15mouse: Activate mode with num lockTeddy Wing
Add an additional mode switch with the num lock or 'clear' key.
2019-06-15mouse: Add shortcuts for 10px and 1px movementTeddy Wing
Now we can move by large (100px) increments, as well as smaller 10px and 1px increments for more precision.
2019-06-15Add mouse hotkeysTeddy Wing
Proof of concept of shortcuts to move the mouse around.
2019-06-15window: Add shortcut to move window to topTeddy Wing
Quickly move a window to the top of the screen.
2019-06-15Add <F8> shotcut to invert screen coloursTeddy Wing
Makes it a bit quicker with a single key instead of a two-handed shortcut with modifiers. Allows me to keep the existing shortcut.
2019-06-15window: Fix commands to move window to screenTeddy Wing
* Don't resize the window * Don't animate window movement
2019-06-15window.lua: Add window resize hotkeysTeddy Wing
New shortcuts to resize windows, again in medium and small increments.
2019-06-15Add window movement hotkeysTeddy Wing
Create a new mode activated with <C-M-S-w> that activates hotkeys to do window management. Add hotkeys to move windows up, down, left, and right. One set of hotkeys to move by small increments and another set to move by slightly larger increments. Based on code from 'derekwyatt' (https://github.com/derekwyatt): https://github.com/fikovnik/ShiftIt/issues/296#issuecomment-438386501 > units = { > right30 = { x = 0.70, y = 0.00, w = 0.30, h = 1.00 }, > right70 = { x = 0.30, y = 0.00, w = 0.70, h = 1.00 }, > left70 = { x = 0.00, y = 0.00, w = 0.70, h = 1.00 }, > left30 = { x = 0.00, y = 0.00, w = 0.30, h = 1.00 }, > top50 = { x = 0.00, y = 0.00, w = 1.00, h = 0.50 }, > bot50 = { x = 0.00, y = 0.50, w = 1.00, h = 0.50 }, > upright30 = { x = 0.70, y = 0.00, w = 0.30, h = 0.50 }, > botright30 = { x = 0.70, y = 0.50, w = 0.30, h = 0.50 }, > upleft70 = { x = 0.00, y = 0.00, w = 0.70, h = 0.50 }, > botleft70 = { x = 0.00, y = 0.50, w = 0.70, h = 0.50 }, > maximum = { x = 0.00, y = 0.00, w = 1.00, h = 1.00 } > } > > mash = { 'shift', 'ctrl', 'cmd' } > hs.hotkey.bind(mash, 'l', function() hs.window.focusedWindow():move(units.right30, nil, true) end) > hs.hotkey.bind(mash, 'h', function() hs.window.focusedWindow():move(units.left70, nil, true) end) > hs.hotkey.bind(mash, 'k', function() hs.window.focusedWindow():move(units.top50, nil, true) end) > hs.hotkey.bind(mash, 'j', function() hs.window.focusedWindow():move(units.bot50, nil, true) end) > hs.hotkey.bind(mash, ']', function() hs.window.focusedWindow():move(units.upright30, nil, true) end) > hs.hotkey.bind(mash, '[', function() hs.window.focusedWindow():move(units.upleft70, nil, true) end) > hs.hotkey.bind(mash, ';', function() hs.window.focusedWindow():move(units.botleft70, nil, true) end) > hs.hotkey.bind(mash, "'", function() hs.window.focusedWindow():move(units.botright30, nil, true) end) > hs.hotkey.bind(mash, 'm', function() hs.window.focusedWindow():move(units.maximum, nil, true) end)
2019-06-15init.lua: Add hotkey to extend window height to bottomTeddy Wing
Makes it easier to maximise windows. Want this to embiggen browser windows to full height when I connect to an external monitor.
2019-06-15Add Hammerspoon configTeddy Wing
Add shortcuts to focus tabs 1-10 in the frontmost Terminal window.