{"id":20314860,"url":"https://github.com/windvalley/dot-hammerspoon","last_synced_at":"2025-04-11T17:21:25.929Z","repository":{"id":64931471,"uuid":"579680352","full_name":"windvalley/dot-hammerspoon","owner":"windvalley","description":"My personal configuration for amazing Hammerspoon.","archived":false,"fork":false,"pushed_at":"2025-02-19T10:00:22.000Z","size":85,"stargazers_count":17,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T13:11:37.532Z","etag":null,"topics":["application-launcher","automation","hammerspoon","hotkeys","macos","osx","shortcuts","window-manager"],"latest_commit_sha":null,"homepage":"","language":"Lua","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/windvalley.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-18T14:16:50.000Z","updated_at":"2025-02-19T10:00:26.000Z","dependencies_parsed_at":"2023-12-14T12:47:50.182Z","dependency_job_id":null,"html_url":"https://github.com/windvalley/dot-hammerspoon","commit_stats":null,"previous_names":[],"tags_count":10,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/windvalley%2Fdot-hammerspoon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/windvalley%2Fdot-hammerspoon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/windvalley%2Fdot-hammerspoon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/windvalley%2Fdot-hammerspoon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/windvalley","download_url":"https://codeload.github.com/windvalley/dot-hammerspoon/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248447609,"owners_count":21105140,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["application-launcher","automation","hammerspoon","hotkeys","macos","osx","shortcuts","window-manager"],"created_at":"2024-11-14T18:16:59.309Z","updated_at":"2025-04-11T17:21:25.908Z","avatar_url":"https://github.com/windvalley.png","language":"Lua","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ![sre.im](https://sre.im/favicon-64.png)dot-hammerspoon\n\n![Language](https://img.shields.io/badge/language-Lua-orange)\n![Platform](https://img.shields.io/badge/platform-macOS-lightgrey)\n[![Version](https://img.shields.io/github/v/release/windvalley/dot-hammerspoon?include_prereleases)](https://github.com/windvalley/dot-hammerspoon/releases)\n[![LICENSE](https://img.shields.io/github/license/windvalley/dot-hammerspoon)](LICENSE)\n![Page Views](https://views.whatilearened.today/views/github/windvalley/dot-hammerspoon.svg)\n\n`dot-hammerspoon` is my personal configuration for [Hammerspoon](http://www.hammerspoon.org/), and you can modify to suit your needs and preferences.\n\n## Features\n\n- Application quick launch or hide.\n- Application window manipulation, such as moving, resizing, changing position, etc.\n- System management, such as lock screen, restart system, etc.\n- Auto switch input method according to the application.\n- Switch to the specified input method.\n- Open the specified website directly.\n- Toggle the keybindings cheatsheet.\n- Keep the desktop wallpaper the same as the bing daily picture.\n- Auto reload configuration when lua files changes.\n- The code structure is clear and easy to customize into your own configuration.\n\n## Installation\n\n1. Install [Hammerspoon](http://www.hammerspoon.org/) first: `brew install hammerspoon --cask`\n\n2. Run `Hammerspoon.app` and follow the prompts to enable Accessibility access for the app.\n\n3. `git clone --depth 1 https://github.com/windvalley/dot-hammerspoon.git ~/.hammerspoon`\n\nKeep update:\n\n```sh\ncd ~/.hammerspoon \u0026\u0026 git pull\n```\n\n## Usage\n\n### Toggle Keybindings Cheatsheet\n\n![toggle-keybindings-cheatsheet](https://user-images.githubusercontent.com/6139938/213378139-2d005ac0-bce3-4798-a8b5-e2c23fd5817c.gif)\n\n\u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003e/\u003c/kbd\u003e\n\n### Switch to the specified Input Method\n\n- \u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003e1\u003c/kbd\u003e: ABC\n- \u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003e2\u003c/kbd\u003e: Pinyin\n\n### System Management\n\n- \u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eQ\u003c/kbd\u003e: Lock Screen\n- \u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eS\u003c/kbd\u003e: Start Screensaver\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e\u003ckbd\u003e⌘\u003c/kbd\u003e\u003ckbd\u003e⇧\u003c/kbd\u003e + \u003ckbd\u003eR\u003c/kbd\u003e: Restart Computer\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e\u003ckbd\u003e⌘\u003c/kbd\u003e\u003ckbd\u003e⇧\u003c/kbd\u003e + \u003ckbd\u003eS\u003c/kbd\u003e: Shutdown Computer\n\n### Website Open\n\n- \u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003e8\u003c/kbd\u003e: github.com\n- \u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003e9\u003c/kbd\u003e: google.com\n- \u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003e7\u003c/kbd\u003e: bing.com\n\n### Application Launch or Hide\n\n![application-launch](https://user-images.githubusercontent.com/6139938/213380921-4a8a891f-3476-4160-a23d-afd402f53c46.gif)\n\n- \u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eH\u003c/kbd\u003e: Hammerspoon Console\n- \u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eF\u003c/kbd\u003e: Finder\n- \u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eI\u003c/kbd\u003e: Alacritty\n- \u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eC\u003c/kbd\u003e: Chrome\n- \u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eO\u003c/kbd\u003e: Obsidian\n- \u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eD\u003c/kbd\u003e: Draw.io\n- \u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eK\u003c/kbd\u003e: Freeplane\n- \u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eN\u003c/kbd\u003e: YNote\n- \u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eM\u003c/kbd\u003e: Mail\n- \u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eP\u003c/kbd\u003e: Postman\n- \u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eE\u003c/kbd\u003e: Excel\n- \u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eV\u003c/kbd\u003e: VSCode\n- \u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eW\u003c/kbd\u003e: WeChat\n\n### Window Manipulation\n\n#### Window Position\n\n![window-position](https://user-images.githubusercontent.com/6139938/213381748-31c10324-aee6-48d4-9ec7-492611fac499.gif)\n\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eC\u003c/kbd\u003e: Center Window\n\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eK\u003c/kbd\u003e: Up Half of Screen\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eJ\u003c/kbd\u003e: Down Half of Screen\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eH\u003c/kbd\u003e: Left Half of Screen\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eL\u003c/kbd\u003e: Right Half of Screen\n\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eU\u003c/kbd\u003e: Top Left Corner\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eI\u003c/kbd\u003e: Top Right Corner\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eO\u003c/kbd\u003e: Bottom Left Corner\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eP\u003c/kbd\u003e: Bottom Right Corner\n\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eQ\u003c/kbd\u003e: Left or Top 1/3\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eW\u003c/kbd\u003e: Right or Bottom 1/3\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eE\u003c/kbd\u003e: Left or Top 2/3\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eR\u003c/kbd\u003e: Right or Bottom 2/3\n\n#### Window Resize\n\n![window-resize](https://user-images.githubusercontent.com/6139938/213382832-7f326b87-a704-441d-aa56-9c016f2072cc.gif)\n\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eM\u003c/kbd\u003e: Max Window\n\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003e=\u003c/kbd\u003e: Stretch Outward\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003e-\u003c/kbd\u003e: Shrink Inward\n\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e\u003ckbd\u003e⌘\u003c/kbd\u003e\u003ckbd\u003e⇧\u003c/kbd\u003e + \u003ckbd\u003eK\u003c/kbd\u003e: Bottom Side Stretch Upward\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e\u003ckbd\u003e⌘\u003c/kbd\u003e\u003ckbd\u003e⇧\u003c/kbd\u003e + \u003ckbd\u003eJ\u003c/kbd\u003e: Bottom Side Stretch Downward\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e\u003ckbd\u003e⌘\u003c/kbd\u003e\u003ckbd\u003e⇧\u003c/kbd\u003e + \u003ckbd\u003eH\u003c/kbd\u003e: Right Side Stretch Leftward\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e\u003ckbd\u003e⌘\u003c/kbd\u003e\u003ckbd\u003e⇧\u003c/kbd\u003e + \u003ckbd\u003eL\u003c/kbd\u003e: Right Side Stretch Rightward\n\n#### Window Movement\n\n![window-movement](https://user-images.githubusercontent.com/6139938/213383576-facc8b81-a94f-4124-b0a1-409d23261421.gif)\n\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e\u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003eK\u003c/kbd\u003e: Move Upward\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e\u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003eJ\u003c/kbd\u003e: Move Downward\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e\u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003eH\u003c/kbd\u003e: Move Leftward\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e\u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003eL\u003c/kbd\u003e: Move Rightward\n\n#### Window Monitor\n\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eUP\u003c/kbd\u003e: Move to Above Monitor\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eDOWN\u003c/kbd\u003e: Move to Below Monitor\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eLEFT\u003c/kbd\u003e: Move to Left Monitor\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eRIGHT\u003c/kbd\u003e: Move to Right Monitor\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eSPACE\u003c/kbd\u003e: Move to Next Monitor\n\n#### Window Batch\n\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e\u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003eM\u003c/kbd\u003e: Minimize All Windows\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e\u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003eU\u003c/kbd\u003e: Unminimize All Windows\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e\u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003eQ\u003c/kbd\u003e: Close All Windows\n\n## Keybindings Customization\n\nModify the file `~/.hammerspoon/keybindings_config.lua` according to your keystroke habits.\n\n## Some Useful Shortcuts Come With macOS\n\n\u003cdetails\u003e\n\u003csummary\u003eMore details\u003c/summary\u003e\n\n### Desktop\n\n- \u003ckbd\u003e⌃\u003c/kbd\u003e + \u003ckbd\u003eRIGHT\u003c/kbd\u003e: Switch to right desktop\n- \u003ckbd\u003e⌃\u003c/kbd\u003e + \u003ckbd\u003eLEFT\u003c/kbd\u003e: Switch to left desktop\n- \u003ckbd\u003e⌃\u003c/kbd\u003e + \u003ckbd\u003eUP\u003c/kbd\u003e: Toggle tiling windows\n- \u003ckbd\u003e⌥\u003c/kbd\u003e\u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003eD\u003c/kbd\u003e: Toggle dock\n\n### Application\n\n- \u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003eQ\u003c/kbd\u003e: Close app\n- \u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003e,\u003c/kbd\u003e: Open the app's preferences\n- \u003ckbd\u003e⌘\u003c/kbd\u003e\u003ckbd\u003e⇧\u003c/kbd\u003e + \u003ckbd\u003e/\u003c/kbd\u003e: Toggle help\n\n### Window\n\n- \u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003eH\u003c/kbd\u003e: Hide window\n- \u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003eM\u003c/kbd\u003e: Minimize window\n- \u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003eN\u003c/kbd\u003e: New window\n- \u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003eW\u003c/kbd\u003e: Close window\n- \u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003e\\`\u003c/kbd\u003e: Switch between windows of the same application\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003eF\u003c/kbd\u003e: Toggle window fullscreen\n- \u003ckbd\u003e⌃\u003c/kbd\u003e\u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003eH\u003c/kbd\u003e: Hide all windows except the current one\n\n### Window Tab\n\n- \u003ckbd\u003e⌘\u003c/kbd\u003e\u003ckbd\u003e⇧\u003c/kbd\u003e + \u003ckbd\u003e[\u003c/kbd\u003e: Switch to the left tab\n- \u003ckbd\u003e⌘\u003c/kbd\u003e\u003ckbd\u003e⇧\u003c/kbd\u003e + \u003ckbd\u003e]\u003c/kbd\u003e: Switch to the right tab\n- \u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003eNUMBER\u003c/kbd\u003e: Switch to the specified tab\n- \u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003e9\u003c/kbd\u003e: Switch to the last tab\n\n### Cursor\n\n- \u003ckbd\u003e⌃\u003c/kbd\u003e + \u003ckbd\u003eP\u003c/kbd\u003e: Move the cursor up\n- \u003ckbd\u003e⌃\u003c/kbd\u003e + \u003ckbd\u003eN\u003c/kbd\u003e: Move the cursor down\n- \u003ckbd\u003e⌃\u003c/kbd\u003e + \u003ckbd\u003eB\u003c/kbd\u003e: Move the cursor back/left\n- \u003ckbd\u003e⌃\u003c/kbd\u003e + \u003ckbd\u003eF\u003c/kbd\u003e: Move the cursor forward/right\n- \u003ckbd\u003e⌃\u003c/kbd\u003e + \u003ckbd\u003eA\u003c/kbd\u003e: Move the cursor to the beginning of the line\n- \u003ckbd\u003e⌃\u003c/kbd\u003e + \u003ckbd\u003eE\u003c/kbd\u003e: Move the cursor to the end of the line\n\n### File\n\n- \u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003eBACKSPACE\u003c/kbd\u003e: Delete the selected file\n- \u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003eDOWN\u003c/kbd\u003e: Go to a directory or open a file\n- \u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003eUP\u003c/kbd\u003e: Back to the upper level directory\n- \u003ckbd\u003e⌘\u003c/kbd\u003e\u003ckbd\u003e⇧\u003c/kbd\u003e + \u003ckbd\u003eBACKSPACE\u003c/kbd\u003e: Clear the Trash\n\n### Others\n\n- \u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003e+\u003c/kbd\u003e: Expand font size\n- \u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003e-\u003c/kbd\u003e: Shrink font size\n- \u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003e0\u003c/kbd\u003e: Reset font size\n\n- \u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003eZ\u003c/kbd\u003e: Undo\n- \u003ckbd\u003e⌘\u003c/kbd\u003e\u003ckbd\u003e⇧\u003c/kbd\u003e + \u003ckbd\u003eZ\u003c/kbd\u003e: Redo\n- \u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003eC\u003c/kbd\u003e: Copy\n- \u003ckbd\u003e⌘\u003c/kbd\u003e + \u003ckbd\u003eV\u003c/kbd\u003e: Paste\n- \u003ckbd\u003e⌘\u003c/kbd\u003e\u003ckbd\u003e⌥\u003c/kbd\u003e + \u003ckbd\u003eV\u003c/kbd\u003e: Paste and delete the original object\n\n\u003c/details\u003e\n\n## Acknowledgments\n\n- [Hammerspoon](https://github.com/Hammerspoon/hammerspoon)\n- [awesome-hammerspoon](https://github.com/ashfinal/awesome-hammerspoon)\n- [KURANADO2/hammerspoon-kuranado](https://github.com/KURANADO2/hammerspoon-kuranado)\n\n## License\n\nThis project is under the MIT License.\nSee the [LICENSE](LICENSE) file for the full license text.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwindvalley%2Fdot-hammerspoon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwindvalley%2Fdot-hammerspoon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwindvalley%2Fdot-hammerspoon/lists"}