{"id":13478013,"url":"https://github.com/MacGesture/MacGesture","last_synced_at":"2025-03-27T07:30:40.455Z","repository":{"id":26787443,"uuid":"30245722","full_name":"MacGesture/MacGesture","owner":"MacGesture","description":"Global mouse gestures for macOS","archived":false,"fork":false,"pushed_at":"2023-06-06T23:02:53.000Z","size":4659,"stargazers_count":818,"open_issues_count":26,"forks_count":95,"subscribers_count":45,"default_branch":"develop","last_synced_at":"2024-10-30T11:41:50.115Z","etag":null,"topics":["allow-list","block-list","gesture","mac-app","macos","mouse","mouse-gestures","objective-c","shortcuts"],"latest_commit_sha":null,"homepage":"https://github.com/MacGesture/MacGesture/wiki","language":"Objective-C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MacGesture.png","metadata":{"files":{"readme":"README.md","changelog":null,"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}},"created_at":"2015-02-03T14:08:55.000Z","updated_at":"2024-10-28T07:09:43.000Z","dependencies_parsed_at":"2024-01-14T08:38:09.889Z","dependency_job_id":null,"html_url":"https://github.com/MacGesture/MacGesture","commit_stats":null,"previous_names":[],"tags_count":29,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MacGesture%2FMacGesture","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MacGesture%2FMacGesture/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MacGesture%2FMacGesture/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MacGesture%2FMacGesture/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MacGesture","download_url":"https://codeload.github.com/MacGesture/MacGesture/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245802184,"owners_count":20674603,"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":["allow-list","block-list","gesture","mac-app","macos","mouse","mouse-gestures","objective-c","shortcuts"],"created_at":"2024-07-31T16:01:51.269Z","updated_at":"2025-03-27T07:30:38.912Z","avatar_url":"https://github.com/MacGesture.png","language":"Objective-C","funding_links":[],"categories":["Objective-C"],"sub_categories":[],"readme":"\n# MacGesture\n\n![logo](https://raw.githubusercontent.com/MacGesture/MacGesture/master/logo.png)\n\nConfigurable global mouse gestures for macOS.\n\n\u003e You can read this `README` file in **About** section in App Preferences.\n\n## Installation\n\n### Automatic Update\n\nMacGesture will regularly check for updates and prompt you when new version is available. 👍\n\n### Manually\n\nDownload the latese release bundle from [GitHub releases](https://github.com/MacGesture/MacGesture/releases) page.\n\n### Homebrew\n\nSimply use `brew install --cask macgesture`. 🙌\n\n## Features\n\n- Global mouse gestures recognition\n- Configurable shortcut invocation by gesture\n- App filtering based on bundle identifiers\n\n## Gestures Format\n\n| Gesture      | Acronym |\n| ------------ | :-----: |\n| Move Left    |   `L`   |\n| Move Up      |   `U`   |\n| Move Right   |   `R`   |\n| Move Down    |   `D`   |\n| Left Button  |   `Z`   |\n| Wheel Up     |   `u`   |\n| Wheel Dp     |   `d`   |\n\nGestures can contain wildcard matching (`?` and `*`).\n\nThe first rule matching will take effect.\n\n`Z` is the acronym of pinyin of `左` which means “left” in English. So to distinguish _clicking the left mouse button_ from _dragging your mouse to the left_, we chose letter `Z`.\n\nWheel directions may vary according to system configuration (Natural scroll direction setting) or some system tweaks (Karabiner's Reverse Vertical Scrolling, for example).\n\n## Known Issues\n\n### Right click does not work in some Java applications\n\nAn imperfect fix:\nTake WebStorm for example, open Preferences, then KeyMap, set the shortcut of “Show Context Menu” to `Button3 Click`.\n\n### Cannot assign some system-wide shortcuts to rules\n\nReason:\nmacOS respond to system-wide shortcuts before MacGesture.\n\nFix:\nDisable the shortcut first (for example in System Preferences → Keyboard → Shortcuts), then assign the shortcut in MacGesture, and re-enable the shortcut.\n\nCaveats:\nSome shortcuts still don't work with the fix above. When you are encountering this, here are two possible solutions:\n\n- Change them to others (e.g. `⌃0`, `⌃9`).\n- Tick “Invert Fn When Control Is Pressed” option.\n\n## Tips\n\n### Basic gestures\n\nThe following table covers probably the most basic scenario of usage:\n\n| Gesture | Filter                   | Action   | Note     |  ⚡️  |\n| :-----: | :----------------------- | :------: | :------: | :-: |\n| `D`     | `*safari`\u0026#124;`*chrome` |    ⌘T    | New Tab  |  –  |\n| `DR`    | `*safari`\u0026#124;`*chrome` |    ⌘W    | Close    |  –  |\n\nBy setting these rules, you can empower mouse gestures to open new and close currently focused tabs in Sarari and Chrome Browsers. Simply:\n\n- press the right button, drag mouse down, and release\n\t- opens a new tab in the current browser window\n- press the right button, drag mouse down, then to the right, and release\n\t- this will result in closing the currently focused tab in the active browser window\n\nHow neat! 🙌\n\n### Mouse scroll gesture example\n\nNow, to quickly cycle between the selected tabs even without releasing the right mouse button, you can set the gesture to be triggered on every match using the “⚡️” checkbox at the end of the Rule line.\n\nSo by defining the following rules:\n\n| Gesture | Filter                   | Action   | Note     |  ⚡️  |\n| :-----: | :----------------------- | :------: | :------: | :-: |\n| `U*u`   | `*safari`\u0026#124;`*chrome` |   ⇧⌘\\[   | Prev Tab |  ☑️  |\n| `U*d`   | `*safari`\u0026#124;`*chrome` |   ⇧⌘\\]   | Next Tab |  ☑️  |\n\nyou can simply:\n\n- right click, drag mouse upwards, and every `u` (mouse wheel scroll up) triggers a **Prev Tab** action,\n- right click, drag mouse upwards, and every `d` (mouse wheel scroll down) triggers a **Next Tab** action.\n\nSwitching between multiple tabs in the browser is now a piece of cake! 😎\n\n### Exporting and importing MacGesture preferences\n\n#### Recommended way\n\nUse “Import” and “Export” buttons in the **General** Panel.\n\n#### Geek-ish way\n\nOpen the _Terminal_ app, Do this in your old computer:\n\n```shell\ndefaults read com.codefalling.MacGesture backup.plist\n```\n\nAnd then copy that file to your new computer, then:\n\n```shell\ndefaults import com.codefalling.MacGesture backup.plist\n```\n\nAll settings should be successfully brought over. If that's not the case please file an issue.\n\n### Excluding an app in a certain rule\n\nYou can prepend `!`, then the app you want to exclude (still wildcard).\n\nFor example, the original one:\n\n| Gesture | Filter             | Action   | Note     |  ⚡️  |\n| :-----: | :----------------- | :------: | :------: | :-: |\n| `U*d`   | `*`                |   ⇧⌘\\]   | Next Tab |  ☑️  |\n\nThen, in order to exclude Safari, change this to:\n\n| Gesture | Filter              | Action   | Note     |  ⚡️  |\n| :-----: | :------------------ | :------: | :------: | :-: |\n| `U*d`   | `*`\u0026#124;`!*safari` |   ⇧⌘\\]   | Next Tab |  ☑️  |\n\nThen you will experience the expected behaviour.\n\n## Found a Bug?\n\nFeel free to open [an issue on GitHub](https://github.com/MacGesture/MacGesture/issues)! 👍\n\n## Contributors\n\n- [CodeFalling](https://github.com/xcodebuild) – original author\n- [username0x0a](https://github.com/username0x0a) – maintainer\n- [jiegec](https://github.com/jiegec)\n- [zhangciwu](https://github.com/zhangciwu)\n\n## License\n\nThis project is made under [GNU General Public License](https://en.wikipedia.org/wiki/GNU_General_Public_License).\n\nApp icon \u0026 other icons designed by [username0x0a](https://github.com/username0x0a).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMacGesture%2FMacGesture","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FMacGesture%2FMacGesture","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FMacGesture%2FMacGesture/lists"}