![]() ![]() I am a programmer, so anything that I can read and maintain in git is a major bonus. While Keyboard Maestro is very powerful, and people have been writing applescripts for Automator forever, Hammerspoon snuggled into a sweet spot in my toolchain. I found Hammerspoon's Lua-powered little engine to be powerful and much faster than anything I had used. I'm not entirely sure where I found it, I know it was while searching for a solution to my Hyper-key problems. Eventually, there was some kind of breaking change that drove me to Hammerspoon 2 sometime in 2018. I moved from Keyboard Maestro to Alfred for this, using their visual workflow builder to define simple app switching rules. This has gone through several iterations through the years. If you bounce back and forth between two or three programs on a regular basis, I highly recommend investing in something like this. At the time, I was a software developer working mostly on the front-end, so the ability to instantly switch from my editor to the browser shortened my OODA loop and allowed me to iterate very quickly. I haven't used the ⌘+TAB app switcher regularly for nearly eight years now… my fingers just open the browser with HYPER+k, and that is How Computers Should Work TM. It's hard to overstate the impact of this hack on my computing style. Losh's exact setup for quite a long time: Use KeyRemap4Macbook 1 to map a key to the "hyper", and use Keyboard Maestro to listen for that chord and fire off automations, primarily switching between applications. This enables the user to set a custom keyboard shortcut that will not override a standard keyboard shortcut… effectively a layer of shortcuts that's all your own. No OS X app uses that crazy chord, but most will let you use it as modifiers for a keyboard shortcut. Initially, the Hyper key is a "magic" hack for keyboard shortcut lovers where it assigns a single keypress to the unreachable modifier chord of ⌘⌥⇧⌃. This was hugely impactful and I've pretty much tried everything on it (the shift-key training wheels were frustrating but helped my typing!) and I started playing around with all those tricks, especially the Hyper key. Some Seal plugins will continue performing background work even after this call (e.g.In 2012, I read the Modern Space Cadet article by Steve Losh.This may be useful if you wish to show Seal in response to something other than its hotkey.query - An optional string to pre-populate the query box with.Should be the name as passed to loadPlugins() or loadPluginFromFile. ![]() Refresh the list of commands provided by the given plugin. Seal:refreshCommandsForPlugin(plugin_name) depending on configuration) list of commands. This method is used for plugins which expose a dynamic or changing (e.g. Most Seal plugins expose a static list of commands (if any), which are registered at the time the plugin is loaded.Refresh the list of commands provided by all the currently loaded plugins. The plugin names in the list, should not have seal_ at the start, or.The plugins live inside the Seal.spoon directory.plugins - A list containing the names of plugins to load.Some plugins may immediately begin doing background work (e.g.This method allows you to load pluginsįrom non-standard locations and is mostly a development interface. You should normally use Seal:loadPlugins().The Seal object if the plugin was successfully loaded, nil otherwise.file - the file where the plugin code is stored.plugin_name - the name of the plugin, without "seal_" at the beginning or ".lua" at the end.Seal:loadPluginFromFile(plugin_name, file) toggle - This will cause Seal's UI to be shown or hidden depending on its current state.show - This will cause Seal's UI to be shown.mapping - A table containing hotkey modifier/key details for the following (optional) items:.Time between the last keystroke and the start of the recalculation of the choices to display, in seconds. Defaults to `~/.hammerspoon/seal_plugins/` and the Seal Spoon directory. List of directories where Seal will look for plugins. Methods - API calls which can only be made on an object returned by a constructorĪPI Documentation Variables plugin_search_paths Signature.vpn : Connect and disconnect VPNs (currently supports Viscosity and macOS system preferences)A.useractions : User defined custom actions. ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |