├── .gitignore ├── README.md ├── RELEASE.md ├── media ├── cheatsheet-customize.png ├── cheatsheet-search.png └── cheatsheet.png ├── releases └── Cheatsheet.alfredworkflow ├── src ├── apps │ ├── Finder.py │ ├── RES.py │ ├── __init__.py │ ├── airmail.py │ ├── alfred.py │ ├── asana.py │ ├── automute.py │ ├── chrome.py │ ├── databricks.py │ ├── defaultFolderX.py │ ├── evernote.py │ ├── firefox.py │ ├── forklift.py │ ├── forklift3.py │ ├── github.py │ ├── gmail.py │ ├── googleDocs.py │ ├── googleSheets.py │ ├── icons │ │ ├── Adobe Illustrator.png │ │ ├── Adobe Photoshop.png │ │ ├── Airmail.png │ │ ├── Alfred.png │ │ ├── Asana.png │ │ ├── AutoMute Chrome extension.png │ │ ├── Databricks.png │ │ ├── Default Folder X.png │ │ ├── Evernote.png │ │ ├── Finder.png │ │ ├── Firefox.png │ │ ├── Forklift 3.png │ │ ├── Gmail.png │ │ ├── Google Chrome.png │ │ ├── Google Docs.png │ │ ├── Google Sheets.png │ │ ├── Intellij IDEA (default).png │ │ ├── Jira.png │ │ ├── Mac OSX.png │ │ ├── Microsoft Excel.png │ │ ├── Microsoft Word.png │ │ ├── Opera.png │ │ ├── Outlook.png │ │ ├── Pixelmator.png │ │ ├── Reddit Enhancement Suite.png │ │ ├── Safari.png │ │ ├── Sibelius G7.png │ │ ├── Sketch.png │ │ ├── Slack.png │ │ ├── Spotify.png │ │ ├── Sublime Text.png │ │ ├── Terminal.png │ │ ├── Things.png │ │ ├── Video Speed Controller chrome extension.png │ │ ├── Vimeo.png │ │ ├── Vintage Sublime.png │ │ ├── Visual Studio Code.png │ │ ├── XCode.png │ │ ├── github.com.png │ │ ├── iTerm2.png │ │ ├── trello.com.png │ │ ├── vim.png │ │ ├── youtube.com.png │ │ └── zshell.png │ ├── illustrator.py │ ├── intellij.py │ ├── iterm.py │ ├── jira.py │ ├── macosx.py │ ├── microsoftExcel.py │ ├── microsoftWord.py │ ├── opera.py │ ├── outlook.py │ ├── photoshop.py │ ├── pixelmator.py │ ├── safari.py │ ├── sibelius.py │ ├── sibeliusG7.py │ ├── sketch.py │ ├── slack.py │ ├── spotify.py │ ├── sublime.py │ ├── terminal.py │ ├── things.py │ ├── trello.py │ ├── videoSpeedController.py │ ├── vim.py │ ├── vimeo.py │ ├── vscode.py │ ├── xcode.py │ ├── youtube.py │ └── zshell.py ├── cheatsheet.py ├── default_cheatsheet.pkl ├── icon.png ├── info.plist ├── shortcuts.py ├── version └── workflow │ ├── Notify.tgz │ ├── __init__.py │ ├── background.py │ ├── notify.py │ ├── update.py │ ├── util.py │ ├── version │ ├── web.py │ ├── workflow.py │ └── workflow3.py └── tests └── tests.py /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .query 3 | *.pyc 4 | *.pyo 5 | .DS_Store 6 | src/workflow/.alfredversionchecked 7 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | Cheatsheet 2 | ---------- 3 | 4 | Alfred workflow that gets shortcuts for applications, websites, tools and others 5 | 6 | If you have any questions or issues, checkout the discussion at [the alfred forum here](https://www.alfredforum.com/topic/10830-cheatsheet-shortcuts-for-your-tools/). 7 | Or create an issue if you cannot find an answer. 8 | 9 | ![Screenshot](media/cheatsheet.png) 10 | 11 | ![Screenshot](media/cheatsheet-search.png) 12 | 13 | Supported 14 | --------- 15 | - Adobe Illustrator 16 | - Adobe Photoshop 17 | - Airmail 18 | - Alfred 19 | - Asana 20 | - AutoMute Chrome extension 21 | - Databricks 22 | - Default Folder X 23 | - Evernote 24 | - Finder 25 | - Firefox 26 | - Forklift 3 27 | - Github.com 28 | - Google Chrome 29 | - Google Docs 30 | - Google Sheets 31 | - inbox.google.com 32 | - IntelliJ Idea (default Mac OS X) 33 | - iTerm2 34 | - Jira 35 | - Mac OSX 36 | - Microsoft Excel 37 | - Microsoft Word 38 | - Outlook 39 | - Pixelmator 40 | - Reddit Enhancement Suite 41 | - Safari 42 | - Sibelius G7 43 | - Sketch 44 | - Slack 45 | - Spotify 46 | - Sublime Text 47 | - Terminal 48 | - Trello.com 49 | - Things 50 | - Video Speed Controller chrome extension 51 | - Vim 52 | - Vimeo 53 | - Vintage Sublime 54 | - Visual Studio Code 55 | - XCode 56 | - Youtube.com 57 | 58 | Request apps to add 59 | ---------------- 60 | If you would like to request an app to add, please comment on this issue [#29](https://github.com/mutdmour/alfred-workflow-cheatsheet/issues/29) 61 | 62 | To download 63 | ----------- 64 | Download [workflow file](https://github.com/mutdmour/alfred-workflow-cheatsheet/raw/master/releases/Cheatsheet.alfredworkflow) 65 | 66 | To add more apps 67 | ---------------- 68 | - add it yourself to [custom.json] in your data directory. 69 | ```json 70 | { 71 | "custom_app_example": { 72 | "action": "shortcut" 73 | } 74 | } 75 | ``` 76 | - to overwrite any default, ^⏎ on any shortcut in the app. 77 | - to share with everyone, create a PR with the app shortcuts you want to add [/src/shortcuts.py]. Please also include the app icon (`src/apps/icons/%APP NAME%.png`). 78 | - create an issue requesting the tool you want us to add 79 | 80 | To show or hide apps in search results 81 | ---------------- 82 | Open `settings.json` in your data directory. 83 | 84 | To show only some specific apps in the search results list them in `show_only_apps` parameter: 85 | ```json 86 | { 87 | "__workflow_last_version": "1.3.0", 88 | "show_only_apps": [ 89 | "Alfred", 90 | "Mac OSX", 91 | "Terminal" 92 | ] 93 | } 94 | ``` 95 | All other apps would be hidden then. 96 | 97 | 98 | To hide some apps in the search results list them in `hide_apps` parameter: 99 | ```json 100 | { 101 | "__workflow_last_version": "1.3.0", 102 | "hide_apps": [ 103 | "Microsoft Word", 104 | "Video Speed Controller chrome extension" 105 | ] 106 | } 107 | ``` 108 | 109 | To find your settings.json or custom.json file 110 | ---------------- 111 | 112 | Open cheatsheet in Alfred and look for `customize your cheatsheet`. 113 | Open that and that should open the folder with your `settings.json` and `custom.json` file. 114 | 115 | ![Screenshot](media/cheatsheet-customize.png) 116 | -------------------------------------------------------------------------------- /RELEASE.md: -------------------------------------------------------------------------------- 1 | Steps to release workflow: 2 | ---------------- 3 | 1. pull latest changes from master 4 | 2. `cd src` and `python shortcuts.py` to update pkl file 5 | 3. import plugin into alfred (you can copy and paste the `src/` folder into Alfred.alfredpreferences/workflows) 6 | 4. test workflow with added features 7 | 5. right click on workflow in alfred preferences and hit export 8 | 6. replace the `Cheatsheet.alfredworkflow` file in the repo (keeps download url in readme updated) 9 | 7. update `src/version` file with upcoming version 10 | 7. push changes 11 | 8. go to releases tab in github repo 12 | 9. hit `Draft a new release` 13 | 10. insert `Cheatsheet.alfredworkflow` to selected binaries 14 | 11. update tag to be more than current release -------------------------------------------------------------------------------- /media/cheatsheet-customize.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/media/cheatsheet-customize.png -------------------------------------------------------------------------------- /media/cheatsheet-search.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/media/cheatsheet-search.png -------------------------------------------------------------------------------- /media/cheatsheet.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/media/cheatsheet.png -------------------------------------------------------------------------------- /releases/Cheatsheet.alfredworkflow: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/releases/Cheatsheet.alfredworkflow -------------------------------------------------------------------------------- /src/apps/Finder.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | shortcuts = { 3 | "Finder":{ 4 | #https://support.apple.com/en-jo/HT201236 5 | "Duplicate the selected files.":"⌘D", 6 | "Eject the selected disk or volume.":"⌘E", 7 | "Start a Spotlight search in the Finder window.":"⌘F", 8 | "Show the Get Info window for a selected file.":"⌘I", 9 | "Open the Computer window.":"⇧⌘C", 10 | "Open the desktop folder.":"⇧⌘D", 11 | "Open the All My Files window.":"⇧⌘F", 12 | "Open a Go to Folder window.":"⇧⌘G", 13 | "Open the Home folder of the current macOS user account.":"⇧⌘H", 14 | "Open iCloud Drive.":"⇧⌘I", 15 | "Open the Network window.":"⇧⌘K", 16 | "Open the Downloads folder.":"⌥⌘L", 17 | "Open the Documents folder.":"⇧⌘O", 18 | "Open the AirDrop window.":"⇧⌘R", 19 | "Add selected Finder item to the Dock (OS X Mountain Lion or earlier)":"⇧⌘T", 20 | "Add selected Finder item to the Dock (OS X Mavericks or later)":"Ctrl-⇧⌘T", 21 | "Open the Utilities folder.":"⇧⌘U", 22 | "Show or hide the Dock. This often works even when you're not in the Finder.":"⌥⌘D", 23 | "Add the selected item to the sidebar (OS X Mavericks or later).":"Ctrl-⌘T", 24 | "Hide or show the path bar in Finder windows.":"⌥⌘P", 25 | "Hide or show the Sidebar in Finder windows.":"⌥⌘S", 26 | "Hide or show the status bar in Finder windows.":"/", 27 | "Show View Options.":"⌘J", 28 | "Open the Connect to Server window.":"⌘K", 29 | "Make an alias of the selected item.":"⌘L", 30 | "Open a new Finder window.":"⌘N", 31 | "Create a new folder.":"⇧⌘N", 32 | "Create a new Smart Folder.":"⌥⌘N", 33 | "Show the original file for the selected alias.":"⌘R", 34 | "Show or hide the tab bar when a single tab is open in the current Finder window.":"⌘T", 35 | "Show or hide a Finder tab.":"⇧⌘T", 36 | "Show or hide the toolbar when a single tab is open in the current Finder window.":"⌥⌘T", 37 | "Move: Move the files in the Clipboard from their original location to the current location.":"⌥⌘V", 38 | "View a Quick Look slideshow of the selected files.":"⌥⌘Y", 39 | "Use Quick Look to preview the selected files.":"⌘Y", 40 | "View the items in the Finder window as icons.":"⌘1", 41 | "View the items in a Finder window as a list.":"⌘2", 42 | "View the items in a Finder window in columns. ":"⌘3", 43 | "View the items in a Finder window with Cover Flow.":"⌘4", 44 | "Go to the previous folder.":"[", 45 | "Go to the next folder.":"]", 46 | "Open the folder that contains the current folder.":"⌘↑", 47 | "Open the folder that contains the current folder in a new window.":"⌘Ctrl ↑", 48 | "Open the selected item.":"⌘↓", 49 | "Show the desktop. This works even when you're not in the Finder.":"⌘ Mission Control", 50 | "Turn Target Display Mode on or off.":"⌘ Brightness Up", 51 | "Turn display mirroring on or off when your Mac is connected to more than one display.":"⌘ Brightness Down", 52 | "Open the selected folder. This works only when in list view.":"→ ", 53 | "Close the selected folder. This works only when in list view.":"←", 54 | "Open a folder in a separate window and close the current window.":"⌥ double-click", 55 | "Open a folder in a separate tab or window.":"⌘ double-click", 56 | "Move the selected item to the Trash.":"⌘ Delete ", 57 | "Empty the Trash.":"⇧⌘ Delete", 58 | "Empty the Trash without confirmation dialog.":"⌥⇧⌘ Delete", 59 | "Use Quick Look to preview the files.":"⌘Y", 60 | "Open Displays preferences. This works with either Brightness key.":"⌥ Brightness Up", 61 | "Open Mission Control preferences.":"⌥ Mission Control", 62 | "Open Sound preferences. ":"⌥ Volume Up or any volume key", 63 | "Move the dragged item to another volume or location. ":"⌘ while dragging ", 64 | "Copy the dragged item. ":"⌥ while dragging", 65 | "Make an alias of the dragged item. ":"⌥Command while dragging", 66 | "Open all folders within the selected folder. [list view].":"⌥ click a disclosure triangle ", 67 | "See the folders that contain the current folder.":"⌘ click a window title " 68 | } 69 | } -------------------------------------------------------------------------------- /src/apps/RES.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | 3 | shortcuts = { 4 | "Reddit Enhancement Suite":{ #⇧/ 5 | "Show help for keyboard shortcuts":"⇧/", 6 | "Launch RES command line":"/", 7 | "Launch filter command line":"H", 8 | "Move up to the previous link or comment in flat lists":"K", 9 | "Move down to the next link or comment in flat lists":"J", 10 | "Move to top of list (on link pages)":"⇧K", 11 | "Move to bottom of list (on link pages)":"⇧J", 12 | "Follow link (link pages only)":"↩", 13 | "Follow link in new tab (link pages only)":"⇧↩", 14 | "Toggle expando (image/text/video)":"X", 15 | "Increase the size of image(s) in the highlighted post area":"=", 16 | "Decrease the size of image(s) in the highlighted post area":"-", 17 | "Increase the size of image(s) in the highlighted post area (finer control)":"⇧=", 18 | "Decrease the size of image(s) in the highlighted post area (finer control)":"⇧-", 19 | "Removes the height restriction of image(s) in the highlighted post area":"⇧→", 20 | "Move the image(s) in the highlighted post area up":"⌃↑", 21 | "Move the image(s) in the highlighted post area down":"Move the image(s) in the highlighted post area down.", 22 | "Move the image(s) in the highlighted post area left":"⌃← ", 23 | "Move the image(s) in the highlighted post area right":"⌃→", 24 | "View the previous image of an inline gallery":"[", 25 | "View the next image of an inline gallery":"]", 26 | "Toggle 'show images' button":"⇧X", 27 | "View comments for link (⇧ opens them in a new tab)":"C", 28 | "View comments for link in a new tab":"⇧C", 29 | "View link and comments in new tabs.":"L", 30 | "View link and comments in new background tabs.":"⇧L", 31 | "Upvote selected link or comment (or remove the upvote).":"A", 32 | "Downvote selected link or comment (or remove the downvote).":"Z", 33 | "Upvote selected link or comment (but don't remove the upvote).":"⇧A", 34 | "Downvote selected link or comment (but don't remove the downvote).":"⇧Z", 35 | "Save the current post to your reddit account (not preserved if deleted or edited)":"S", 36 | "Save the current comment with RES (preserved locally)":"S", 37 | "Go to subreddit of selected link (link pages only)":"R", 38 | "Go to subreddit of selected link in a new tab (link pages only).":"⇧R ", 39 | "Enter 'goMode' (before using 'go to' shortcuts).":"G", 40 | "Go to inbox":"G then I", 41 | "Go to inbox in a new tab.":"G then ⇧I", 42 | "Go to modmail.":"G then M", 43 | "Go to modmail in a new tab.":"G then ⇧M", 44 | "Go to profile.":"G then U", 45 | "Go to profile in a new tab.":"G then ⇧U", 46 | "Go to front page.":"G then F ", 47 | "Go to /r/all.":"⌥A", 48 | "Go to subreddit front page.":"⇧F", 49 | "Go to a random subreddit.":"⌥Y", 50 | "Go to next page (link list pages only).":"G then N", 51 | "Go to previous page (link list pages only).":"G then P", 52 | "Focuses the cursor in the search box.":"⌥/", 53 | } 54 | } -------------------------------------------------------------------------------- /src/apps/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/__init__.py -------------------------------------------------------------------------------- /src/apps/airmail.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | shortcuts = { 3 | "Airmail":{ 4 | #https://help.airmailapp.com/en-us/article/keyboard-shortcuts-airmail-for-macos-hzjy9n/ 5 | "Label": "L", 6 | "V": "L", 7 | "Move to": "L", 8 | "S or ⇧⌘S": "L", 9 | "Mark as star": "L", 10 | "C or ⌘N": "L", 11 | "New Message": "L", 12 | "N": "L", 13 | "Select Next Conversation": "L", 14 | "P": "L", 15 | "Select Previous Conversation": "L", 16 | "R or ⌘R": "L", 17 | "Reply": "L", 18 | "A or ⌘⇧R": "L", 19 | "Reply All": "L", 20 | "E": "L", 21 | "Archive": "L", 22 | "0": "L", 23 | "Show All / Remove all filters": "L", 24 | "1": "L", 25 | "Show Unread": "L", 26 | "2": "L", 27 | "Show Starred": "L", 28 | "3": "L", 29 | "Show Attachments": "L", 30 | "4": "L", 31 | "Show Conversations": "L", 32 | "5": "L", 33 | "Sort by Sender": "L", 34 | "6": "L", 35 | "Sort by Subject": "L", 36 | "7": "L", 37 | "Sort by Replied": "L", 38 | "8": "L", 39 | "Sort by Unread": "L", 40 | "9": "L", 41 | "Sort by Date": "L", 42 | "#": "L", 43 | "Move to trash": "L", 44 | "=": "L", 45 | "Select mails for same Sender/Receiver": "L", 46 | "+ or ⌘⇧I": "L", 47 | "Mark as Important": "L", 48 | "- or ⌘⇧I": "L", 49 | "Mark as Not Important": "L", 50 | "⌘⌥R": "L", 51 | "Refresh / Get Messages": "L", 52 | "⌘.": "L", 53 | "Cancel or Extend View": "L", 54 | "⌘↖": "L", 55 | "Go to First": "L", 56 | "⌘↘": "L", 57 | "Go to Last": "L", 58 | "⌘F": "L", 59 | "Search all messages": "L", 60 | "⌘+": "L", 61 | "Zoom in": "L", 62 | "⌘-": "L", 63 | "Zoom out": "L", 64 | "⌘0": "L", 65 | "Reset zoom": "L", 66 | "⌘E": "L", 67 | "Quick Reply": "L", 68 | "⌘O Open message in separate preview window": "L", 69 | "D": "L", 70 | "Send Again": "L", 71 | "⌥⌘B": "L", 72 | "To Do": "L", 73 | "⌥⌘N": "L", 74 | "Memo": "L", 75 | "⌥⌘M": "L", 76 | "Done": "L", 77 | "⌥J": "L", 78 | "Load Image": "L", 79 | "⌥⇧⌘F": "L", 80 | "Reveal hidden folder": "L", 81 | "⌥⇧⌘F": "L", 82 | "Hide hidden folders": "L", 83 | "⌥⌘E": "L", 84 | "Export to email": "L", 85 | "⌥⇧⌘V": "L", 86 | "Paste and match style": "L", 87 | "⌥⌘F": "L", 88 | "Find in messages": "L", 89 | "⌥⌘I": "L", 90 | "Quote Selection": "L", 91 | "⌥⇧⌘I": "L", 92 | "Reverse Order": "L", 93 | "⌥⌘U": "L", 94 | "Show Raw Source": "L", 95 | "^⌘A": "L", 96 | "Convert to `Reply All` while replying": "L", 97 | "^⌘S": "L", 98 | "Next sender while composing": "L", 99 | "^⌥⌘R": "L", 100 | "Redirect": "L", 101 | "^⌘I": "L", 102 | "Next signature while composing": "L", 103 | "^1,2,3,4…": "L", 104 | "Switch Account": "L", 105 | "^T": "L", 106 | "Operations": "L", 107 | "^⌥⌘V": "L", 108 | "Switch to plain text": "L", 109 | "^F": "L", 110 | "Show messages from the same sender": "L", 111 | "^⌥F": "L", 112 | "Show/Hide Filter": "L", 113 | "^⌥⌘C": "L", 114 | "Copy message link": "L", 115 | "^⌥C": "L", 116 | "Calendar": "L", 117 | "^⌥R": "L", 118 | "Reminders": "L", 119 | "^⌥Y": "L", 120 | "BusyCal": "L", 121 | "^⌥F": "L", 122 | "Fantastical": "L", 123 | "^⌥S": "L", 124 | "Fantastical2": "L", 125 | "^⌥O": "L", 126 | "Omnifocus": "L", 127 | "^⌥T": "L", 128 | "Things": "L", 129 | "^⌥H": "L", 130 | "2Do": "L", 131 | "^⌘L": "L", 132 | "Show folder filter": "L", 133 | "^⌥⌘Delete": "L", 134 | "Empty trash": "L", 135 | "^⌘P": "L", 136 | "Show Plugins Folders": "L", 137 | "^⌘R": "L", 138 | "Rules": "L", 139 | "⇧⌘N": "L", 140 | "New Folder": "L", 141 | "⇧U or ⌘⇧U": "L", 142 | "Mark as unread": "L", 143 | "⇧I or ⌘⇧U": "L", 144 | "Mark as read": "L", 145 | "⇧⌘L": "L", 146 | "Find all folders": "L", 147 | "⇧⌘A": "L", 148 | "Attach": "L", 149 | "⇧⌘E": "L", 150 | "Quick reply all": "L", 151 | "⇧⌘V": "L", 152 | "Paste text only": "L", 153 | "⇧⌘T": "L", 154 | "Plain text composer": "L", 155 | "⇧⌘↑": "L", 156 | "All inboxes": "L", 157 | "^⌘→": "L", 158 | "Next account": "L", 159 | "^⌘←": "L", 160 | "Previous account": "L", 161 | "⌥⌘↓": "L", 162 | "Show/Hide Accounts": "L", 163 | "⌥⌘←": "L", 164 | "Hide folders": "L", 165 | "⌥⌘→": "L", 166 | "Show folders": "L", 167 | "⌘←": "L", 168 | "Hide Message Detail": "L", 169 | "⌘→": "L", 170 | "Show Message Detail": "L", 171 | "⌘←": "L", 172 | "Hide Message Preview Pane": "L", 173 | "⌘→": "L", 174 | "Show Message Preview Pane": "L" 175 | } 176 | } -------------------------------------------------------------------------------- /src/apps/alfred.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | shortcuts = { 3 | "Alfred":{ 4 | #https://www.alfredapp.com/help/getting-started/cheatsheet/ 5 | "space Show Alfred":"⌥", 6 | "Select the next result in the list":"↓", 7 | "Select the previous item in the list":"↑", 8 | "Action the currently selected item":"↩", 9 | "Action the # item directly [1-9]":"⌘#", 10 | "Open file or application in default application":"⌘o", 11 | "Show the Preferences Window":"⌘,", 12 | "Search the currently typed query in Spotlight":"⌥↩", 13 | "Search the currently typed query in default web search":"⌃ ↩", 14 | "Reveal in Finder (if the result is a local file)":"⌘↩", 15 | "Show Alfred Preferences":"preferences", 16 | "To launch an application simply start typing its name, then hit Return":"app name", 17 | "Use predefined web search keywords":"google, wiki ...", 18 | "Follow keyword by query to open a file":"open", 19 | "Follow a space with your query to open a file":"spacebar", 20 | "Follow keyword by query to reveal file in Finder":"find", 21 | "Open the file":"⌘o", 22 | "Follow by a query to search for files that contain this query":"in", 23 | "Follow keyword by a word and get a definition":"define", 24 | "Follow keyword by a word and see results with suggested spelling":"spell", 25 | "Type a calculation into main window to get the result":"13*567", 26 | "Start an advanced calculation (enable this function in the Calculator Preferences)":"=", 27 | "Start Screen Saver":"screensaver", 28 | "Show Trash":"trash", 29 | "Empty Trash":"emptytrash", 30 | "Log Out":"logout", 31 | "Sleep your Mac":"sleep", 32 | "Sleep your Mac's displays":"sleepdisplays", 33 | "Lock your Mac":"lock", 34 | "Restart your Mac":"restart", 35 | "Shut Down your Mac":"shutdown", 36 | "Eject (removable media or all mounted volumes)":"eject", 37 | "Hide the running application":"hide", 38 | "Quit the running application":"quit", 39 | "Force Quit the running application":"forcequit", 40 | "Navigate to your home folder":"~", 41 | "Navigate to your root folder":"/", 42 | "Go to last browsed path in the File System Navigation":"⌥⌘/", 43 | "Go to last browsed path in the File System Navigation":"previous", 44 | "Show list of available Actions for selected item":"→", 45 | "Show list of available Actions for selected item":"fn", 46 | "Show list of available Actions for selected item":"⌃", 47 | "Show list of available Actions for selected Finder item":"⌥⌘\\", 48 | "Browse selected folder in File System Navigation":"⌘↓", 49 | "Enter a folder in File System Navigation":"↩", 50 | "Go up a folder":"backspace", 51 | "Autocomplete":"Tab", 52 | "Show hidden files in File System Navigation":".", 53 | "Open Clipboard History viewer":"⌥⌘c", 54 | "Copy selected clip to current Clipboard":"⌘c", 55 | "Access snippets from main Alfred window with this keyword":"snip", 56 | "Use keyword to clear Clipboard History":"clear", 57 | "While in the Clipboard Viewer, save current clip as a snippet":"⌘s", 58 | "Show the iTunes Mini Player":"⌃ ⌘↩", 59 | "Use keyword to show the iTunes Mini Player":"itunes", 60 | "Play / Pause":"⌃ ⌘↓ or play/pause", 61 | "Next Track":"⌃ ⌘→ or next", 62 | "Back Track":"⌃ ⌘← or back", 63 | "Previous Track":"previous", 64 | "Play Random Album":"⌃ ⌘↑ or random", 65 | "Maximum volume":"volmax", 66 | "Half volume":"volmid", 67 | "Mute volume":"mute", 68 | "Rate currently playing song from 0 to 5 stars":"⌃ ⌘[0-5]", 69 | "Go up a folder in iTunes Mini Player":"backspace", 70 | "Reindex iTunes library":"⌘r", 71 | "Use keyword followed by name or email address to send an email using your default email client":"email" 72 | } 73 | } -------------------------------------------------------------------------------- /src/apps/asana.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | 3 | shortcuts = { 4 | "Asana": #https://asana.com/guide/help/faq/shortcuts 5 | { 6 | "Mark as Today in your My Tasks": "Tab-Y", 7 | "Mark as Upcoming in your My Tasks": "Tab-U", 8 | "Mark as Later in your My Tasks": "Tab-L", 9 | "Move Up/Down": "K / J", 10 | "Jump to Inbox tab": "H", 11 | "Jump to Archive tab": "S", 12 | "Follow or Unfollow": "F", 13 | "Archive": "I", 14 | "Move to Inbox": "U", 15 | "New Task": "↵", 16 | "Delete Selected Task(s)": "Tab-Backspace", 17 | "Delete current task (when task name is empty)": "Backspace", 18 | "Complete Selected Task(s)": "⌘↵", 19 | "Move Up/Down": "⌘↑ / ⌘↓", 20 | "Jump Up/Down to the next Section": "⌘⇧↑ / ⌘⇧↓", 21 | "Copy Selected Tasks": "⌘C", 22 | "Paste Tasks (One per line)": "⌘V", 23 | "Assign to Me": "Tab-M", 24 | "Access Home": "Tab-H", 25 | "Create a Section": "Tab-N", 26 | "Add to a project": "Tab-P", 27 | "Navigate to My Tasks": "Tab-Z", 28 | "Navigate to Inbox": "Tab-I", 29 | "Collapse Sidebar": "Tab-O", 30 | "Comment on Selected Task": "Tab-C", 31 | "Assign Selected Task": "Tab-A", 32 | "Set Due Date": "Tab-D", 33 | "Add Follower": "Tab-F", 34 | "Add a tag to the task": "Tab-T", 35 | "Focus Subtasks": "Tab-S", 36 | "Search for a project, tag, person, or task": "Tab-/", 37 | "Change Selection": "↑ / ↓", 38 | "Select Range": "⇧-Click", 39 | "Select Range": "⇧↑/ ⇧↓", 40 | "Multi-select Individual Task": "⌘-Click", 41 | "Show Keyboard Shortcuts": "⌘/", 42 | "Collapse the right pane": "ESC", 43 | "Enter Focus Mode": "Tab-X", 44 | "Quick Add": "Tab-Q", 45 | "Post Comment (From comment field)": "Tab-↵", 46 | "What it sounds like": "Tab-B" 47 | } 48 | } -------------------------------------------------------------------------------- /src/apps/automute.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | shortcuts = { 3 | "AutoMute Chrome extension":{ 4 | "Toggle mute current app":"⌥⇧m", 5 | "Mute all tabs":"⌥⇧l", 6 | "Mute other tabs":"⌥⇧o" 7 | } 8 | } -------------------------------------------------------------------------------- /src/apps/chrome.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | 3 | shortcuts = { 4 | "Google Chrome":{ #https://support.google.com/chrome/answer/157179?hl=en 5 | "Open a new window":"⌘n", 6 | "Open a new window in Incognito mode":"⌘t", 7 | "Open a new tab, and jump to it":"⌘t", 8 | "Reopen the last closed tab, and jump to it":"⌘⇧t", 9 | "Jump to the next open tab":"⌘⌥→", 10 | "Jump to the previous open tab":"⌘⌥←", 11 | "Jump to a specific tab (1-9)":"⌘[NUM]", 12 | "Jump to the last tab":"⌘9", 13 | "Open the previous page in your browsing history for the current tab":"⌘[ or ⌘←", 14 | "Open the next page in your browsing history for the current tab":"⌘] or ⌘→", 15 | "Close the current tab or pop-up":"⌘w", 16 | "Close all open tabs and the browser":"⌘⇧w", 17 | "Minimize the window":"⌘m", 18 | "Hide Google Chrome":"⌘h", 19 | "Quit Google Chrome":"⌘q", 20 | "Developer Tools":"⌘⌥i", 21 | "View Source":"⌘⌥U", 22 | "Always show toolbar in full screen":"⌘⇧F", 23 | "Show or hide the Bookmarks Bar":"⌘⇧b", 24 | "Open the Bookmark Manager:":"⌘⌥b", 25 | "Open the Settings page in a new tab":"⌘,", 26 | "Open the History page in a new tab":"⌘y", 27 | "Open the Downloads page in a new tab":"⌘⇧j", 28 | "Open the Find Bar to search the current page":"⌘f", 29 | "Jump to the next match to your Find Bar search":"⌘g", 30 | "Jump to the previous match to your Find Bar search":"⌘⇧g", 31 | "When Find Bar is open, search for selected text":"⌘e", 32 | "Open the Clear Browsing Data options":"⌘⇧⌫", 33 | "Log in as a different user or browse as a Guest":"⌘⇧m", 34 | "Search with your default search engine":"Type a search term + ↩", 35 | "Search using a different search engine":"Type a search engine name + Tab", 36 | "Add www. and .com to a site name, and open it in the current tab":"Type a site name + ⌃↩", 37 | "Add www. and .com to a site name, and open it in a new tab":"Type a site name + ⌃⇧↩", 38 | "Open the website in a new background tab":"Type a web address + ⌘↩", 39 | "Jump to the address bar":"⌘l", 40 | "Delete all words in address bar before cursor":"⌘⌫", 41 | "Delete one word in address bar before cursor":"⌥⌫", 42 | "Remove predictions from your address bar":"↓ to highlight + ⇧fn⌫", 43 | "Open options to print the current page":"⌘p", 44 | "Open options to save the current page":"⌘s", 45 | "Open the Page Setup dialog ":"⌘⌥p", 46 | "Email your current page":"⌘⇧i", 47 | "Reload your current page":"⌘r", 48 | "Reload your current page, ignoring cached content":"⌘⇧r", 49 | "Stop the page loading":"Esc", 50 | "Browse clickable items moving forward":"Tab", 51 | "Browse clickable items moving backward":"⇧Tab", 52 | "Open a file from your computer in Google Chrome":"⌘o + Select a file", 53 | "Display non-editable HTML source code for the current page":"⌘⌥u", 54 | "Open the JavaScript Console":"⌘⌥j", 55 | "Save your current webpage as a bookmark":"⌘d", 56 | "Save all open tabs as bookmarks in a new folder":"⌘⇧d", 57 | "Turn full-screen mode on or off":"⌘⌃f", 58 | "Make everything on the page bigger - zoom in":"⌘+", 59 | "Make everything on the page smaller - zoom out":"⌘-", 60 | "Return everything on the page to the default size":"⌘0", 61 | "Scroll down a webpage, a screen at a time":"Space", 62 | "Scroll up a webpage, a screen at a time":"⇧Space", 63 | "Search the web":"⌘⌥f", 64 | "Move your cursor to the front of the previous word in a text field ":"⌥←", 65 | "Move your cursor to the back of the next word in a text field":"⌥→", 66 | "Delete the previous word in a text field":"⌥⌫", 67 | "Open your home page in the current tab":"⌘⇧h", 68 | "Open a link in a current tab (mouse only)":"Drag a link to a tab", 69 | "Open a link in new background tab":"⌘ + Click a link", 70 | "Open a link, and jump to it":"⌘⇧ + Click a link", 71 | "Open a link, and jump to it (mouse only)":"Drag a link to a blank area of the tab strip", 72 | "Open a link in a new window":"⇧ + Click a link", 73 | "Open a tab in a new window (mouse only)":"Drag the tab out of the tab strip", 74 | "Move a tab to a current window (mouse only)":"Drag the tab into an existing window", 75 | "Return a tab to its original position":"Press Esc while dragging", 76 | "Save the current webpage as a bookmark":"Drag the web address to the Bookmarks Bar", 77 | "Download the target of a link":"⌥ + Click a link", 78 | "Display your browsing history":"Right-click Back ⇦ or Next ⇨, or click & hold Back ⇦ or Next ⇨", 79 | "Increase the window to full height":"Double-click a blank area of the tab strip" 80 | } 81 | } -------------------------------------------------------------------------------- /src/apps/databricks.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | 3 | shortcuts = { #https://docs.databricks.com/notebooks/notebooks-use.html 4 | "Databricks": { 5 | "Switch to Command Mode": "Esc", 6 | "Find and Replace": "Ctrl ⌥ F", 7 | "Run command and move to next cell": "⇧⏎", 8 | "Run command and insert new cell below": "⌥ ⏎", 9 | "Run command": "Ctrl ⏎", 10 | "Run all above commands (exclusive)": "⇧⌥ Up", 11 | "Run all below commands (inclusive)": "⇧⌥ Down", 12 | "Move to previous/next cell": "⌥ Up/Down", 13 | "Insert a cell above": "Ctrl ⌥ P", 14 | "Insert a cell below": "Ctrl ⌥ N", 15 | "Split a cell at cursor": "Ctrl ⌥ -", 16 | "Move a cell up": "Ctrl ⌥ Up", 17 | "Move a cell down": "Ctrl ⌥ Down", 18 | "Toggle comments panel": "Ctrl ⌥ M", 19 | "Copy current cell": "Ctrl ⌥ C", 20 | "Cut current cell": "Ctrl ⌥ X", 21 | "Paste cell below": "Ctrl ⌥ V", 22 | "Delete current cell": "Ctrl ⌥ D", 23 | "Move up or to previous cell": "Up", 24 | "Move down or to next cell": "Down", 25 | "Autocomplete, indent selection": "Tab", 26 | "Unindent selection": "⇧Tab", 27 | "Indent/Unindent selection": "⌘ ]/[", 28 | "Undo typing": "⌘ Z", 29 | "Redo typing": "⌘ ⇧Z", 30 | "Toggle line comment": "⌘ /", 31 | "Select multiple cells": "⌘ Click", 32 | "Switch to Edit Mode": "⏎", 33 | "Find and Replace": "Ctrl⌥F", 34 | "Run command and move to next cell": "⇧⏎", 35 | "Run command": "Ctrl ⏎", 36 | "Run all above commands (exclusive)": "⇧⌥ ↑", 37 | "Run all below commands (inclusive)": "⇧⌥ ↓", 38 | "Delete current cell": "DD", 39 | "Delete current cell (skip prompt)": "⇧DD", 40 | "Go to first cell": "GG", 41 | "Go to last cell": "⇧G", 42 | "Undo delete cells": "Z", 43 | "Cut current cell": "X", 44 | "Copy current cell": "C", 45 | "Paste cell below": "V", 46 | "Paste cell above": "⇧V", 47 | "Insert a cell above": "A", 48 | "Insert a cell below": "B", 49 | "Toggle cell output": "O", 50 | "Scroll down": "Space", 51 | "Scroll up": "⇧Space", 52 | "Toggle keyboard shortcuts menu": "H", 53 | "Merge with cell below": "⇧M", 54 | "Move to previous cell": "↑/P/K" 55 | } 56 | } -------------------------------------------------------------------------------- /src/apps/defaultFolderX.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | shortcuts = { 3 | "Default Folder X":{ #https://forum.keyboardmaestro.com/t/tip-be-aware-of-default-folder-x-shortcuts/6667 4 | "Open in Finder": "⌥⌘F", 5 | "New Folder": "⇧⌘N", 6 | "Rename": "⌥⌘R", 7 | "Copy": "⌥⌘C", 8 | "Move": "⌥⌘M", 9 | "Get Info": "⌘I", 10 | "Show in Finder": "⌘R", 11 | "Move To Trash": "⌘T", 12 | "Desktop": "⌘D", 13 | "Home": "⇧⌘H", 14 | "iCloud": "⇧⌘I", 15 | "Go to Default Folder": "⌘U", 16 | "Previous Finder Window": "⌥⇧↑", 17 | "Next Finder Window": "⌥⇧↓", 18 | "Show Menu - Finder": "^⌥⌘M", 19 | "Copy Folder Path to Clipboard": "Not set by default", 20 | "Copy Folder Name to Clipboard": "Not set by default", 21 | "Duplicate": "Not set by default", 22 | "Copy Selected Path to Clipboard": "Not set by default", 23 | "Copy Selected Name to Clipboard": "Not set by default", 24 | "Compress": "Not set by default", 25 | "Uncompres": "Not set by default", 26 | "Quicklook": "Not set by default", 27 | "Preferences": "Not set by default", 28 | "Add to Favorites": "Not set by default", 29 | "Remove From Favorites": "Not set by default", 30 | "Set Default Folder for Application": "Not set by default", 31 | "Set Default Folder for Application & File Type": "Not set by default", 32 | "Previous Recent Folder": "Not set by default", 33 | "Next Recent Folder": "Not set by default", 34 | "Show Utility Menu": "Not set by default", 35 | "Show Computer Menu": "Not set by default", 36 | "Show Favorites Menu": "Not set by default", 37 | "Show Recent Folder Menu": "Not set by default", 38 | "Show Finder Window Menu": "Not set by default", 39 | "Show / Hide Toolbar": "Not set by default", 40 | "Add to Favorites": "Not set by default", 41 | "Remove from Favorites": "Not set by default", 42 | "Previous Recent Folder": "Not set by default", 43 | "Next Recent Folder": "Not set by default", 44 | "Previous Finder Window": "Not set by default", 45 | "Next Finder Window": "Not set by default", 46 | "Show / Hide Finder Drawer": "Not set by default", 47 | "Switch to Previous Folder Set - System": "Not set by default", 48 | "Switch to Next Folder Set - System": "Not set by default", 49 | "Show Menu - System": "Not set by default" 50 | } 51 | } -------------------------------------------------------------------------------- /src/apps/evernote.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | 3 | #https://help.evernote.com/hc/en-us/articles/208313358-Keyboard-shortcuts-in-Evernote-for-Mac 4 | shortcuts = { 5 | "Evernote": { 6 | "Global - Quick Note": "^⌘N", 7 | "Global - New Note Window": "^⌥⌘N ", 8 | "Global - Paste to Evernote": "^⌘V ", 9 | "Global - Clip Rectangle or Window": "^⌘C ", 10 | "Global - Search in Evernote": "^⌘E ", 11 | "New Note": "⌘N", 12 | "New Chat": "⌥⇧⌘N", 13 | "New Notebook": "⇧⌘N ", 14 | "New Tag": "^⌘T ", 15 | "New Window": "⌥⌘N ", 16 | "New Tab": "⌘T ", 17 | "Sync": "^⌘S ", 18 | "Close": "⌘W ", 19 | "Save": "⌘S ", 20 | "Quick Look Attachments": "⌘Y ", 21 | "Print": "⌘P ", 22 | "Show/Hide Toolbar": "⌥⌘T ", 23 | "Show/Hide Sidebar": "⌥⌘S ", 24 | "Work Chat": "⌥⌘0 ", 25 | "Notes": "⌥⌘1 ", 26 | "Notebooks": "⌥⌘2 ", 27 | "Tags": "⌥⌘3 ", 28 | "Atlas / Business Home (Evernote Business only)": "⌥⌘4 ", 29 | "Atlas (Evernote Business only)": "⌥⌘5 ", 30 | "Announcements (Evernote Business only)": "⌥⌘6 ", 31 | "Announcements (Evernote Business only)": "⌥⌘7 ", 32 | "Show All Notes": "⇧⌘A ", 33 | "Jump to Notebook": "⌘J ", 34 | "Jump to Tag": "⇧⌘J ", 35 | "Select Note List": "⌘| ", 36 | "Back": "⌘[ ", 37 | "Forward": "⌘] ", 38 | "Enter Full Screen": "^⌘F ", 39 | "Go to Shortcuts 1-9": "⌘1-9 ", 40 | "Preferences": "⌘, ", 41 | "Switch User": "^⌘A ", 42 | "Hide Evernote": "⌘H ", 43 | "Hide Others": "⌥⌘H ", 44 | "Quit Evernote": "⌘Q ", 45 | "Minimize": "⌘M ", 46 | "Zoom": "/ ", 47 | "Undo": "⌘Z ", 48 | "Redo": "⇧⌘Z ", 49 | "Cut": "⌘X ", 50 | "Copy": "⌘C ", 51 | "Paste": "⌘V ", 52 | "Paste and Match Style": "⇧⌘V ", 53 | "Select All": "⌘A ", 54 | "Encrypt Selected Text": "⇧⌘X ", 55 | "Search Notes": "⌥⌘F ", 56 | "Reset Search": "⌘R ", 57 | "Find Within Note": "⌘F ", 58 | "Find Next": "⌘G ", 59 | "Find Previous": "⇧⌘G ", 60 | "Show Spelling and Grammar": "⌘: ", 61 | "Check Document Now": "⌘; ", 62 | "Start Dictation": "fn fn ", 63 | "Emoji & Symbols": "^⌘Space ", 64 | "Copy Public Link": "⌘/ ", 65 | "Present": "⌘↩ ", 66 | "Present on Another Screen": "⌥⌘↩ ", 67 | "Edit Note Title": "⌘L ", 68 | "Edit Tags": "⌘' ", 69 | "Show/Hide Note Info": "⇧⌘I ", 70 | "Copy Note Link": "^⌥⌘C ", 71 | "Move To Notebook": "^⌘M ", 72 | "Merge Notes": "⇧⌘M ", 73 | "Show Colors": "⇧⌘C ", 74 | "Align Left": "⌥⌘{ ", 75 | "Center": "⌥⌘| ", 76 | "Align Right": "⌥⌘} ", 77 | "Increase Indent Level": "⇧⌘] ", 78 | "Decrease Indent Level": "⇧⌘[ ", 79 | "Toggle Bulleted List": "⇧⌘U ", 80 | "Toggle Numbered List": "⇧⌘O ", 81 | "Increase List Level": "Tab ", 82 | "Decrease List Level": "⇧⇤ ", 83 | "Insert Table": "⇧⌘L ", 84 | "Add Link": "⌘K ", 85 | "Remove Link": "⇧⌘K ", 86 | "Bold": "⌘B ", 87 | "Italic": "⌘I ", 88 | "Underline": "⌘U ", 89 | "Strikethrough": "^⌘K ", 90 | "Highlight": "^⌘H ", 91 | "Superscript": "^⌘+ ", 92 | "Subscript": "^⌘- ", 93 | "Bigger": "⌘+ ", 94 | "Smaller": "⌘- ", 95 | "Insert To-do": "⇧⌘T ", 96 | "Insert Horizontal Rule": "⇧⌘H ", 97 | "Insert Date": "⇧⌘D ", 98 | "Insert Time": "⌥⇧⌘D ", 99 | "Simplify Formatting": "⇧⌘F " 100 | } 101 | } -------------------------------------------------------------------------------- /src/apps/firefox.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | shortcuts = { 3 | "Firefox":{ 4 | #https://support.mozilla.org/en-US/kb/keyboard-shortcuts-perform-firefox-tasks-quickly 5 | #https://developer.mozilla.org/en-US/docs/Tools/Page_Inspector/Keyboard_shortcuts 6 | "Navigation - Back ":"⌘← or ⌘[ or ⌫", 7 | "Navigation - Forward ":"⌘→ or ⌘] or ⇧⌫", 8 | "Navigation - Home ":"⌥ home", 9 | "Navigation - Open File ":"⌘O", 10 | "Navigation - Reload ":"F5 or ⌘R", 11 | "Navigation - Reload (override cache) ":"⌘⇧R", 12 | "Navigation - Stop ":"Esc or ⌘.", 13 | "Current Page - Go Down a Screen ":"fn↓", 14 | "Current Page - Go Up a Screen ":"fn↑ or ⇧Space", 15 | "Current Page - Go to Bottom of Page ":"End or ⌘↓", 16 | "Current Page - Go to Top of Page ":"Home or ⌘↑", 17 | "Current Page - Move to Next Frame ":"F6", 18 | "Current Page - Move to Previous Frame ":"⇧F6", 19 | "Current Page - Print ":"⌘P", 20 | "Current Page - Save Page As ":"⌘S", 21 | "Current Page - Zoom In ":"⌘+", 22 | "Current Page - Zoom Out ":"⌘-", 23 | "Current Page - Zoom Reset ":"⌘0", 24 | "Editing - Copy ":"⌘C", 25 | "Editing - Cut ":"⌘X", 26 | "Editing - Delete ":"⌫", 27 | "Editing - Paste ":"⌘V", 28 | "Editing - Paste (as plain text) ":"⌘⇧V", 29 | "Editing - Redo ":"⌘⇧Z", 30 | "Editing - Select All ":"⌘A", 31 | "Editing - Undo ":"⌘Z", 32 | "Search - Find ":"⌘F ", 33 | "Search - Find Again ":"F3 or ⌘G ", 34 | "Search - Find Previous ":"⇧F3 or ⌘⇧G ", 35 | "Search - Quick Find within link-text only ":"' ", 36 | "Search - Quick Find ":"/ ", 37 | "Search - Close the Find or Quick Find bar ":"Esc - when the Find or Quick Find bar is focused", 38 | "Search - Focus Search bar ":"⌘K or ⌘⌥F ", 39 | "Search - Quickly switch between search engines ":"⌘↑ or ⌘↓ - when Search Bar is focused", 40 | "Search - View menu to switch, add or manage search engines":"⌥↑ or ⌥↓ - when Search Bar is focused", 41 | "Windows/tabs - Close Tab ":"⌘W - except for App Tabs", 42 | "Windows/tabs - Close Window ":"⌘⇧W ", 43 | "Windows/tabs - Move Tab in focus Left ":"^⇧Page Up ", 44 | "Windows/tabs - Move Tab in focus ":"Right ^⇧Page Down ", 45 | "Windows/tabs - Move Tab in focus to start ":"⌘home ", 46 | "Windows/tabs - Move Tab in focus to end ":"⌘end ", 47 | "Windows/tabs - Mute/Unmute Audio ":"^M ", 48 | "Windows/tabs - New Tab ":"⌘T ", 49 | "Windows/tabs - New Window ":"⌘N ", 50 | "Windows/tabs - New Private Window ":"⌘⇧P ", 51 | "Windows/tabs - Next Tab ":"⌥tab or ⌥ page down or ⌘⌥→ ", 52 | "Windows/tabs - Open Address in New Tab ":"⏎- from Location Bar or Search Bar", 53 | "Windows/tabs - Previous Tab ":"⌥⇧tab or ⌥ page up or ⌘⌥← ", 54 | "Windows/tabs - Undo Close Tab ":"⌘⇧T ", 55 | "Windows/tabs - Undo Close Window ":"⌘⇧N ", 56 | "Windows/tabs - Select Tab 1 to 8 ":"⌘1to8 ", 57 | "Windows/tabs - Select Last Tab ":"⌘9", 58 | "History - History sidebar ":"⌘⇧H", 59 | "History - Clear Recent History ":"⌘⇧⌫", 60 | "Bookmarks - Bookmark All Tabs ":"⌘⇧D", 61 | "Bookmarks - Bookmark This Page ":"⌘D", 62 | "Bookmarks - Bookmarks sidebar ":"⌘B", 63 | "Bookmarks - Library window ":"⌘⇧B", 64 | "Tools - Downloads ":"⌘J", 65 | "Tools - Add-ons ":"⌘⇧A", 66 | "Tools - Toggle Developer Tools ":"F12 or ⌘⌥I", 67 | "Tools - Web Console ":"⌘⌥K", 68 | "Tools - Inspector ":"⌘⌥C", 69 | "Tools - Debugger ":"⌘⌥S", 70 | "Tools - Style Editor ":"⇧F7", 71 | "Tools - Profiler ":"⇧F5", 72 | "Tools - Network ":"⌘⌥Q", 73 | "Tools - Developer Toolbar ":"⇧F2", 74 | "Tools - Responsive Design View ":"⌘⌥M", 75 | "Tools - Scratchpad ":"⇧F4", 76 | "Tools - Page Source ":"⌘U", 77 | "Tools - Browser Console ":"⌘⇧J", 78 | "Tools - Page Info ":"⌘I", 79 | "PDF Viewer - Next page ":"N or J or →", 80 | "PDF Viewer - Previous page ":"P or K or ←", 81 | "PDF Viewer - Zoom in ":"⌘+", 82 | "PDF Viewer - Zoom out ":"⌘-", 83 | "PDF Viewer - Automatic Zoom ":"⌘0", 84 | "PDF Viewer - Rotate the document clockwise ":"R", 85 | "PDF Viewer - Rotate counterclockwise ":"⇧R", 86 | "PDF Viewer - Switch to Presentation Mode ":"⌘⌥P", 87 | "PDF Viewer - Toggle Hand Tool ":"H", 88 | "PDF Viewer - Focus the Page Number input box ":"⌘⌥G", 89 | "Complete .com Address ":"⌘⏎", 90 | "Complete .net Address ":"⇧⏎", 91 | "Complete .org Address ":"⌘⇧⏎", 92 | "Delete Selected Autocomplete Entry ":"⇧⌫", 93 | "Toggle Full Screen ":"⌘⇧F", 94 | "Toggle Reader Mode ":"⌘⌥R", 95 | "Caret Browsing ":"F7", 96 | "Select Location Bar ":"F6 or ⌘L", 97 | "Media - Toggle Play / Pause ":"Space", 98 | "Media - Decrease volume ":"↓", 99 | "Media - Increase volume ":"↑", 100 | "Media - Mute audio ":"⌘↓", 101 | "Media - Unmute audio ":"⌘↑", 102 | "Media - Seek back 15 seconds ":"←", 103 | "Media - Seek back 10 % ":"⌘←", 104 | "Media - Seek forward 15 seconds ":"→", 105 | "Media - Seek forward 10 % ":"⌘→", 106 | "Media - Seek to the beginning ":"Home", 107 | "Media - Seek to the end ":"End", 108 | "Inspect Element":"⌘⌥C", 109 | "Node picker - Select the element under the mouse and cancel picker mode ":"Click", 110 | "Node picker - Select the element under the mouse and stay in picker mode ":"⇧Click ", 111 | "HTML pane - Delete the selected node ":"⌫", 112 | "HTML pane - Undo delete of a node ":"⌘Z", 113 | "HTML pane - Redo delete of a node ":"⌘⇧Z / ⌘Y", 114 | "HTML pane - Move to next node (expanded nodes only) ":"↓", 115 | "HTML pane - Move to previous node ":"↑", 116 | "HTML pane - Expand currently selected node ":"→", 117 | "HTML pane - Collapse currently selected node ":"→", 118 | "HTML pane - Step forward through the attributes of a node ":"Tab", 119 | "HTML pane - Step backward through the attributes of a node ":"⇧Tab", 120 | "HTML pane - Start editing the selected attribute ":"⏎", 121 | "HTML pane - Hide/show the selected node ":"H", 122 | "HTML pane - Focus on the search box in the HTML pane ":"⌘F", 123 | "HTML pane - Edit as HTML ":"F2", 124 | "HTML pane - Stop editing HTML ":"F2 / ^⏎", 125 | "HTML pane - Copy the selected node's outer HTML ":"⌘C", 126 | "HTML pane - Scroll the selected node into view ":"S", 127 | "HTML pane - Find the next match in the markup, when searching is active ":"⏎", 128 | "HTML pane - Find the previous match in the markup, when searching is active ":"⇧⏎", 129 | "Breadcrumbs bar - Move to the previous element in the breadcrumbs bar ":"←", 130 | "Breadcrumbs bar - Move to the next element in the breadcrumbs bar ":"→", 131 | "Breadcrumbs bar - Focus the HTML pane ":"⇧Tab", 132 | "Focus the CSS pane ":"Tab", 133 | "CSS pane - Focus on the search box in the CSS pane ":"⌘F", 134 | "CSS pane - Clear search box content (only when the search box is focused, and content has been entered) ":"Esc", 135 | "CSS pane - Step forward through properties and values ":"Tab", 136 | "CSS pane - Step backward through properties and values ":"⇧Tab", 137 | "CSS pane - Start editing property or value (Rules view only, when a property or value is selected, but not already being edited) ":"⏎ or Space", 138 | "CSS pane - Cycle up and down through auto-complete suggestions (Rules view only, when a property or value is being edited) ":"↑, ↓", 139 | "CSS pane - Choose current auto-complete suggestion (Rules view only, when a property or value is being edited) ":"⏎ or Tab", 140 | "CSS pane - Increment selected value by 1 ":"↑", 141 | "CSS pane - Decrement selected value by 1 ":"↓", 142 | "CSS pane - Increment selected value by 100 ":"⇧Page Up", 143 | "CSS pane - Decrement selected value by 100 ":"⇧Page Down", 144 | "CSS pane - Increment selected value by 10 ":"⇧↑", 145 | "CSS pane - Decrement selected value by 10 ":"⇧↓", 146 | "CSS pane - Increment selected value by 0.1 ":"⌥↑", 147 | "CSS pane - Decrement selected value by 0.1 ":"⌥↓", 148 | "CSS pane - Show/hide more information about current property (Computed view only, when a property is selected) ":"⏎ or Space", 149 | "CSS pane - Open MDN reference page about current property (Computed view only, when a property is selected) ":"F1", 150 | "CSS pane - Open current CSS file in Style Editor (Computed view only, when more information is shown for a property and a CSS file reference is focused) ":"⏎`", 151 | "Increase font size ":"⌘+", 152 | "Decrease font size ":"⌘-", 153 | "Reset font size ":"⌘0" 154 | } 155 | } -------------------------------------------------------------------------------- /src/apps/forklift.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | shortcuts = { 3 | "Forklift 3": { #https://defkey.com/forklift-3-shortcuts 4 | "Open selection": "⌘↓", 5 | "Enclosing folder": "⌘↑", 6 | "Quick look": "Space", 7 | "Copy to": "F5", 8 | "Move to": "F6", 9 | "Rename": "⏎", 10 | "Edit": "⌘E", 11 | "Move to trash": "⌘ Backspace", 12 | "Create a new folder": "⌘⇧N", 13 | "Open selection": "⏎", 14 | "Enclosing folder": "Backspace", 15 | "Quick look": "F3", 16 | "Copy to": "F5", 17 | "Move to": "F6", 18 | "Rename": "⇧F6", 19 | "Edit": "F4", 20 | "Move to trash": "F8", 21 | "Create a new folder": "F7" 22 | } 23 | } -------------------------------------------------------------------------------- /src/apps/forklift3.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | shortcuts = { 3 | "Forklift 3": { #https://defkey.com/forklift-3-shortcuts 4 | "Open selection": "⌘↓", 5 | "Enclosing folder": "⌘↑", 6 | "Quick look": "Space", 7 | "Copy to": "F5", 8 | "Move to": "F6", 9 | "Rename": "⏎", 10 | "Edit": "⌘E", 11 | "Move to trash": "⌘ Backspace", 12 | "Create a new folder": "⌘⇧N", 13 | "Open selection": "⏎", 14 | "Enclosing folder": "Backspace", 15 | "Quick look": "F3", 16 | "Copy to": "F5", 17 | "Move to": "F6", 18 | "Rename": "⇧F6", 19 | "Edit": "F4", 20 | "Move to trash": "F8", 21 | "Create a new folder": "F7" 22 | } 23 | } -------------------------------------------------------------------------------- /src/apps/github.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | shortcuts = { 3 | "github.com":{ 4 | #https://help.github.com/articles/using-keyboard-shortcuts/ 5 | "Focus the search bar":"s", 6 | "Go to your notifications":"g then n", 7 | "Go to the Code tab":"g then c", 8 | "Go to the Issues tab":"g then i", 9 | "Go to the Pull reuests tab":"g then p", 10 | "Go to the Projects tab":"g then b", 11 | "Go to the Wiki tab":"g then w", 12 | "Code editing - Start searching in file editor":"⌘f", 13 | "Code editing - Find next":"⌘g", 14 | "Code editing - Find previous":"⌘⇧g", 15 | "Code editing - Replace":"⌘⌥f", 16 | "Code editing - Replace All":"⇧⌘⌥f", 17 | "Code editing - Jump to line":"⌥g", 18 | "Code editing - Undo":"⌘z", 19 | "Code editing - Redo":"⌘y", 20 | "Code browsing - Activates the file finder":"t", 21 | "Code browsing - Jump to a line in your code":"l", 22 | "Code browsing - Switch to a new branch or tag":"w", 23 | "Code browsing - Expand a URL to its canonical form":"y", 24 | "Code browsing - Show or hide comments on diffs":"i", 25 | "Code browsing - Open blame view":"b", 26 | "Comments - Markdown to bold text":"⌘b", 27 | "Comments - Markdown to italicize text":"⌘i", 28 | "Comments - Markdown to create a link":"⌘k", 29 | "Comments - Toggles between the Write and Preview comment tabs":"⌘⇧p", 30 | "Comments - Submits a comment":"^⏎", 31 | "Issue/PR lists - Create an issue":"c", 32 | "Issue/PR lists - Focus the issues search bar":"/", 33 | "Issue/PR lists - Filter by author":"u", 34 | "Issue/PR lists - Filter by or edit labels":"l", 35 | "Issue/PR lists - Filter by or edit milestones":"m", 36 | "Issue/PR lists - Filter by or edit assignee":"a", 37 | "Issue/PR lists - Quote the selected text in your reply":"r", 38 | "Issue/PR lists - Open issue":"o or ⏎", 39 | "Issue/PR - Request a reviewer":"q", 40 | "Issue/PR - Set a milestone":"m", 41 | "Issue/PR - Apply a label":"l", 42 | "Issue/PR - Set an assignee":"a", 43 | "PR changes - Open the list of commits in the PR":"c", 44 | "PR changes - Open the list of changed files in the pull request":"t", 45 | "PR changes - Move selection down in the list":"j", 46 | "PR changes - Move selection up in the list":"k", 47 | "Notifications - Mark as read":"e or l or y", 48 | "Notifications - Mute thread":"⇧m", 49 | "Network Graph - Scroll left":"← or h", 50 | "Network Graph - Scroll right":"→ or l", 51 | "Network Graph - Scroll up":"↑ or k", 52 | "Network Graph - Scroll down":"↓ or j", 53 | "Network Graph - Scroll all the way left":"⇧← or ⇧h", 54 | "Network Graph - Scroll all the way right":"⇧→ or ⇧l", 55 | "Network Graph - Scroll all the way up":"⇧↑ or ⇧k", 56 | "Network Graph - Scroll all the way down":"⇧↓ or ⇧j", 57 | "Project boards - Moving a column - Start moving the focused column":"⏎ or Space", 58 | "Project boards - Moving a column - Cancel the move in progress":"Esc", 59 | "Project boards - Moving a column - Complete the move in progress":"⏎", 60 | "Project boards - Moving a column - Move column to the left":"← or h", 61 | "Project boards - Moving a column - Move column to the leftmost postition":"⌘← or ⌘h", 62 | "Project boards - Moving a column - Move column to the right":"→ or l", 63 | "Project boards - Moving a column - Move column to the rightmost postition":"⌘→ or ⌘l", 64 | "Project boards - Moving a card - Start moving the focused card":"⏎ or Space", 65 | "Project boards - Moving a card - Cancel the move in progress":"Esc", 66 | "Project boards - Moving a card - Complete the move in progress":"⏎", 67 | "Project boards - Moving a card - Move card down":"↓ or j", 68 | "Project boards - Moving a card - Move card to the bottom of the column":"⌘↓ or ⌘j", 69 | "Project boards - Moving a card - Move card up":"↑ or k", 70 | "Project boards - Moving a card - Move card to the top of the column":"⌘↑ or ⌘k", 71 | "Project boards - Moving a card - Move card to the bottom of the column on the left":"← or h", 72 | "Project boards - Moving a card - Move card to the top of the column on the left":"⇧← or ⇧h", 73 | "Project boards - Moving a card - Move card to the bottom of the leftmost column":"⌘← or ⌘h", 74 | "Project boards - Moving a card - Move card to the top of the leftmost column":"⌘⇧← or ⌘⇧h", 75 | "Project boards - Moving a card - Move card to the bottom of the column on the right":"→ or l", 76 | "Project boards - Moving a card - Move card to the top of the column on the right":"⇧→ or ⇧l", 77 | "Project boards - Moving a card - Move card to the bottom of the rightmost column":"⌘→ or ⌘l", 78 | "Project boards - Moving a card - Move card to the top of the rightmost column":"⌘⇧→ or ⌘⇧l" 79 | } 80 | } -------------------------------------------------------------------------------- /src/apps/gmail.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | 3 | shortcuts = { 4 | "Gmail": # https://support.google.com/mail/answer/6594?hl=en 5 | { 6 | "Previous message in an open conversation": "p", 7 | "Next message in an open conversation": "n", 8 | "Focus main window": "⇧Esc", 9 | "Focus latest chat or compose": "Esc", 10 | "Advance to the next chat or compose": "Ctrl + .", 11 | "Advance to previous chat or compose": "Ctrl + ,", 12 | "Send": "⌘Enter", 13 | "Add cc recipients": "⌘⇧c", 14 | "Add bcc recipients": "⌘⇧b", 15 | "Access custom from": "⌘⇧f", 16 | "Insert a link": "⌘k", 17 | "Go to next misspelled word (Mac only)": "⌘;", 18 | "Open spelling suggestions": "⌘m", 19 | "Previous font": "⌘⇧5", 20 | "Next font": "⌘⇧6", 21 | "Decrease text size": "⌘⇧-", 22 | "Increase text size": "⌘⇧+", 23 | "Bold": "⌘b", 24 | "Italics": "⌘i", 25 | "Underline": "⌘u", 26 | "Numbered list": "⌘⇧7", 27 | "Bulleted list": "⌘⇧8", 28 | "Quote": "⌘⇧9", 29 | "Indent less": "⌘[", 30 | "Indent more": "⌘]", 31 | "Align left": "⌘⇧l", 32 | "Align center": "⌘⇧e", 33 | "Align right": "⌘⇧r", 34 | "Remove formatting": "⌘\\", 35 | "Move focus to toolbar": ",", 36 | "Select conversation": "x", 37 | "Toggle star/rotate among superstars": "s", 38 | "Archive": "e", 39 | "Mute conversation": "m", 40 | "Report as spam": "!", 41 | "Delete": "#", 42 | "Reply": "r", 43 | "Reply in a new window": "⇧r", 44 | "Reply all": "a", 45 | "Reply all in a new window": "⇧a", 46 | "Forward": "f", 47 | "Forward in a new window": "⇧f", 48 | "Update conversation": "⇧n", 49 | "Archive conversation and go previous/next": "] or [", 50 | "Undo last action": "z", 51 | "Mark as read": "⇧i", 52 | "Mark as unread": "⇧u", 53 | "Mark unread from the selected message": "_", 54 | "Mark as important": "+ or =", 55 | "Mark as not important": "-", 56 | "Snooze": "b", 57 | "Expand entire conversation": ";", 58 | "Collapse entire conversation": ":", 59 | "Add conversation to Tasks": "⇧t", 60 | "Compose": "c", 61 | "Compose in a new tab": "d", 62 | "Search mail": "/", 63 | "Search chat contacts": "g", 64 | "Open 'more actions' menu": ".", 65 | "Open 'move to' menu": "v", 66 | "Open 'label as' menu": "l", 67 | "Open keyboard shortcut help": "?", 68 | "Go to next page": "g + n", 69 | "Go to previous page": "g + p", 70 | "Back to threadlist": "u", 71 | "Newer conversation": "k", 72 | "Older conversation": "j", 73 | "Open conversation": "o or Enter", 74 | "Go to next Inbox section": "`", 75 | "Go to previous Inbox section": "~", 76 | "Select all conversations": "* + a", 77 | "Deselect all conversations": "* + n", 78 | "Select read conversations": "* + r", 79 | "Select unread conversations": "* + u", 80 | "Select starred conversations": "* + s", 81 | "Select unstarred conversations": "* + t", 82 | "Go to Inbox": "g + i", 83 | "Go to Starred conversations": "g + s", 84 | "Go to Snoozed conversations": "g + b", 85 | "Go to Sent messages": "g + t", 86 | "Go to Drafts": "g + d", 87 | "Go to All mail": "g + a", 88 | "Switch between sidebar and your inbox.": "⌘Alt + , and ⌘Alt + .", 89 | "Go to Tasks": "g + k", 90 | "Go to label": "g + l", 91 | "Hangouts - Show menu": "h + m", 92 | "Show archived hangouts": "h + a", 93 | "Show Hangout requests": "h + i", 94 | "Focus on the conversation list": "h + c", 95 | "Hangouts - Open phone": "h + p" 96 | } 97 | } 98 | 99 | -------------------------------------------------------------------------------- /src/apps/googleDocs.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | 3 | shortcuts = { 4 | "Google Docs": #https://support.google.com/docs/answer/179738?co=GENIE.Platform%3DDesktop&hl=en 5 | { 6 | "Copy": "⌘c", 7 | "Cut": "⌘x", 8 | "Paste": "⌘v", 9 | "Paste without formatting": "⌘⇧v", 10 | "Undo": "⌘z", 11 | "Redo": "⌘⇧z", 12 | "Insert or edit link": "⌘k", 13 | "Open link": "⌥⏎", 14 | "Show common keyboard shortcuts": "⌘/", 15 | "Every change is automatically saved in Drive": "⌘s", 16 | "Print": "⌘p", 17 | "Open": "⌘o", 18 | "Find": "⌘f", 19 | "Find and replace": "⌘⇧h", 20 | "Find again": "⌘g", 21 | "Find previous": "⌘⇧g", 22 | "Hide the menus (compact mode)": "Ctrl ⇧f", 23 | "Insert page break": "⌘⏎", 24 | "Search the menus": "⌥/ or Ctrl ⌥z", 25 | "Repeat last action": "⌘y", 26 | "Bold": "⌘b", 27 | "Italicize": "⌘i", 28 | "Underline": "⌘u", 29 | "Strikethrough": "⌘⇧x", 30 | "Superscript": "⌘.", 31 | "Subscript": "⌘,", 32 | "Copy text formatting": "⌘⌥c", 33 | "Paste text formatting": "⌘⌥v", 34 | "Clear text formatting": "⌘\\", 35 | "Increase font size": "⌘⇧>", 36 | "Decrease font size": "⌘⇧<", 37 | "Increase paragraph indentation": "⌘]", 38 | "Decrease paragraph indentation": "⌘[", 39 | "Apply normal text style": "⌘⌥0", 40 | "Apply heading style [1-6]": "⌘⌥[1-6]", 41 | "Left align": "⌘⇧l", 42 | "Center align": "⌘⇧e", 43 | "Right align": "⌘⇧r", 44 | "Justify": "⌘⇧j", 45 | "Numbered list": "⌘⇧7", 46 | "Bulleted list": "⌘⇧8", 47 | "Move paragraph up/down": "Ctrl ⇧↑ or Ctrl ⇧↓", 48 | "Alt text": "⌘⌥y", 49 | "Resize larger": "⌘Ctrl k", 50 | "Resize larger horizontally": "⌘Ctrl b", 51 | "Resize larger vertically": "⌘Ctrl i", 52 | "Resize smaller": "⌘Ctrl j", 53 | "Resize smaller horizontally": "⌘Ctrl w", 54 | "Resize smaller vertically": "⌘Ctrl q", 55 | "Rotate clockwise by 15°": "⌥→", 56 | "Rotate counterclockwise by 15°": "⌥←", 57 | "Rotate counterclockwise by 1°": "⌥⇧←", 58 | "Rotate clockwise by 1°": "⌥⇧→", 59 | "Close drawing editor": "⌘Esc or ⇧Esc", 60 | "Insert comment": "⌘⌥m", 61 | "Open discussion thread": "⌘⌥⇧a", 62 | "Enter current comment": "Ctrl ⏎", 63 | "Insert footnote": "⌘⌥f", 64 | "Context (right-click) menu": "⌘⇧\\", 65 | "File menu": "Ctrl ⌥f", 66 | "Edit menu": "Ctrl ⌥e", 67 | "View menu": "Ctrl ⌥v", 68 | "Insert menu": "Ctrl ⌥i", 69 | "Format menu": "Ctrl ⌥o", 70 | "Tools menu": "Ctrl ⌥t", 71 | "Help menu": "Ctrl ⌥h", 72 | "Accessibility menu": "Ctrl ⌥a", 73 | "Input tools menu": "⌘⌥⇧k", 74 | "Toggle input controls": "⌘⇧k", 75 | "Show your browser's context menu": "⇧ right-click", 76 | "Select all": "⌘a", 77 | "Extend selection one character": "⇧← or ⇧→", 78 | "Extend selection one line": "⇧↑ or ⇧↓", 79 | "Extend selection to the beginning of the line": "⇧Fn←", 80 | "Extend selection one paragraph": "⌥⇧↑ or ⌥⇧↓", 81 | "Extend selection to the end of the line": "⇧Fn→", 82 | "Extend selection to the beginning of the document": "⌘⇧↑", 83 | "Extend selection to the end of the document": "⌘⇧↓", 84 | "Move to current footnote": "holding Ctrl ⌘, press e then f", 85 | "Move to next footnote": "holding Ctrl ⌘, press n then f", 86 | "Move to previous footnote": "holding Ctrl ⌘, press p then f", 87 | "Select current list item": "holding Ctrl ⌘⇧, press e then i", 88 | "Select all list items at current level": "holding Ctrl ⌘⇧, press e then o", 89 | "Select word": "Double-click", 90 | "Extend selection one word at a time": "Double-click + drag", 91 | "Select paragraph": "Triple-click", 92 | "Extend selection one paragraph at a time": "Triple-click + drag", 93 | "Show document outline": "holding Ctrl + ⌘, press a then h", 94 | "Move to next heading": "holding Ctrl + ⌘, press n then h", 95 | "Move to previous heading": "holding Ctrl + ⌘, press p then h", 96 | "Move to next heading [1-6]": "holding Ctrl + ⌘, press n then [1-6]", 97 | "Move to previous heading [1-6]": "holding Ctrl + ⌘, press p then [1-6]", 98 | "Move to next media (image or drawing)": "holding Ctrl + ⌘, press n then g", 99 | "Move to previous media (image or drawing)": "holding Ctrl + ⌘, press p then g", 100 | "Move to next list": "holding Ctrl + ⌘, press n then o", 101 | "Move to previous list": "holding Ctrl + ⌘, press p then o", 102 | "Move to next item in the current list": "holding Ctrl + ⌘, press n then i", 103 | "Move to previous item in the current list": "holding Ctrl + ⌘, press p then i", 104 | "Move to next link": "holding Ctrl + ⌘, press n then l", 105 | "Move to previous link": "holding Ctrl + ⌘, press p then l", 106 | "Move to next bookmark": "holding Ctrl + ⌘, press n then b", 107 | "Move to previous bookmark": "holding Ctrl + ⌘, press p then b", 108 | "Move to next formatting change": "holding Ctrl + ⌘, press n then w", 109 | "Move to previous formatting change": "holding Ctrl + ⌘, press p then w", 110 | "Move to the next edit (while viewing revision history or new changes)": "holding Ctrl + ⌘, press n then r", 111 | "Move to the previous edit (while viewing revision history or new changes)": "holding Ctrl + ⌘, press p then r", 112 | "Move to the start of the table": "holding Ctrl + ⌘ + Shift, press t then s", 113 | "Move to the end of the table": "holding Ctrl + ⌘ + Shift, press t then d", 114 | "Move to the start of the table column": "holding Ctrl + ⌘ + Shift, press t then i", 115 | "Move to the end of the table column": "holding Ctrl + ⌘ + Shift, press t then k", 116 | "Move to the next table column": "holding Ctrl + ⌘ + Shift, press t then b", 117 | "Move to the previous table column": "holding Ctrl + ⌘ + Shift, press t then v", 118 | "Move to the start of the table row": "holding Ctrl + ⌘ + Shift, press t then j", 119 | "Move to the end of the table row": "holding Ctrl + ⌘ + Shift, press t then l", 120 | "Move to the next table row": "holding Ctrl + ⌘ + Shift, press t then m", 121 | "Move to the previous table row": "holding Ctrl + ⌘ + Shift, press t then g", 122 | "Exit table": "holding Ctrl + ⌘ + Shift, press t then e", 123 | "Move to the next table": "holding Ctrl + ⌘ + Shift, press n then t", 124 | "Move to the previous table": "holding Ctrl + ⌘ + Shift, press p then t", 125 | "Insert or move to header": "holding Ctrl + ⌘, press o then h", 126 | "Insert or move to footer": "holding Ctrl + ⌘, press o then f", 127 | "Move focus to popup (for links, bookmarks, and images)": "holding Ctrl + ⌘, press e then p", 128 | "Open revision history": "⌘ + Option + Shift + h", 129 | "Open Explore tool": "⌘ + Option + Shift + i", 130 | "Open spelling/grammar": "⌘ + Option + x or Fn + F7", 131 | "Open dictionary": "⌘ + Shift + y", 132 | "Word count": "⌘ + Shift + c", 133 | "Start voice typing (in Chrome)": "⌘ + Shift + s", 134 | "Go to side panel": "⌘ + Option + . or ⌘ + Option + ,", 135 | "Page up": "Fn + Up arrow", 136 | "Page down": "Fn + Down arrow", 137 | "Move to next misspelling": "⌘ + '", 138 | "Move to previous misspelling": "⌘ + ;", 139 | "Move focus out of document text": "⌘ + Option + Shift + m", 140 | "Return focus to document text": "Esc" 141 | } 142 | } -------------------------------------------------------------------------------- /src/apps/googleSheets.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | shortcuts = { 3 | #https://support.google.com/docs/answer/181110 4 | "Google Sheets" : { 5 | 6 | "Select column" : "Ctrl + Space", 7 | "Select row" : "Shift + Space", 8 | "Select all" : "⌘ + a or ⌘ + Shift + Space", 9 | "Undo" : "⌘ + z", 10 | "Redo" : "⌘ + y or ⌘ + Shift + z or Fn + F4", 11 | "Find" : "⌘ + f", 12 | "Find and replace" : "⌘ + Shift + h", 13 | "Fill range" : "⌘ + Enter", 14 | "Fill down" : "⌘ + d", 15 | "Fill right" : "⌘ + r", 16 | "Save" : "⌘ + s", 17 | "Open" : "⌘ + o", 18 | "Print" : "⌘ + p", 19 | "Copy" : "⌘ + c", 20 | "Cut" : "⌘ + x", 21 | "Paste" : "⌘ + v", 22 | "Paste values only" : "⌘ + Shift + v", 23 | "Show common keyboard shortcuts" : "⌘ + /", 24 | "Compact controls" : "Ctrl + Shift + f", 25 | "Input tools on/off" : "⌘ + Shift + k", 26 | "Select input tools" : "⌘ + Option + Shift + k", 27 | 28 | "Bold" : "⌘ + b", 29 | "Underline" : "⌘ + u", 30 | "Italic" : "⌘ + i", 31 | "Strikethrough" : "Option + Shift + 5", 32 | "Center align" : "⌘ + Shift + e", 33 | "Left align" : "⌘ + Shift + l", 34 | "Right align" : "⌘ + Shift + r", 35 | "Apply top border" : "Option + Shift + 1", 36 | "Apply right border" : "Option + Shift + 2", 37 | "Apply bottom border" : "Option + Shift + 3", 38 | "Apply left border" : "Option + Shift + 4", 39 | "Remove borders" : "Option + Shift + 6", 40 | "Apply outer border" : "Option + Shift + 7 or ⌘ + Shift + 7", 41 | 42 | "Insert link" : "⌘ + k", 43 | "Insert time" : "⌘ + Shift + ;", 44 | "Insert date" : "⌘ + ;", 45 | "Insert date and time" : "⌘ + Option + Shift + ;", 46 | "Format as decimal" : "Ctrl + Shift + 1", 47 | "Format as time" : "Ctrl + Shift + 2", 48 | "Format as date" : "Ctrl + Shift + 3", 49 | "Format as currency" : "Ctrl + Shift + 4", 50 | "Format as percentage" : "Ctrl + Shift + 5", 51 | "Format as exponent" : "Ctrl + Shift + 6", 52 | "Clear formatting" : "⌘ + \\", 53 | 54 | "Move to beginning of row" : "Fn + Left arrow", 55 | "Move to beginning of sheet" : "⌘ + Fn + Left arrow", 56 | "Move to end of row" : "Fn + Right arrow", 57 | "Move to end of sheet" : "⌘ + Fn + Right arrow", 58 | "Scroll to active cell" : "⌘ + Backspace", 59 | "Move to next sheet" : "⌘ + Shift + Fn + Down arrow", 60 | "Move to previous sheet" : "⌘ + Shift + Fn + Up arrow", 61 | "Display list of sheets" : "Option + Shift + k", 62 | "Open hyperlink" : "Option + Enter", 63 | "Open Explore" : "Option + Shift + x", 64 | "Move focus out of spreadsheet" : "Ctrl + ⌘ + Shift + m", 65 | "Move to quicksum (when a range of cells is selected)" : "Option + Shift + q", 66 | "Move focus to popup (for links, bookmarks, and images)" : "holding Ctrl + ⌘, press e then p", 67 | "Open drop-down menu on filtered cell" : "Ctrl + ⌘ + r", 68 | "Open revision history" : "⌘ + Option + Shift + h", 69 | "Open chat inside the spreadsheet" : "Shift + Esc", 70 | "Close drawing editor" : "⌘ + Esc or Shift + Esc", 71 | 72 | "Insert/edit note" : "Shift + F2", 73 | "Insert/edit comment" : "⌘ + Option + m", 74 | "Open comment discussion thread" : "⌘ + Option + Shift + a", 75 | "Enter current comment" : "holding Ctrl + ⌘, press e then c", 76 | "Move to next comment" : "holding Ctrl + ⌘, press n then c", 77 | "Move to previous comment" : "holding Ctrl + ⌘, press p then c", 78 | 79 | "File menu" : "Ctrl + Option + f", 80 | "Edit menu" : "Ctrl + Option + e", 81 | "View menu" : "Ctrl + Option + v", 82 | "Insert menu" : "Ctrl + Option + i", 83 | "Format menu" : "Ctrl + Option + o", 84 | "Data menu" : "Ctrl + Option + d", 85 | "Tools menu" : "Ctrl + Option + t", 86 | "Open insert menu" : "⌘ + Option + = (with cells selected)", 87 | "Open delete menu" : "⌘ + Option + - (with cells selected)", 88 | "Form menu" : "Ctrl + Option + m", 89 | "Add-ons menu" : "Ctrl + Option + n", 90 | "Help menu" : "Ctrl + Option + h", 91 | "Accessibility menu" : "Ctrl + Option + a", 92 | "Sheet menu (copy, delete, and other sheet actions)" : "Option + Shift + s", 93 | "Context menu" : "⌘ + Shift + \\", 94 | 95 | "Insert rows above" : "⌘ + Option + = (with rows selected) OR Ctrl + Option + i, then r", 96 | "Insert rows below" : "Ctrl + Option + i, then b", 97 | "Insert columns to the left" : "⌘ + Option + = (with columns selected) OR Ctrl + Option + i, then c", 98 | "Insert columns to the right" : "Ctrl + Option + i, then o", 99 | "Delete rows" : "⌘ + Option + - (with rows selected) OR Ctrl + Option + e, then d", 100 | "Delete columns" : "⌘ + Option + - (with columns selected) OR Ctrl + Option + e, then e", 101 | "Hide row" : "⌘ + Option + 9", 102 | "Hide column" : "⌘ + Option + 0", 103 | "Group rows or columns" : "Option + Shift + Right arrow", 104 | "Ungroup rows or columns" : "Option + Shift + Left arrow", 105 | "Expand grouped rows or columns" : "Option + Shift + Down arrow ", 106 | "Collapse grouped rows or columns" : "Option + Shift + Up arrow ", 107 | 108 | "Show all formulas" : "Ctrl + ~", 109 | "Insert array formula" : "⌘ + Shift + Enter", 110 | "Collapse an expanded array formula" : "⌘ + e", 111 | "Show/hide formula help (when entering a formula)" : "Shift + Fn + F1", 112 | "Full/compact formula help (when entering a formula)" : "Fn + F1", 113 | "Absolute/relative references (when entering a formula)" : "Fn + F4", 114 | "Toggle formula result previews (when entering a formula)" : "Fn + F9", 115 | "Resize formula bar (move up or down)" : "Ctrl + Option + Up and Ctrl + Option + Down", 116 | 117 | "Turn on screen reader support" : "⌘ + Option + z", 118 | "Read column" : "⌘ + Option + Shift + c", 119 | "Read row" : "⌘ + Option + Shift + r" 120 | } 121 | } -------------------------------------------------------------------------------- /src/apps/icons/Adobe Illustrator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Adobe Illustrator.png -------------------------------------------------------------------------------- /src/apps/icons/Adobe Photoshop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Adobe Photoshop.png -------------------------------------------------------------------------------- /src/apps/icons/Airmail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Airmail.png -------------------------------------------------------------------------------- /src/apps/icons/Alfred.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Alfred.png -------------------------------------------------------------------------------- /src/apps/icons/Asana.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Asana.png -------------------------------------------------------------------------------- /src/apps/icons/AutoMute Chrome extension.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/AutoMute Chrome extension.png -------------------------------------------------------------------------------- /src/apps/icons/Databricks.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Databricks.png -------------------------------------------------------------------------------- /src/apps/icons/Default Folder X.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Default Folder X.png -------------------------------------------------------------------------------- /src/apps/icons/Evernote.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Evernote.png -------------------------------------------------------------------------------- /src/apps/icons/Finder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Finder.png -------------------------------------------------------------------------------- /src/apps/icons/Firefox.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Firefox.png -------------------------------------------------------------------------------- /src/apps/icons/Forklift 3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Forklift 3.png -------------------------------------------------------------------------------- /src/apps/icons/Gmail.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Gmail.png -------------------------------------------------------------------------------- /src/apps/icons/Google Chrome.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Google Chrome.png -------------------------------------------------------------------------------- /src/apps/icons/Google Docs.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Google Docs.png -------------------------------------------------------------------------------- /src/apps/icons/Google Sheets.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Google Sheets.png -------------------------------------------------------------------------------- /src/apps/icons/Intellij IDEA (default).png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Intellij IDEA (default).png -------------------------------------------------------------------------------- /src/apps/icons/Jira.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Jira.png -------------------------------------------------------------------------------- /src/apps/icons/Mac OSX.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Mac OSX.png -------------------------------------------------------------------------------- /src/apps/icons/Microsoft Excel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Microsoft Excel.png -------------------------------------------------------------------------------- /src/apps/icons/Microsoft Word.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Microsoft Word.png -------------------------------------------------------------------------------- /src/apps/icons/Opera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Opera.png -------------------------------------------------------------------------------- /src/apps/icons/Outlook.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Outlook.png -------------------------------------------------------------------------------- /src/apps/icons/Pixelmator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Pixelmator.png -------------------------------------------------------------------------------- /src/apps/icons/Reddit Enhancement Suite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Reddit Enhancement Suite.png -------------------------------------------------------------------------------- /src/apps/icons/Safari.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Safari.png -------------------------------------------------------------------------------- /src/apps/icons/Sibelius G7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Sibelius G7.png -------------------------------------------------------------------------------- /src/apps/icons/Sketch.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Sketch.png -------------------------------------------------------------------------------- /src/apps/icons/Slack.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Slack.png -------------------------------------------------------------------------------- /src/apps/icons/Spotify.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Spotify.png -------------------------------------------------------------------------------- /src/apps/icons/Sublime Text.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Sublime Text.png -------------------------------------------------------------------------------- /src/apps/icons/Terminal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Terminal.png -------------------------------------------------------------------------------- /src/apps/icons/Things.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Things.png -------------------------------------------------------------------------------- /src/apps/icons/Video Speed Controller chrome extension.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Video Speed Controller chrome extension.png -------------------------------------------------------------------------------- /src/apps/icons/Vimeo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Vimeo.png -------------------------------------------------------------------------------- /src/apps/icons/Vintage Sublime.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Vintage Sublime.png -------------------------------------------------------------------------------- /src/apps/icons/Visual Studio Code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/Visual Studio Code.png -------------------------------------------------------------------------------- /src/apps/icons/XCode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/XCode.png -------------------------------------------------------------------------------- /src/apps/icons/github.com.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/github.com.png -------------------------------------------------------------------------------- /src/apps/icons/iTerm2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/iTerm2.png -------------------------------------------------------------------------------- /src/apps/icons/trello.com.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/trello.com.png -------------------------------------------------------------------------------- /src/apps/icons/vim.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/vim.png -------------------------------------------------------------------------------- /src/apps/icons/youtube.com.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/youtube.com.png -------------------------------------------------------------------------------- /src/apps/icons/zshell.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/apps/icons/zshell.png -------------------------------------------------------------------------------- /src/apps/intellij.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | # Intellij IDEA (default 10.5+) 3 | 4 | shortcuts= { #help > Keymap reference 5 | "Intellij IDEA (default)":{ 6 | "Editing - Basic code completion (the name of any class, method or variable)":"^Space", 7 | "Editing - Smart code completion (filters the list of methods and variables by expected type)":"^⇧Space", 8 | "Editing - Complete statement":"⌘⇧⏎", 9 | "Editing - Parameter info (within method call arguments)":"⌘P", 10 | "Editing - Quick documentation lookup":"^J or Mid.button click", 11 | "Editing - External Doc":"⇧F1", 12 | "Editing - Brief Info":"⌘ + mouse over code", 13 | "Editing - Show descriptions of error or warning at caret":"⌘F1", 14 | "Editing - Generate code... (Getters, Setters, Constructors, hashCode/equals, toString)":"⌘N or ^⏎ or ^N", 15 | "Editing - Override methods":"^O", 16 | "Editing - Implement methods":"^I", 17 | "Editing - Surround with... (if..else, try..catch, for, synchronized, etc.)":"⌘⌥T", 18 | "Editing - Comment/uncomment with line comment":"⌘/", 19 | "Editing - Comment/uncomment with block comment":"⌘⌥/", 20 | "Editing - Select successively increasing code blocks":"⌥↑", 21 | "Editing - Decrease current selection to previous state":"⌥↓", 22 | "Editing - Context info":"^⇧Q", 23 | "Editing - Show intention actions and quick- xes":"⌥⏎", 24 | "Editing - Reformat code":"⌘⌥L", 25 | "Editing - Optimize imports":"^⌥O", 26 | "Editing - Auto-indent line(s)":"^⌥I", 27 | "Editing - Indent/unindent selected lines":"Tab, ⇧Tab", 28 | "Editing - Cut current line or selected block to clipboard":"⌘X", 29 | "Editing - Copy current line or selected block to clipboard":"⌘C", 30 | "Editing - Paste from clipboard":"⌘V", 31 | "Editing - Paste from recent buffers...":"⌘⇧V", 32 | "Editing - Duplicate current line or selected block":"⌘D", 33 | "Editing - Delete line at caret":"⌘⌫", 34 | "Editing - Smart line join":"^⇧J", 35 | "Editing - Smart line split":"⌘⏎", 36 | "Editing - Start new line":"⇧⏎", 37 | "Editing - Toggle case for word at caret or selected block":"⌘⇧U", 38 | "Editing - Select till code block end/start":"⌘⇧], ⌘⇧[", 39 | "Editing - Delete to word end":"⌥⌦", 40 | "Editing - Delete to word start":"⌥⌫", 41 | "Editing - Expand/collapse code block":"⌘+, ⌘-", 42 | "Editing - Expand all":"⌘⇧+", 43 | "Editing - Collapse all":"⌘⇧-", 44 | "Editing - Close active editor tab":"⌘W", 45 | "Search/Replace - Search everywhere Find":"double⇧", 46 | "Search/Replace - Find next":"⌘G", 47 | "Search/Replace - Find previous":"⌘⇧G", 48 | "Replace":"⌘R", 49 | "Search/Replace - Find in path":"⌘⇧F", 50 | "Search/Replace - Replace in path":"⌘⇧R", 51 | "Search/Replace - Search structurally (Ultimate Edition only)":"⌘⇧S", 52 | "Search/Replace - Replace structurally (Ultimate Edition only)":"⌘⇧M", 53 | "Usage Search - Find usages / Find usages in file":"⌥F7/⌘F7", 54 | "Usage Search - Highlight usages in file":"⌘⇧F7", 55 | "Usage Search - Show usages":"⌘⌥F7", 56 | "Compile/Run - Make project (compile modifed and dependent)":"⌘F9", 57 | "Compile/Run - Compile selected file, package or module":"⌘⇧F9", 58 | "Compile/Run - Select confguration and run":"^⌥R", 59 | "Compile/Run - Select confguration and debug":"^⌥D", 60 | "Compile/Run - Run":"^R", 61 | "Compile/Run - Debug":"^D", 62 | "Compile/Run - Run context confguration from editor":"^⇧R or ^⇧D", 63 | "Debugging - Step over":"F8", 64 | "Debugging - Step into":"F7", 65 | "Debugging - Smart step into":"⇧F7", 66 | "Debugging - Step out":"⇧F8", 67 | "Debugging - Run to cursor":"⌥F9", 68 | "Debugging - Evaluate expression":"⌥F8", 69 | "Debugging - Resume program":"⌘⌥R", 70 | "Debugging - Toggle breakpoint":"⌘F8", 71 | "Debugging - View breakpoints":"⌘⇧F8", 72 | "Navigation - Go to class":"⌘O", 73 | "Navigation - Go to file":"⌘⇧O", 74 | "Navigation - Go to symbol":"⌘⌥O", 75 | "Navigation - Go to next/previous editor tab":"^←, ^→", 76 | "Navigation - Go back to previous tool window":"F12", 77 | "Navigation - Go to editor (from tool window)":"Esc", 78 | "Navigation - Hide active or last active window":"⇧Esc", 79 | "Navigation - Close active run/messages/find/... tab":"⌘⇧F4", 80 | "Navigation - Go to line":"⌘L", 81 | "Navigation - Recent files popup":"⌘E", 82 | "Navigation - Navigate back/forward":"⌘⌥←, ⌘⌥→", 83 | "Navigation - Navigate to last edit location":"⌘⇧⌫", 84 | "Navigation - Select current file or symbol in any view":"⌥F1", 85 | "Navigation - Go to declaration":"⌘B or ⌘Click", 86 | "Navigation - Go to implementation(s)":"⌘⌥B", 87 | "Navigation - Open quick definition lookup":"⌥Space, ⌘Y", 88 | "Navigation - Go to type declaration":"^⇧B", 89 | "Navigation - Go to super-method/super-class":"⌘U", 90 | "Navigation - Go to previous/next method":"^↑, ^↓", 91 | "Navigation - Move to code block end/start":"⌘], ⌘[", 92 | "Navigation - File structure popup":"⌘F12", 93 | "Navigation - Type hierarchy":"^H", 94 | "Navigation - Method hierarchy":"⌘⇧H", 95 | "Navigation - Call hierarchy":"^⌥H", 96 | "Navigation - Next/previous highlighted error":"F2, ⇧F2", 97 | "Navigation - Edit source / View source":"F4/⌘↓", 98 | "Navigation - Show navigation bar":"⌥Home", 99 | "Navigation - Toggle bookmark":"F3", 100 | "Navigation - Toggle bookmark with mnemonic":"⌥F3", 101 | "Navigation - Go to numbered bookmark":"^[NUM]", 102 | "Navigation - Show bookmarks":"⌘F3", 103 | "Refactoring - Copy":"F5", 104 | "Refactoring - Move":"F6", 105 | "Refactoring - Safe Delete":"⌘Delete", 106 | "Refactoring - Rename":"⇧F6", 107 | "Refactoring - Change Signature":"⌘F6", 108 | "Refactoring - Inline":"⌘⌥N", 109 | "Refactoring - Extract Method":"⌘⌥M", 110 | "Refactoring - Extract Variable":"⌘⌥V", 111 | "Refactoring - Extract Field":"⌘⌥F", 112 | "Refactoring - Extract Constant":"⌘⌥C", 113 | "Refactoring - Extract Parameter":"⌘⌥P", 114 | "VCS/Local History - Commit project to VCS":"⌘K", 115 | "VCS/Local History - Update project from VCS":"⌘T", 116 | "VCS/Local History - View recent changes":"⌥⇧C", 117 | "VCS/Local History - VCS quick popup":"^V", 118 | "Surround with Live Template":"⌘⌥J", 119 | "Insert Live Template":"⌘J", 120 | "General - Open corresponding tool window":"⌘[NUM]", 121 | "General - Save all":"⌘S", 122 | "General - Synchronize":"⌘⌥Y", 123 | "General - Toggle full screen mode":"^⌘F", 124 | "General - Toggle maximizing editor":"⌘⇧F12", 125 | "General - Add to Favorites":"⌥⇧F", 126 | "General - Inspect current file with current profile":"⌥⇧I", 127 | "General - Quick switch current scheme":"^§ or ^`", 128 | "General - Open Settings dialog":"⌘,", 129 | "General - Open Project Structure dialog":"⌘;", 130 | "General - Find Action":"⇧⌘A", 131 | "General - Switch between tabs and tool window":"^Tab" 132 | } 133 | } 134 | -------------------------------------------------------------------------------- /src/apps/iterm.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | 3 | shortcuts = { 4 | "iTerm2":{ 5 | #factory default key mappings in preferences 6 | #http://www.ifdattic.com/iterm-shortcut-keys/ 7 | "New Tab":"⌘T", 8 | "Previous Tab":"⌘←", 9 | "Next Tab":"⌘→", 10 | "Close Tab":"⌘w", 11 | "Move Tab Right":"⇧⌘→", 12 | "Move Tab Left":"⇧⌘←", 13 | "Split Vertically with Current Profile":"⌘D", 14 | "Split Horizontally with Current Profile":"⇧⌘D", 15 | "Next Pane":"⌘]", 16 | "Previous Pane":"⌘[", 17 | "Select Pane Above":"⌥⌘↑", 18 | "Select Pane Below":"⌥⌘↓", 19 | "Select Pane Left":"⌥⌘←", 20 | "Select Pane Right":"⌥⌘→", 21 | "Clear Window":"^L", 22 | "Clear buffer":"⌘K", 23 | "Scroll One Line Up":"⌘↑", 24 | "Scroll One Line Down":"⌘↓", 25 | "Find":"⌘F", 26 | "Make Text Bigger":"⌘+", 27 | "Make Text Normal Size":"⌘0", 28 | "Make Text Smaller":"⌘-", 29 | "Go Left One Word":"⌥←", 30 | "Go Right One Word":"⌥→", 31 | "Clear line":"^u", 32 | "Highlight cursour":"⌘/", 33 | "Scroll To Top":"⌘Home", 34 | "Scroll To End":"⌘End", 35 | "Scroll One Page Up":"⌘Page Up or ⇧Page Up", 36 | "Scroll One Page Down":"⌘Page Down or ⇧Page Down", 37 | } 38 | } -------------------------------------------------------------------------------- /src/apps/jira.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | 3 | shortcuts = { 4 | #https://confluence.atlassian.com/agile066/jira-agile-user-s-guide/using-keyboard-shortcuts#UsingKeyboardShortcuts-modifierkeys 5 | "Jira" : { 6 | "Go to Dashboard": "g then d", 7 | "Browse to a Project": "g then p", 8 | "Go to Agile": "g then a OR g then h", 9 | "Go to Issue Navigator": "g then i", 10 | "Opens the Administration Search dialog box.": "g then g", 11 | "Quick Search": "/", 12 | "Create an Issue": "c", 13 | "Open shortcut help": "?", 14 | "Dashboards drop-down menu": "Ctrl (+ alt for Safari) + d", 15 | "Projects drop-down menu": "Ctrl (+ alt for Safari) + p", 16 | "Issues drop-down menu": "Ctrl (+ alt for Safari) + i", 17 | "Agile drop-down menu": "Ctrl (+ alt for Safari) + g ", 18 | "Form Submit": "Ctrl (+ alt for Safari) + s ", 19 | "Cancel Form ": "Ctrl (+ alt for Safari) + `", 20 | "Next Issue": "j", 21 | "Previous Issue": "k", 22 | "Next Column": "n", 23 | "Previous Column": "p", 24 | "Expand/Collapse All Swimlanes ": "t", 25 | "View Issue": "o ", 26 | "Add a New Line": "Enter", 27 | "Submit changes": "Enter", 28 | "Cancel changes": "Esc ", 29 | "Assign to Me": "i", 30 | "Send to Top": "s + t", 31 | "Send to Bottom": "s + b ", 32 | "Edit Issue": "e", 33 | "Projector Mode": "z ", 34 | "View selected Issue": "o or Enter", 35 | "Next Issue": "j", 36 | "Previous Issue": "k", 37 | "Back to the Navigator": "u", 38 | "Hide/Show Left Section": "[", 39 | "Next Activity": "n", 40 | "Previous Activity": "p", 41 | "Focus search field": "f", 42 | "Escape field": "Esc", 43 | "Edit Issue": "e", 44 | "Assign Issue": "a", 45 | "Comment on Issue": "m", 46 | "Edit Issue Labels": "l", 47 | "Share Issue": "s", 48 | "Operations dialog box": "." 49 | } 50 | } -------------------------------------------------------------------------------- /src/apps/macosx.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | shortcuts = { 3 | "Mac OSX":{ 4 | #https://support.apple.com/en-us/HT201236 5 | "Create a new folder": "⇧⌘N", 6 | "Open preferences for the front app": "⌘,", 7 | "Cut": "⌘X", 8 | "Copy": "⌘C", 9 | "Paste": "⌘V", 10 | "Undo the previous command": "⌘Z", 11 | "Redo": "⇧⌘Z", 12 | "Select All items": "⌘A", 13 | "Find items in a document": "⌘F", 14 | "Open a Find window": "⌘F", 15 | "Find next": "⌘G", 16 | "Find previous": "⇧⌘G", 17 | "Hide the windows of the front app": "⌘H", 18 | "View the front app but hide all other apps": "⌥⌘H", 19 | "Minimize the front window to the Dock. ": "⌘M", 20 | "Minimize all windows of the front app": "⌥⌘M", 21 | "Open the selected item": "⌘O", 22 | "Open a dialog to select a file to open": "⌘O", 23 | "Print the current document": "⌘P", 24 | "Save the current document": "⌘S", 25 | "Open a new tab": "⌘T", 26 | "Close the front window": "⌘W", 27 | "To close all windows of the app": "⌥⌘W", 28 | "Force quit an app": "⌥⌘ Esc", 29 | "Show or hide the Spotlight search field": "⌘ Space bar", 30 | "Spotlight search from a Finder window": "⌘⌥ Space bar", 31 | "Show the Character Viewer (emojis)": "Ctrl ⌘ Space bar", 32 | "Use the app in full screen": "Ctrl ⌘F", 33 | "Use Quick Look to preview the selected item": "Space bar", 34 | "Switch to the next most recently used app among your open apps": "⌘Tab", 35 | "Take a screenshot or make a screen recording": "⇧⌘5", 36 | "Take a full screenshot": "⇧⌘3", 37 | "Take a partial screenshot": "⇧⌘4", 38 | "Turn on mac or wake it from sleep": "Power button", 39 | "Put Mac to sleep": "Press and hold Power Button for 1.5 seconds", 40 | "Force mac to turn off": "Press and hold power button", 41 | "Put your Mac to sleep": "⌥⌘ Power button or ⌥⌘ Mdia Eject", 42 | "Put your displays to sleep": "Ctrl Shift Power button or Ctrl Shift Media Eject", 43 | "Display a dialog asking to restart, sleep, or shut down": "Ctrl Power button or Ctrl Media Eject", 44 | "Force your Mac to restart": "Ctrl ⌘ Power button", 45 | "Quit all apps, then restart": "Ctrl ⌘ Mdia Eject", 46 | "Quit all apps, then shut down": "Ctrl ⌥⌘ Power button or Ctrl ⌥⌘ Media Eject", 47 | "Immediately lock your screen": "Ctrl ⌘Q", 48 | "Log out of your macOS user account": "⇧⌘Q", 49 | "Log out immediately": "⌥⇧⌘Q", 50 | "Duplicate the selected files": "⌘D", 51 | "Eject the selected disk or volume": "⌘E", 52 | "Start a Spotlight search in the Finder window": "⌘F", 53 | "Show the Get Info window for a selected file": "⌘I", 54 | "Open the Computer window": "⇧⌘C", 55 | "Open the desktop folder": "⇧⌘D", 56 | "Open the Recents window, showing all of the files you viewed or changed recently": "⇧⌘F", 57 | "Open a Go to Folder window": "⇧⌘G", 58 | "Open the Home folder of the current macOS user account": "⇧⌘H", 59 | "Open iCloud Drive": "⇧⌘I", 60 | "Open the Network window": "⇧⌘K", 61 | "Open the Downloads folder": "⌥⌘L", 62 | "Create a new folder": "⇧⌘N", 63 | "Open the Documents folder": "⇧⌘O", 64 | "Show or hide the Preview pane in Finder windows": "⇧⌘P", 65 | "Open the AirDrop window": "⇧⌘R", 66 | "Show or hide the tab bar in Finder windows. ": "⇧⌘T", 67 | "Add selected Finder item to the Dock (OS X Mavericks or later)": "Ctrl ⇧⌘T", 68 | "Open the Utilities folder": "⇧⌘U", 69 | "Show or hide the Dock. ": "⌥⌘D", 70 | "Add the selected item to the sidebar (OS X Mavericks or later)": "Ctrl ⌘T", 71 | "Hide or show the path bar in Finder windows": "⌥⌘P", 72 | "Hide or show the Sidebar in Finder windows": "⌥⌘S", 73 | "Hide or show the status bar in Finder windows": "⌘/", 74 | "Show View Options": "⌘J", 75 | "Open the Connect to Server window": "⌘K", 76 | "Make an alias of the selected item": "Ctrl ⌘A", 77 | "Open a new Finder window": "⌘N", 78 | "Create a new Smart Folder": "⌥⌘N", 79 | "Show or hide the tab bar when a single tab is open in the current Finder window": "⌘T", 80 | "Show or hide the toolbar when a single tab is open in the current Finder window": "⌥⌘T", 81 | "Move the files in the Clipboard from their original location to the current location": "⌥⌘V", 82 | "Use Quick Look to preview the selected files": "⌘Y", 83 | "View a Quick Look slideshow of the selected files": "⌥⌘Y", 84 | "View the items in the Finder window as icons": "⌘1", 85 | "View the items in a Finder window as a list": "⌘2", 86 | "View the items in a Finder window in columns. ": "⌘3", 87 | "View the items in a Finder window in a gallery": "⌘4", 88 | "Go to the previous folder": "⌘[", 89 | "Go to the next folder": "⌘]", 90 | "Open the folder that contains the current folder": "⌘↑", 91 | "Open the folder that contains the current folder in a new window": "⌘ Ctrl ↑", 92 | "Open the selected item": "⌘↓", 93 | "Open the selected folder": "→", 94 | "Close the selected folder": "←", 95 | "Move the selected item to the Trash": "⌘ Delete", 96 | "Empty the Trash": "⇧⌘ Delete", 97 | "Empty the Trash without confirmation dialog": "⌥⇧⌘ Delete", 98 | "Turn target display mode on or off": "⌘ Brightness Up", 99 | "Turn video mirroring on or off when your Mac is connected to more than one display": "⌘Brightness Down", 100 | "Open Displays preferences. This works with either Brightness key": "⌥Brightness Up", 101 | "Change the brightness of your external display": "Ctrl Brightness Up or Ctrl Brightness Down", 102 | "Adjust the display brightness in smaller steps": "⌥ Shift Brightness Up or ⌥ Shift Brightness Down", 103 | "Open Mission Control preferences": "⌥ Mission Control", 104 | "Show the desktop. ": "⌘ Mission Control", 105 | "Show all windows of the front app": "Ctrl ↓", 106 | "Open Sound preferences": "⌥ Volume Up", 107 | "Adjust the sound volume in smaller steps": "⌥ Shift Volume Up or ⌥ Shift Volume Down", 108 | "Open Keyboard preferences": "⌥ Keyboard Brightness Up", 109 | "Adjust the keyboard brightness in smaller steps": "⌥ Shift Keyboard Brightness Up or ⌥ Shift Keyboard Brightness Down", 110 | "Open the item in a separate window, then close the original window": "Option key while double-clicking", 111 | "Open a folder in a separate tab or window": "Command key while double-clicking", 112 | "Move the dragged item to the other volume, instead of copying it. ": "Command key while dragging to another volume", 113 | "Copy the dragged item": "Option key while dragging", 114 | "Make an alias of the dragged item": "⌥⌘ while dragging", 115 | "Open all folders within the selected folder": "⌥ click a disclosure triangle", 116 | "See the folders that contain the current folder": "⌘ click a window title", 117 | "Open Spotlight to start a search": "⌘Space bar", 118 | "Complete Spotlight search using the suggested result": "→", 119 | "Move to the next Spotlight result": "↓", 120 | "Move to the previous Spotlight result": "↑", 121 | "Move to the first Spotlight result in the next category": "⌘↓", 122 | "Move to the first Spotlight result in the previous category": "⌘↑", 123 | "Show the path of a Spotlight result (such as a file) on your Mac": "Command", 124 | "Zoom in on an image preview in Spotlight": "Ctrl (then move two fingers on the trackpad)", 125 | "Open the selected Spotlight result": "Return key", 126 | "Spotlight - See a file in an app or the Finder": "⌘R or ⌘ Double-click", 127 | "Open a Finder window with the Spotlight search field selected": "⌥⌘ Space bar" 128 | } 129 | } -------------------------------------------------------------------------------- /src/apps/microsoftExcel.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | shortcuts = { 3 | # https://support.office.com/en-us/article/keyboard-shortcuts-in-excel-1798d9d5-842a-42b8-9c99-9b7213f0040f?ui=en-US&rs=en-US&ad=US 4 | "Microsoft Excel": { 5 | "Create new workbook": "⌘N", 6 | "Open workbook": "⌘O", 7 | "Save workbook": "⌘S", 8 | "Save as": "⌘⇧S", 9 | "Print file": "⌘P", 10 | "Close current workbook": "⌘W", 11 | "Close Excel": "⌘Q", 12 | "Expand or collapse ribbon": "⌘⌥R", 13 | "Move to next ribbon control": "Tab", 14 | "Activate or open selected control": "Space", 15 | "Confirm control change": "Return", 16 | "Open help": "F1", 17 | "Undo last action": "⌘Z", 18 | "Redo last action": "⌘Y", 19 | "Copy selected cells": "⌘C", 20 | "Repeat last action": "⌘Y", 21 | "Cut selected cells": "⌘X", 22 | "Paste content from clipboard": "⌘V", 23 | "Display the Paste Special dialog box": "⌃⌘V", 24 | "Display find and replace": "⌘F", 25 | "Display find and replace, replace selected": "⌃H", 26 | "Find next match": "⌘G", 27 | "Find previous match": "⌘⇧G", 28 | "Create embedded chart": "Fn⌥F1", 29 | "Create chart in new worksheet": "FnF11", 30 | "Insert table": "⌃T", 31 | "Toggle Autofilter": "⌘⇧F", 32 | "Activate filter": "⌥↓", 33 | "Select table row": "⇧Space", 34 | "Select table column": "⌃Space", 35 | "Select table": "⌘A", 36 | "Clear slicer filter": "⌥C", 37 | "Toggle table total row": "⌘⇧T", 38 | "Drag and cut": "drag", 39 | "Drag and copy": "⌥drag", 40 | "Drag and insert": "⇧drag", 41 | "Drag and insert copy": "⌥⇧drag", 42 | "Drag to worksheet": "⌘drag", 43 | "Drag to duplicate worksheet": "⌥drag", 44 | "Move one cell right": "→", 45 | "Move one cell left": "←", 46 | "Move one cell up": "↑", 47 | "Move one cell down": "↓", 48 | "Move one screen right": "Fn⌥↓", 49 | "Move one screen left": "Fn⌥↑", 50 | "Move one screen up": "Fn↑", 51 | "Move one screen down": "Fn↓", 52 | "Move to right edge of data region": "⌃→", 53 | "Move to left edge of data region": "⌃←", 54 | "Move to top edge of data region": "⌃↑", 55 | "Move to bottom edge of data region": "⌃↓", 56 | "Move to beginning of row": "Fn←", 57 | "Move to last cell in worksheet": "Fn⌃→", 58 | "Move to first cell in worksheet": "Fn⌃←", 59 | "Turn End mode on": "Fn→", 60 | "Go back to hyperlink": "⌃GReturn", 61 | "Select entire row": "⇧Space", 62 | "Select entire column": "⌃Space", 63 | "⌃Space": "Select entire worksheet", 64 | "Select entire worksheet": "⌘A", 65 | "Add adjacent cells to selection": "⇧Click", 66 | "Add non-adjacent cells to selection": "⌘Click", 67 | "Same selection in next column": "⌥Tab", 68 | "Same selection in previous column": "⌥⇧Tab", 69 | "Move right between non-adjacent selections": "⌃⌥→", 70 | "Move left between non-adjacent selections": "⌃⌥←", 71 | "Toggle add to selection mode": "Fn⇧F8", 72 | "Cancel selection": "Esc", 73 | "Select active cell only": "⇧Delete", 74 | "Show the active cell on worksheet": "⌘Delete", 75 | "Move active cell clockwise in selection": "⌃.", 76 | "Move active cell down in selection": "Return", 77 | "Move active cell up in selection": "⇧Return", 78 | "Move active cell right in a selection": "Tab", 79 | "Move active cell left in a selection": "⇧Tab", 80 | "Extend selection by one cell right": "⇧→", 81 | "Extend selection by one cell left": "⇧←", 82 | "Extend selection by one cell up": "⇧↑", 83 | "Extend selection by one cell down": "⇧↓", 84 | "Extend the selection to the last cell right": "⌃⇧→", 85 | "Extend the selection to the last cell left": "⌃⇧←", 86 | "Extend the selection to the last cell up": "CtrlShift↑", 87 | "Extend the selection to the last cell down": "⌃⇧↓", 88 | "Extend selection up one screen": "Fn⇧↑", 89 | "Extend selection down one screen": "Fn⇧↓", 90 | "Extend selection right one screen": "Fn⇧⌘↓", 91 | "Extend selection left one screen": "Fn⇧⌘↑", 92 | "Extend selection to start of row": "Fn⇧←", 93 | "Extend selection to first cell in worksheet": "Fn⌃⇧←", 94 | "Extend selection to last cell in worksheet": "Fn⌃⇧→", 95 | "Toggle extend selection mode": "FnF8", 96 | "Display 'Go To' dialog box": "⌃G", 97 | "Select cells with comments": "Fn⌃⇧O", 98 | "Select current region around active cell": "⇧⌃Space", 99 | "Select current region": "⌘A", 100 | "Select current array": "⌃/", 101 | "Select row differences": "⌃\\", 102 | "Select column differences": "⌃⇧|", 103 | "Select direct precedents": "⌃[", 104 | "Select all precedents": "⌃⇧{", 105 | "Select direct dependents": "Ctrl]", 106 | "Select all dependents": "⌃⇧}", 107 | "Select visible cells only": "⌘⇧Z", 108 | "Edit the active cell": "⌃U", 109 | "Insert or edit comment": "Fn⇧F2", 110 | "Cancel entry": "Esc", 111 | "Select one character right": "⇧→", 112 | "Select one character left": "⇧←", 113 | "Move one word right": "⌃→", 114 | "Move one word left": "⌃←", 115 | "Select one word right": "⌃⇧→", 116 | "Select one word left": "⌃⇧←", 117 | "Select to beginning of cell": "Fn⇧←", 118 | "Select to end of cell": "Fn⇧→", 119 | "Delete to end of line": "⌃Delete", 120 | "Delete character to the left of cursor": "Delete", 121 | "Delete character to the right of cursor": "FnDelete", 122 | "Start a new line in the same cell": "⌃⌥Return", 123 | "Enter and move down": "Return", 124 | "Enter and move up": "⇧Return", 125 | "Enter and move right": "Tab", 126 | "Enter and move left": "⇧Tab", 127 | "Complete entry and stay in same cell": "⌃Return", 128 | "Enter same data in multiple cells": "⌃Return", 129 | "Insert current date": "⌃;", 130 | "Insert current time": "⌃⇧:", 131 | "Fill down from cell above": "⌃D", 132 | "Fill right from cell left": "⌃R", 133 | "Copy formula from cell above": "⌃'", 134 | "Copy value from cell above": "⌃⇧\"", 135 | "Add hyperlink": "⌘K", 136 | "Display AutoComplete list": "⌥↓", 137 | "Format (almost) anything": "⌘1", 138 | "Display Format Cells with Font tab selected": "⌃⇧F", 139 | "Apply or remove bold formatting": "⌘B", 140 | "Apply or remove italic formatting": "⌘I", 141 | "Apply or remove underscoring": "⌘U", 142 | "Apply or remove strikethrough formatting": "⌘⇧X", 143 | "Add or remove the shadow font style": "⌘⇧W", 144 | "Add or remove the outline font style": "⌘⇧D", 145 | "Align center": "⌘E", 146 | "Align left": "⌘L", 147 | "Align right": "⌘R", 148 | "Indent": "⌃⌥Tab", 149 | "Remove indent": "⌃⌥⇧Tab", 150 | "Increase font size one step": "⌘⇧>", 151 | "Decrease font size one step": "⌘⇧<", 152 | "Apply general format": "⌃⇧~", 153 | "Apply currency format": "⌃⇧$", 154 | "Apply percentage format": "⌃⇧%", 155 | "Apply scientific format": "⌃⇧^", 156 | "Apply date format": "⌃⇧#", 157 | "Apply time format": "⌃⇧@", 158 | "Apply number format": "⌃⇧!", 159 | "Add border outline": "⌘⌥0", 160 | "Add or remove border right": "⌘⌥→", 161 | "Add or remove border left": "⌘⌥←", 162 | "Add or remove border top": "⌘⌥↑", 163 | "Add or remove border bottom": "⌘⌥↓", 164 | "Remove borders": "⌘⌥_", 165 | "Toggle absolute and relative references": "⌘T", 166 | "Open the Insert Function Dialog Box": "Fn⇧F3", 167 | "Autosum selected cells": "⌘⇧T", 168 | "Toggle formulas on and off": "⌃`", 169 | "Insert function arguments": "⌃⇧A", 170 | "Enter array formula": "⌃⇧Return", 171 | "Calculate worksheets": "FnF9", 172 | "Calculate active worksheet": "Fn⇧F9", 173 | "Evaluate part of a formula": "FnF9", 174 | "Expand or collapse the formula bar": "⌃⇧U", 175 | "Display function arguments dialog box": "⌃A", 176 | "Define name": "Fn⌃F3", 177 | "Define name using row and column labels": "Fn⌃⇧F3", 178 | "Accept function with autocomplete": "↓Tab", 179 | "Display Insert Dialog box": "⌃I", 180 | "Insert rows": "⌃I", 181 | "Insert columns": "⌃I", 182 | "Display Delete dialog box": "⌃-", 183 | "Delete rows": "⌃-", 184 | "Delete columns": "⌃-", 185 | "Delete cells": "⌃-", 186 | "Delete contents of selected cells": "FnDelete", 187 | "Hide columns": "⌃0", 188 | "Hide rows": "⌃9", 189 | "Unhide rows": "⌃⇧9", 190 | "Unhide columns": "⌃⇧0", 191 | "Group rows or columns": "⌘⇧K", 192 | "Ungroup rows or columns": "⌘⇧J", 193 | "Open Group Dialog Box": "⌘⇧K", 194 | "Open Ungroup Dialog Box": "⌘⇧J", 195 | "Hide or show outline symbols": "⌃8", 196 | "Zoom in": "⌥⌘+", 197 | "Zoom out": "⌥⌘-", 198 | "Select entire pivot table": "⌘A", 199 | "Toggle pivot table field checkbox": "Space", 200 | "Group pivot table items": "⌘⇧K", 201 | "Ungroup pivot table items": "⌘⇧J", 202 | "Create pivot chart on new worksheet": "FnF11", 203 | "Open pivot table wizard": "⌘⌥P", 204 | "Insert new worksheet": "fn⇧F11", 205 | "Go to next worksheet": "Fn⌃↓", 206 | "Go to previous worksheet": "Fn⌃↑", 207 | "Move to next pane": "FnF6", 208 | "Move to previous pane": "Fn⇧F6", 209 | "Go to next workbook": "⌃Tab", 210 | "Go to previous workbook": "⌃⇧Tab", 211 | "Minimize current workbook window": "⌘M", 212 | "Maximize current workbook window": "fn⌃F10", 213 | "Select adjacent worksheets": "⇧Click", 214 | "Select non-adjacent worksheets": "⌘Click", 215 | "Toggle scroll lock": "Fn⇧F14", 216 | "Toggle full screen": "⌃⌘F", 217 | "Move to next control": "Tab", 218 | "Move to previous control": "⇧Tab", 219 | "Move to next tab": "⌃Tab", 220 | "Move to previous tab": "⌃⇧Tab", 221 | "Accept and apply": "Return", 222 | "Check and uncheck box": "Space", 223 | "Cancel and close the dialog box": "Esc", 224 | "Open Spelling dialog box": "FnF7", 225 | "Open Thesaurus dialog box": "Fn⇧F7", 226 | "Open Macro dialog box": "Fn⌥F8", 227 | "Open VBA Editor": "Fn⌥F11", 228 | "Duplicate object": "⌘D", 229 | "Snap to grid": "⌘", 230 | "Hide or show objects": "⌃6", 231 | "Display Modify Cell Style dialog box": "⌘⇧L", 232 | "Display right-click menu": "Fn⇧F10", 233 | "Delete comment": "fnShiftF10", 234 | "Display control menu": "?" 235 | } 236 | } 237 | -------------------------------------------------------------------------------- /src/apps/opera.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | shortcuts = { 3 | "Opera": { 4 | #https://help.opera.com/en/latest/shortcuts/ 5 | "Open Downloads page": "⌘J", 6 | "Open Extensions page": "⌘⇧E", 7 | "Open History page": "⌘⇧H", 8 | "Open local file": "⌘O", 9 | "Focus address bar": "⌘L", 10 | "Open Preferences (Settings) page": "⌘,", 11 | "Print current page": "⌘P", 12 | "Quit Opera": "⌘Q", 13 | "Save a page locally": "⌘S", 14 | "Find on page": "⌘F", 15 | "Find next": "⌘G", 16 | "Find previous": "⌘⇧G", 17 | "Cycle forward through page elements": "tab", 18 | "Cycle back through page elements": "SHIFT ⇧+tab", 19 | "Go forward one page": "⌘→", 20 | "Go back one page": "⌘←", 21 | "Go to bottom of page": "⌘↓", 22 | "Go to top of page": "⌘↑", 23 | "Page down": "SPACE", 24 | "Page up": "SHIFT ⇧+SPACE", 25 | "Reload the current page": "⌘R", 26 | "View current page source": "⌘U", 27 | "Close current tab": "⌘W", 28 | "Cycle forward through open tabs": "CTRL+tab", 29 | "Cycle back through open tabs": "SHIFT ⇧+CTRL+tab", 30 | "Cycle through open windows": "⌘`", 31 | "Minimize a window": "⌘M", 32 | "Open new tab": "⌘T", 33 | "Open new window": "⌘N", 34 | "Open new private window": "⌘SHIFT ⇧+N", 35 | "Reopen last closed tab": "⌘SHIFT ⇧+T", 36 | "Toggle tab menu": "CTRL+M", 37 | "View previous active tab": "CTRL+`", 38 | "Copy": "⌘C", 39 | "Cut": "⌘X", 40 | "Paste": "⌘V", 41 | "Select all": "⌘A", 42 | "Undo": "⌘Z", 43 | "Redo": "⌘SHIFT ⇧+Z", 44 | "Enter full-screen mode": "CTRL+SHIFT ⇧+F", 45 | "Zoom in": "⌘+", 46 | "Zoom out": "⌘-", 47 | "Reset zoom to 100%": "⌘0", 48 | "Cycle left through tabs": "1", 49 | "Cycle right through tabs": "2", 50 | "View previous tab": "CTRL+`", 51 | "Find on page": "/", 52 | "Go back one page": "Z", 53 | "Go forward one page": "X", 54 | "Zoom in": "+", 55 | "Zoom in more": "8", 56 | "Zoom out": "-", 57 | "Zoom out more": "7", 58 | "Reset zoom to 100%": "6" 59 | } 60 | } 61 | -------------------------------------------------------------------------------- /src/apps/outlook.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | shortcuts = { 3 | "Outlook":{ #https://support.office.com/en-us/article/Keyboard-shortcuts-for-Outlook-for-Mac-07ae68c8-b7af-4010-b225-324c04ac7335?ui=en-US&rs=en-US&ad=US 4 | "Archive message":"^e", 5 | "Previous message":"^[", 6 | "Next message":"^]", 7 | "Save an item":"⌘S", 8 | "Print an item":"⌘P", 9 | "Undo the last action":"⌘Z", 10 | "Redo the last action":"⌘Y", 11 | "Minimize the active window":"⌘M", 12 | "Create a new folder in the navigation pane":"⌘⇧N", 13 | "Create new email (in Mail view)":"⌘N", 14 | "Hide the reading pane or show it on the right":"⌘\\", 15 | "Hide the reading pane or show it below":"⇧ ⌘\\ )", 16 | "Move the selected item to a different folder":"⇧ ⌘M", 17 | "Copy the selected item to a different folder":"⇧ ⌘C", 18 | "Select all items in the item list, if the item list is the active pane":"⌘A", 19 | "Minimize or expand the ribbon":"⌘⌥R", 20 | "Hide Outlook":"⌘H", 21 | "Quit Outlook":"⌘Q", 22 | "Start dictation":"FnFn", 23 | "Insert emoji":"⌘^Space", 24 | "Go to Mail view":"⌘1", 25 | "Go to Calendar view":"⌘2", 26 | "Go to Contacts view":"⌘3", 27 | "Go to Tasks view":"⌘4", 28 | "Go to Notes view":"⌘5", 29 | "Open the Sync Status window or make it the active window":"⌘7", 30 | "Open the Sync Errors or make it the active window":"⌘8", 31 | "Open the Contacts Search window":"⌘0", 32 | "Open the Outlook Preferences dialog box":"⌘,", 33 | "Cycle forward through open windows":"⌘~", 34 | "Cycle back through open windows":"⇧ ⌘~", 35 | "Close the active window":"⌘W", 36 | "Open the selected item":"⌘O", 37 | "Move forward through controls in a window":"Tab", 38 | "Move back through controls in a window":"⇧Tab", 39 | "Search current folder":"⌥ ⌘F", 40 | "Do an advanced search in Outlook (add Item Contains filter for searching)":"⇧ ⌘F", 41 | "Find text within an item - search":"⌘F", 42 | "Find the next instance of the text you searched for in an item":"⌘G", 43 | "Find the previous instance of the text you searched for in an item":"⌘⇧G", 44 | "Create a new message":"⌘N", 45 | "Send the open message":"⌘Return", 46 | "Send all messages in the Outbox and receive all incoming messages":"⌘K", 47 | "Send all the messages in the Outbox":"⇧ ⌘K", 48 | "Save the open message and store it in the Drafts folder":"⌘S", 49 | "Add an attachment to the open message":"⌘E", 50 | "Open the Spelling and Grammar dialog box":"⌘:", 51 | "Check recipient names in the open messages":"^ ⌘C", 52 | "Reply to the sender of the message or, if the message is from a mailing list, reply to the mailing list":"⌘R", 53 | "Reply to all":"⇧+ ⌘R", 54 | "Forward the message":"⌘J", 55 | "Open the selected message in a separate window":"⌘O", 56 | "Clear the flag for the selected message":"⌥ ⌘'", 57 | "Mark the selected message as junk mail":"⌘⇧J", 58 | "Mark the selected message as not junk mail":"⌘⇧⌥J", 59 | "Display the previous message":"[", 60 | "Display the next message":"]", 61 | "Navigate to the previous pane in the Mail view":"⇧[", 62 | "Navigate to the next pane in the Mail view":"⇧]", 63 | "Move the selected message to a folder":"⇧ ⌘M", 64 | "Decrease the display size of text in an open message or in the reading pane":"⌘-", 65 | "Increase the display size of text in an open message or in the reading pane":"⌘+", 66 | "Scroll down to the next screen of text or, if you are at the end of a message, display the next message":"Spacebar", 67 | "Scroll up to the previous screen of text or, if you are at the beginning of a message, display the previous message":"⇧+ Spacebar", 68 | "Delete the selected message":"Delete", 69 | "Permanently delete the selected message":"⇧Delete", 70 | "Delete the current message, and, if the message window is open, close it":"⌘Delete", 71 | "Mark selected messages as read":"⌘T", 72 | "Mark selected messages as unread":"⇧ ⌘T", 73 | "Mark all messages in a folder as read":"⌥ ⌘T", 74 | "Open the Calendar window":"⌘2", 75 | "Create a new appointment":"⌘N", 76 | "Open the selected calendar event":"⌘O", 77 | "Delete the calendar event":"Delete", 78 | "Switch the view to include today":"⌘T", 79 | "In Day view, move to the previous day. In Week and Work Week views, move to the previous week. In Month view, move to the previous month.":"⌘←", 80 | "In Day view, move to the next day. In Week and Work Week views, move to the next week. In Month view, move to the next month.":"⌘→", 81 | "Navigate to the previous pane in the Calendar view":"⇧[", 82 | "Navigate to the next pane in the Calendar view":"⇧]", 83 | "Create a new contact":"⌘N", 84 | "Open the selected contact":"⌘O", 85 | "Delete the contact":"Delete", 86 | "Close the current open contact and open the previous contact":"[", 87 | "Close the current open contact and open the next contact":"]", 88 | "Navigate to the previous pane in the People view":"⇧+ [", 89 | "Navigate to the next pane in the People view":"⇧]", 90 | "Move to the Task window":"⌘4", 91 | "Create a new task":"⌘N", 92 | "Open the selected task":"⌘O", 93 | "Delete the task":"Delete", 94 | "Close the current open task and open the previous task in the Tasks list":"[", 95 | "Close the current open task and open the next task in the Tasks list":"]", 96 | "Navigate to the previous pane in the Tasks view":"⇧[", 97 | "Navigate to the next pane in the Tasks view":"⇧]", 98 | "Move to the Notes window":"⌘5", 99 | "Create a new note":"⌘N", 100 | "Open the selected note":"⌘O", 101 | "Delete the note":"Delete", 102 | "Close the current open note and open the previous note in the Notes list":"[", 103 | "Close the current open note and open the next note in the Notes list":"]", 104 | "Navigate to the previous pane in the Notes view":"⇧[", 105 | "Navigate to the next pane in the Notes view":"⇧]", 106 | "Send a note as an email":"⌘J", 107 | "Send a note as an HTML attachment to an email":"^ ⌘J [First place the focus on the note in the list of notes]", 108 | "Cut the selected text to the clipboard":"⌘X", 109 | "Copy a selection to the clipboard":"⌘C", 110 | "Paste a selection from the clipboard":"⌘V", 111 | "Paste a selection from the clipboard and match the destination style":"⇧⌥ ⌘V", 112 | "Make the selected text bold":"⌘B", 113 | "Make the selected text italic":"⌘I", 114 | "Underline the selected text":"⌘U", 115 | "Strike through the selected text":"⇧ ⌘X", 116 | "Insert a hyperlink":"^ ⌘K", 117 | "Move the cursor left one character":"←", 118 | "Move the cursor right one character":"→", 119 | "Move the cursor up one line":"↑", 120 | "Move the cursor down one line":"↓", 121 | "Move the cursor to the beginning of the current paragraph":"⌥↑", 122 | "Move the cursor to the end of the current paragraph":"⌥↓", 123 | "Move the cursor to the beginning of the current word":"⌥←", 124 | "Move the cursor to the end of the current word":"⌥→", 125 | "Decrease indent":"{", 126 | "Increase indent":"}", 127 | "Delete the character to the left of the cursor, or delete the selected text":"Delete", 128 | "Delete the character to the right side of the cursor, or delete the selected text":"Delete [If your keyboard doesn't have a Delete key, use FNDelete]", 129 | "Insert a tab stop":"Tab", 130 | "Move the cursor to the beginning of the line":"⌘←", 131 | "Move the cursor to the end of the line":"⌘→", 132 | "Move the cursor to the top of the message body":"⌘↑", 133 | "Move the cursor to the bottom of the message body":"⌘↓", 134 | "Move the cursor to the beginning of the selected text":"⌘Home", 135 | "Move the cursor to the end of the selected text":"⌘End", 136 | "Scroll up":"Page up", 137 | "Scroll down":"Page down", 138 | "Flag the selected item for follow up, with Today as Due Date":"^1", 139 | "Flag the selected item for follow up, with Tomorrow as Due Date":"^2", 140 | "Flag the selected item for follow up, with This Week as Due Date":"^3", 141 | "Flag the selected item for follow up, with Next Week as Due Date":"^4", 142 | "Flag the selected item for follow up, with No Due Date":"^5", 143 | "Flag the selected item for follow up, and add a custom Due Date":"^6", 144 | "Flag the selected item for follow up, and add a reminder":"^=", 145 | "Mark the selected item as Complete":"^0", 146 | "Clear the selected item's follow-up flag":"⌥⌘'" 147 | } 148 | } -------------------------------------------------------------------------------- /src/apps/pixelmator.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | 3 | # https://www.pixelmator.com/tutorials/resources/keyboard-shortcuts/ 4 | shortcuts = { 5 | "Pixelmator": { 6 | "Zoom in": "⌘ +", 7 | "Zoom out": "⌘ -", 8 | "Zoom to fit": "⌘0", 9 | "View actual size": "⌥⌘0 or ⌘1", 10 | "Select Zoom tool": "Z", 11 | "Zoom in with zoom tool": "Click", 12 | "Zoom out with zoom tool": "⌥click", 13 | "zoom in to area with zoom tool": "Drag over an area", 14 | "Scroll an image": "Press and hold the Space bar, then drag the image", 15 | "Style": "S", 16 | "Arrange": "V", 17 | "Free Selection": "L", 18 | "Rectangular Selection": "M", 19 | "Elliptical Selection": "Y", 20 | "Color Selection": "W", 21 | "Quick Selection": "Q", 22 | "Paint": "B", 23 | "Erase": "E", 24 | "Gradient Fill": "G", 25 | "Color Fill": "N", 26 | "Repair": "R", 27 | "Rectangle Shape": "U", 28 | "Pen": "P", 29 | "Type": "T", 30 | "Color Adjustments": "A", 31 | "Effects": "F", 32 | "Color Picker": "I", 33 | "Crop": "C", 34 | "Slice and Export for Web": "K or ⇧⌘E", 35 | "Create a new image": "⌘N", 36 | "Open an image from your Photos library": "⌥⌘N", 37 | "Open an image": "⌘O", 38 | "Save an image": "⌘S", 39 | "Duplicate an image": "⇧⌘S", 40 | "Save an existing image as a new image": "⌥⇧⌘S", 41 | "Export an image": "⌘E", 42 | "Undo last action": "⌘Z", 43 | "Redo last action": "⇧⌘Z", 44 | "Cut": "⌘X", 45 | "Copy": "⌘C", 46 | "Paste": "⌘V", 47 | "Paste and match style": "⌥⇧⌘V", 48 | "Inver the colors of an image layer": "⌘I", 49 | "Duplicate layer or selected area": "⇧⌘D or ⌘J", 50 | "Cut and paste selected area": "⇧⌘J", 51 | "Duplicate a layer and move it by a pixel": "⌥Arrow", 52 | "Duplicate a layer and move it by 10 pixels": "⌥⇧Arrow", 53 | "Change the size of the image": "⌥⌘I", 54 | "Use ML Super Resolution to increase the resolution of an image": "⌥⌘U", 55 | "Change the size of the image canvas": "⌥⌘C", 56 | "Change the color profile of the image": "⇧⌘K", 57 | "Create an empty new layer": "⇧⌘N", 58 | "Insert an image as a new layer": "⇧⌘V", 59 | "Replace an existing image layer with a new image": "⇧⌘R", 60 | "Delete selected layer(s)": "Backspace", 61 | "Select all layers": "⌥⌘A", 62 | "Merge selected layers": "⌥⌘E", 63 | "Merge all layers": "⌥⇧⌘E", 64 | "Group layers": "⌘G", 65 | "Ungroup layers": "⇧⌘G", 66 | "Lock or unlock layers": "Slash (/) key", 67 | "Hide or show layers": "⌥⌘, or Ctrl H", 68 | "Add a layer mask that hides all the contents of the layer": "⌥click Add Mask in the Layers sidebar shortcut menu", 69 | "Copy a layer mask": "⌥drag a layer mask from one layer to another", 70 | "Temporarily disable a layer mask": "⇧click a layer mask", 71 | "Create a clipping mask": "⌥⌘G or ⌥click between two layers in the Layers sidebar", 72 | "Select the next layer in the layer list": "⌥Right bracket (])", 73 | "Select the previous layer in the layer list": "⌥Left bracket ([)", 74 | "Select the top layer in the layer list": "⌥Period (.)", 75 | "Selecte the bottom layer in the layer list": "⌥,", 76 | "Bring selected layer(s) forward": "⌘Right Bracket (])", 77 | "Send selected layer(s) to the front": "⌥⌘Right Bracket (])", 78 | "Bring selected layer(s) backward": "⌘Left Bracket ([)", 79 | "Send selected layer(s) to the back": "⌥⌘Left Bracket ([)", 80 | "Move a layer while using any tool": "⌘drag the layer", 81 | "Cycle through blending modes": "⇧+ or ⇧-", 82 | "Set layer opacity": "Press a number key once or twice quickly in succession. Press the 0 key once for 100% and twice for 0%", 83 | "Temporarily view original layer without styles applied": "Hold O key", 84 | "Resize a layer": "Drag a layer handle", 85 | "Duplicate a layer": "⇧⌘D or ⌥drag", 86 | "Disable alignment guides while moving or resizing": "⌘drag", 87 | "Resize a layer from the center": "⌥drag a layer handle", 88 | "Constrain the aspect ratio when resizing a layer": "⇧drag a layer handle", 89 | "Constrain the aspect ratio when resizing a layer from the center": "⌥⇧drag a layer handle", 90 | "Open the shortcut menu for the selected layer": "Ctrl click the layer", 91 | "Rotate a layer": "⌘drag a layer handle", 92 | "Rotate a layer in 15º steps": "⇧⌘drag a layer handle", 93 | "Move a layer in a straight or diagonal line": "⇧drag a layer", 94 | "Turn on the Transform tool": "⌘T", 95 | "Skew the shape of a layer": "Drag a transform handle while pressing and holding the Shift and ⌘ keys", 96 | "Freely distort the shape of a layer": "Drag a transform handle while pressing and holding the ⌘ key", 97 | "Transform the perspective of a layer": "Drag a transform handle while pressing and holding the Option, Shift, and ⌘ keys", 98 | "Select the entire image": "⌘A", 99 | "Deselect an active selection": "⌘D", 100 | "Invert a selection": "⇧⌘I", 101 | "Load the outline of a layer as a selection": "⌥⌘L or ⌘click the thumbnail of a layer", 102 | "Turn on Refine Selection": "⌥⌘R", 103 | "Copy a selected area": "⌘C", 104 | "Cut a selected area": "⌘X", 105 | "Paste a selected area": "⌘V", 106 | "Duplicate a selected area": "⇧⌘D", 107 | "Constrain selection to a circle or a square": "Press and hold the Shift key after starting a selection", 108 | "Add to a selection": "Hold down the Shift key before starting to select", 109 | "Subtract from a selection": "Hold down the Option key before starting to select", 110 | "Intersect a selection": "Hold down the Shift and Option keys before starting to select", 111 | "Reset foreground and background colors to black and white": "D", 112 | "Switch between foreground and background color": "X", 113 | "Paint or erase a straight line": "Click to add the start of the line, then ⇧click the end of the line", 114 | "Paint or erase a vertical or horizontal line": "Press and hold the Shift key before starting to paint", 115 | "Open brush settings": "Double-click a brush", 116 | "Navigate through brushes": ", or Period (.)", 117 | "Increase or decrease brush size": "Right bracket (]) or Left bracket ([)", 118 | "Increase or decrease brush softness": "⇧Right bracket (]) or ⇧Left bracket ([)", 119 | "Constrain gradient angle to 15º intervals": "Press and hold the Shift key while painting a gradient", 120 | "Sample a color from your image as you paint": "Press and hold the Option key to activate the color picker, then ⌥click to sample a color", 121 | "Fill a layer with the foreground color": "⌘Backspace", 122 | "Fill layer with background color": "⌥Backspace", 123 | "Set the opacity of the Paint tool": "Press a number key once or twice quickly in succession. Press the 0 key for 100%, or 00 for 0%", 124 | "Cycle through blending modes": "⇧+ or ⇧-", 125 | "Choose the clone source": "⌥click", 126 | "Choose the Rectangle Shape tool": "U", 127 | "Unite a shape with the selected shape": "Press and hold the Shift key before starting to draw", 128 | "Subtract a shape from the selected shape": "Press and hold the Option key before starting to draw", 129 | "Intersect a shape with the selected shape": "Press and hold the Option and Shift keys before starting to draw", 130 | "Move a shape on the canvas while using any shape tool": "⌘drag a shape", 131 | "Select a different shape on the canvas while using any shape tool": "⌘click a shape", 132 | "Select multiple shapes on the canvas while using any shape tool": "Press and hold the Shift and ⌘ keys, then click or drag to select shapes ", 133 | "Move multiple shapes on the canvas while using any shape tool": "After selecting multiple shapes, press and hold the ⌘ key and drag the shapes", 134 | "Make a shape editable": "Return key", 135 | "Break apart the direction lines of a smooth anchor point": "⌥drag a direction point", 136 | "Rejoin the direction lines of a smooth anchor point": "⌥drag a direction point", 137 | "Select or deselect multiple anchor points": "⇧click an anchor point or ⇧drag to draw a selection over multiple anchor points", 138 | "Delete the selected anchor point(s)": "Backspace key", 139 | "Stop editing a shape": "Esc key", 140 | "Add a sharp point": "Click anywhere in the image", 141 | "Add a smooth point": "Drag anywhere in the image", 142 | "Delete the most recently added anchor point": "Backspace key", 143 | "Adjust the direction lines of a smooth anchor point after adding it": "⌘drag a direction line", 144 | "Break apart the direction lines of a smooth anchor point while adding it": "Press and hold the Option key while dragging to add an anchor point", 145 | "Break apart the direction lines of a smooth anchor point after adding it": "⌥drag a direction point", 146 | "Finish drawing a path and close it": "Return key", 147 | "Finish drawing a path and leave it open": "Esc key", 148 | "Automatically enhance the colors of an image (ML Enhance)": "⇧⌘M", 149 | "Automatically remove camera noise and image compression artifacts (ML Denoise)": "Ctrl ⇧D", 150 | "Apply the Hue & Saturation adjustment": "⌘U", 151 | "Apply the Color Balance adjustment": "⌘B", 152 | "Apply the Levels adjustment": "⌘L", 153 | "Apply the Curves adjustment": "⌘K", 154 | "Temporarily view the original layer without adjustments": "Hold O key", 155 | "Apply the Color Fill effect": "⌥⌘F", 156 | "Temporarily view original layer without effects": "Hold O key", 157 | "Open Pixelmator Pro preferences": "⌘,", 158 | "Show or hide the document info window": "⇧⌥⌘I", 159 | "Show or hide the Info bar": "⌘/", 160 | "Hide or show the toolbar": "⌥⌘T", 161 | "Hide or show the Tools sidebar": "⌥T", 162 | "Show or hide the Layers sidebar": "⌥L", 163 | "Set the Layers sidebar to use List view": "⌥⇧L", 164 | "Set the Layers sidebar to use the Thumbnail view": "Ctrl ⇧L", 165 | "Show or hide alignment guides": "⌥⌘;", 166 | "Show or hide the rulers": "⌘R", 167 | "Show or hide the grid": "⌥⌘‘", 168 | "Show or hide the Colors window": "⇧⌘C", 169 | "Turn Soft Proof Colors on or off": "⌘Y", 170 | "Enter or exit fullscreen": "Ctrl ⌘F", 171 | "Close the active window": "⌘W", 172 | "Close all windows": "⌥⌘W", 173 | "Open the next tab": "Ctrl Tab", 174 | "Open the previous tab": "Ctrl ⇧Tab", 175 | "Show or hide the tab bar": "⇧⌘T", 176 | "View all open tabs": "⇧⌘\\", 177 | "Cycle through windows": "⌘`", 178 | "Minimize the active window": "⌘M", 179 | "Minimize all windows": "⌥⌘M", 180 | "Hide Pixelmator Pro": "⌘H", 181 | "Hide other app windows": "⌥⌘H", 182 | "Print": "⌘P", 183 | "Quit Pixelmator Pro": "⌘Q" 184 | } 185 | } 186 | -------------------------------------------------------------------------------- /src/apps/safari.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | shortcuts = { 3 | "Safari":{ 4 | #https://support.apple.com/en-jo/guide/safari/keyboard-and-other-shortcuts-cpsh003 5 | #https://www.lifewire.com/keyboard-shortcuts-for-safari-in-mac-446554 6 | #https://support.apple.com/en-jo/guide/safari-developer/keyboard-shortcuts-reference-dev654e5967f 7 | "Scroll up, down, left, or right":"↑↓→←", 8 | "Scroll in larger increments":"⌥↑ ⌥↓ ⌥→ ⌥←", 9 | "Scroll down a screen":"Page Down or Space", 10 | "Scroll up a screen":"Page Up or ⇧Space", 11 | "Scroll to the top-left corner of the page":"⌘↑ or Home", 12 | "Scroll to the bottom-left corner of the page":"⌘↓ or End", 13 | "Highlight the next item on a webpage":"Tab", 14 | "Highlight the same items as Tab plus all other clickable items":"⌥Tab", 15 | "Show all tabs":"⇧⌘\\", 16 | "Open a page in a new tab":"⌘click a link ", 17 | "Open a bookmark in a new tab":"⌘click a bookmark ", 18 | "Open a page in a new tab in Smart Search field":"⌘⏎ after typing", 19 | "Open a page in a new tab, and make that tab the active tab":"⇧⌘click a link", 20 | "Open a bookmark in a new tab, and make that tab the active tab":"⇧⌘click a bookmark", 21 | "Open a page in a new tabn Smart Search field, and make that tab the active tab":"⇧⌘⏎ after typing in the Smart Search field", 22 | "Make the next tab the active tab":"^Tab or ⇧⌘]", 23 | "Make the previous tab the active tab":"^⇧Tab or ⇧⌘[", 24 | "Select one of your first nine tabs":"⌘1 to ⌘9", 25 | "Close all tabs except for one":"⌥click the close button on the tab you want to leave open", 26 | "Reopen the last tab or window you closed":"⇧⌘T", 27 | "See a list of your recently visited pages by name":"Hold down the Back or Forward button until the list appears", 28 | "See a list of your recently visited pages by web address (URL)":"⌥hold down the Back or Forward button until the list appears", 29 | "Go to your homepage":"⌘Home", 30 | "While typing in the Smart Search field, restore the current webpage address":"Esc", 31 | "Close Reader":"Esc", 32 | "Exit full-screen view":"Esc", 33 | "Download a linked file":"⌥click a link to the file", 34 | "Open a downloaded file":"Double-click the file in the downloads list", 35 | "Zoom website content":"⌘+ or ⌘-", 36 | "Zoom website text":"Press ⌥ while you choose View > Make Text Bigger or View > Make Text Smaller", 37 | "Show or Hide the Reading List sidebar":"^⌘2", 38 | "Add the current page":"⇧⌘D", 39 | "Add a linked page":"⇧click a link to the page", 40 | "Remove a page":"^click the page summary in the sidebar, then choose Remove Item", 41 | "Add a bookmark to the Favorites bar":"Click the Smart Search field to show the page’s full address and its icon, then drag the icon to the Favorites bar", 42 | "Open all bookmarks from a folder in the Favorites bar":"⌘click the folder in the Favorites bar", 43 | "Move a bookmark on the Favorites bar":"Drag the bookmark left or right", 44 | "Remove a bookmark from the Favorites bar":"Drag the bookmark off the top of the bar", 45 | "Show or Hide the Bookmarks sidebar":"^⌘1", 46 | "Select bookmarks and folders in the sidebar":"⌘click each bookmark and folder", 47 | "Extend selection of bookmarks and folders in the sidebar":"⇧click", 48 | "Select the next bookmark or folder":"Up Arrow or Down Arrow", 49 | "Open the selected bookmark":"Space", 50 | "Open the selected folder":"Space or →", 51 | "Close the selected folder":"Space or ←", 52 | "Change the name or address of a bookmark":"Select the bookmark, then press ⏎", 53 | "Cancel editing a bookmark name in the sidebar":"Esc", 54 | "Finish editing a bookmark name":"⏎", 55 | "Create a folder containing the selected bookmarks and folders in bookmarks view":"⌥click the New Folder button near the top-right corner", 56 | "Delete a bookmark":"Select the bookmark, then press Delete", 57 | "Go back":"⌘[ ", 58 | "Go forward":"⌘] ", 59 | "Download a file":"⌥Click on link on a web page ", 60 | "Select all":"⌘A", 61 | "Show/Hide Favorites":"⌘⇧B ", 62 | "Copy":"⌘C ", 63 | "Add a Bookmark":"⌘D ", 64 | "Find":"⌘F ", 65 | "Hide Safari":"⌘H ", 66 | "Advance to selection":"⌘J ", 67 | "Open location":"⌘L ", 68 | "Minimize":"⌘M ", 69 | "Open new window":"⌘N ", 70 | "Open file":"⌘O ", 71 | "Print":"⌘P ", 72 | "Quit Safari":"⌘Q ", 73 | "Reload page":"⌘R ", 74 | "Save As":"⌘S ", 75 | "Open a new tab":"⌘T ", 76 | "Paste":"⌘V ", 77 | "Close":"⌘W ", 78 | "Undo":"⌘Z ", 79 | "Add To Reading List":"⌘⇧D ", 80 | "Redo":"⌘⇧Z ", 81 | "Resources":"⌘⌥A ", 82 | "Show all Bookmarks":"⌘⌥B ", 83 | "Google Search":"⌘⌥F ", 84 | "Downloads":"⌘⌥L ", 85 | "Load Safari Help":"⌘? ", 86 | "Load Preferences":"⌘, ", 87 | "Local search within the currently selected resource in the tab":"⌘F", 88 | "Select next in Web Inspector. Make sure Web Inspector is undocked for this feature to work":"⇧⌘] or ^Tab", 89 | "Select previous tab in Web Inspector. Make sure Web Inspector is undocked for this feature to work":"⇧⌘[ or ^⇧Tab", 90 | "Find Next":"⌘G", 91 | "Find Previous":"⌘⇧G", 92 | "Puts the selected text in the system search pasteboard, which is used by the Find dialog as the default search text":"⌘E", 93 | "Brings up the “Go To Line Number” dialog":"^G (in text editor)", 94 | "Brings up the Quick Open dialog, a feature that allows you to quickly search for a file in Web Inspector":"⌘⇧O", 95 | "Zoom-in, makes Web Inspector’s interface larger":"⌘+", 96 | "Zoom-out, makes Web Inspector’s interface smaller":"⌘ -", 97 | "Open Settings":"⌘ ,", 98 | "Reset changes to Web Inspector’s interface size":"⌘0", 99 | "Save all console messages to a text file in the Console tab. Save current web content into a .webarchive file in the Elements tab. When showing a resource, it saves the resource to disk":"⌘S", 100 | "Forces the Save As… dialog":"⇧⌘S", 101 | "Toggle between previous Web Inspector position, detached and docked":"⇧⌘D", 102 | "Shifts focus to the search bar":"⇧⌘F", 103 | "Enter element selection mode":"⇧⌘C", 104 | "Focus the Split Console at the bottom of the tabs. Click again to enlarge the console":"Esc", 105 | "Focus on the console prompt. Unlike Esc, it does the same thing regardless of the context":"^~", 106 | "Show/Close Web Inspector":"⌘⌥I", 107 | "Show Error Console":"⌘⌥C", 108 | "Start Profiling JavaScript":"⇧⌘⌥P", 109 | "Next Console Suggestion":"Tab", 110 | "Previous Console Suggestion":"⇧Tab", 111 | "Accept Console Suggestion":"→", 112 | "Previous Command/Line in Console":"↑", 113 | "Next Command/Line in Console":"↓", 114 | "Clear Console History (when in Console tab)":"⌘K", 115 | "Clear Network Items (when in Network tab)":"⌘K", 116 | "Execute Console Command in Console tab. Edit attribute in Elements Panel when element is selected":"⏎", 117 | "Continue in Debugger":"⌘/", 118 | "Step Over in Debugger":"⌘’", 119 | "Step Into in Debugger":"⌘;", 120 | "Step Out in Debugger":"⇧⌘;", 121 | "Show/hide status bar":"⌘/", 122 | "Show/hide sidebar":"⌘⇧L", 123 | "Enter full-screen":"⌘^f", 124 | "Open profiles":"⌘O", 125 | "Show toolbelt":"⌘⇧B", 126 | "Save work arrangement":"⌘⇧S", 127 | "Password manager":"⌘⌥F", 128 | "Expose All Tabs":"⌘⌥E", 129 | "Move tab right":"⌘⇧⌥]", 130 | "Move tab left":"⌘⇧⌥[", 131 | "Empty Caches":"⌘⌥E", 132 | "Go to home page":"⌘⇧H", 133 | "Show history":"⌘Y", 134 | "Autofill form":"⌘⇧A", 135 | "Toggle page source":"⌘⇧U", 136 | "Toggle web insepector":"⌘⇧I", 137 | "Toggle JavaScript console":"⌘⇧C", 138 | "Start/stop time line recording":"⌘⇧⌥T", 139 | "Start/stop element selction":"⌘⇧C" 140 | } 141 | } -------------------------------------------------------------------------------- /src/apps/sibelius.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | 3 | shortcuts = { 4 | "Sibelius G7":{ #http://www.sibelius.com/helpcenter/hintsandtips/G7Hints&Tips_Shortcuts.pdf 5 | "take G7 out of note entry or text entry": "Esc", 6 | "stop playback": "Esc", 7 | "select something (note, measure, text etc)": "Single-click", 8 | "on a staff selects the whole line of music": "Double-click", 9 | "on a staff selects a staff for the whole score": "Triple-click", 10 | "respells enharmonically (if a note is selected)": "Enter (Return)", 11 | "edits text (if text is selected)": "Enter", 12 | "forces a system break (if a barline is selected)": "Enter", 13 | "the note A (Shift + A to add an A to an existing selected note)": "A", 14 | "the note B (Shift + B to add a B to an existing selected note)": "B", 15 | "the note C (Shift + C to add a C to an existing selected note)": "C", 16 | "the note D (Shift + D to add a D to an existing selected note)": "D", 17 | "the note E (Shift + E to add an E to an existing selected note)": "E", 18 | "the note F (Shift + F to add an F to an existing selected note)": "F", 19 | "the note G (Shift + G to add a G to an existing selected note)": "G", 20 | "crescendo (Shift + H for a decrescendo)": "H", 21 | "instruments window": "I", 22 | "key signatures": "K", 23 | "lines menu (includes trills, first/second endings, rits, accels)": "L", 24 | "input note or input into tab staff": "N", 25 | "stops playback": "O", 26 | "play your music": "P", 27 | "clefs": "Q", 28 | "repeat something selected": "R", 29 | "slurs – use space bar to extend them": "S", 30 | "time signature": "T", 31 | "flips stems, slurs, ties and articulations": "X", 32 | "symbols window": "Z", 33 | "sixteenth note": "2 on numeric keypad", 34 | "eighth note value": "3 on numeric keypad", 35 | "quarter note value": "4 on numeric keypad", 36 | "half note value": "5 on numeric keypad", 37 | "whole note value": "6 on numeric keypad", 38 | "adds a natural to a selected note": "7 on numeric keypad", 39 | "adds a sharp to a selected note": "8 on numeric keypad", 40 | "adds a flat to a selected note": "9 on numeric keypad", 41 | "add unison to selected note": "1 on main qwerty keyboard", 42 | "add second above selected note": "2 on main qwerty keyboard", 43 | "add third above selected note": "3 on main qwerty keyboard", 44 | "add fourth above selected note": "4 on main qwerty keyboard", 45 | "add fifth above selected note": "5 on main qwerty keyboard", 46 | "add sixth above selected note": "6 on main qwerty keyboard", 47 | "add seventh above selected note": "7 on main qwerty keyboard", 48 | "add octave above selected note": "8 on main qwerty keyboard", 49 | "add second below selected note": "Shift +2 on main qwerty keyboard", 50 | "add third below selected note": "Shift +3 on main qwerty keyboard", 51 | "add fourth below selected note": "Shift +4 on main qwerty keyboard", 52 | "add fifth below selected note": "Shift +5 on main qwerty keyboard", 53 | "add sixth below selected note": "Shift +6 on main qwerty keyboard", 54 | "add seventh below selected note": "Shift +7 on main qwerty keyboard", 55 | "add octave below selected note": "Shift +8 on main qwerty keyboard", 56 | "chord diagram or guitar frame": "Shift +K", 57 | "toggles on/off Live Playback": "Shift +L", 58 | "transpose notes or key": "Shift +T", 59 | "copies whatever is selected": "⌥ + click", 60 | "select or change voices 1,2,3 and 4": "⌥+ 1,2,3,4 (main qwerty keyboard)", 61 | "select all": "⌘ + A", 62 | "add a bar to the end of score": "⌘ + B", 63 | "copy to clipboard": "⌘ + C", 64 | "add a dynamic to a selected note": "⌘ + E", 65 | "add chord symbol above a selected note": "⌘ + K", 66 | "add lyrics to a selected note": "⌘ + L", 67 | "start a new score": "⌘ + N", 68 | "open an existing score": "⌘ + O", 69 | "print": "⌘ + P", 70 | "quit G7": "⌘ + Q", 71 | "save": "⌘ + S", 72 | "add text to a selected note": "⌘ + T", 73 | "paste – good for copying between files": "⌘ + V", 74 | "close your score": "⌘ + W", 75 | "redo last action (if you’ve undone it)": "⌘ + Y", 76 | "undo last action (press multiple times to undo lots!)": "⌘ + Z", 77 | "toggles on/off the Fretboard": "⌘ + ⌥ + F", 78 | "toggles on/off the Keypad": "⌘ + ⌥ + K", 79 | "toggles on/off the Mixer": "⌘ + ⌥ + M", 80 | "toggles on/off the Navigator": "⌘ + ⌥ + N", 81 | "toggles on/off the Properties box": "⌘ + ⌥ + P", 82 | "add tempo or metronome mark": "⌘ + ⌥ + T", 83 | "select whole line of lyrics or chord symbols (if one word or chord symbol is already selected)": "⌘ + Shift A", 84 | "add a bar after what is currently selected": "⌘ + Shift B", 85 | "record in Flexi-time (Esc key or O to stop)": "⌘ + Shift F", 86 | "hide whatever is selected": "⌘ + Shift H", 87 | "reset note spacing for selected notes or score": "⌘ + Shift N", 88 | "Flexi-time (recording) options": "⌘ + Shift O", 89 | "show hidden object (opposite of hide)": "⌘ + Shift S", 90 | "extract parts": "⌘ + Shift X", 91 | "key zoom in": "⌘ and +", 92 | "key zoom out": "⌘ and –", 93 | "moves a selected note up in pitch, moves selected text up, and moves input curser up in a tab staff": "↑", 94 | "moves a selected note down in pitch, moves selected text down, and moves input curser down in a tab staff": "↓", 95 | "moves selected note(s) up an octave": "⌘ + ↑", 96 | "moves selected note(s) down an octave": "⌘ + ↓", 97 | "moves to previous note or rest": "←", 98 | "moves to next note or rest": "→", 99 | "go into create mode (note inputting) or input rest of selected value": "Spacebar", 100 | "select the first measure rest in a score": "Tab", 101 | "takes you back a page": "Home", 102 | "takes you forward a page": "End", 103 | "takes you up the page": "Page Up", 104 | "takes you down the page": "Page Down", 105 | "moves a selected note to the right or expands a selected bar": "Shift + ⌥ + →", 106 | "moves a selected note to the left or contracts a selected bar": "Shift + ⌥ + ←", 107 | "moves an individual staff up": "Shift + ⌥ + ↑", 108 | "moves an individual staff down": "Shift + ⌥ + ↓", 109 | "moves staff and rest of score down": "⌘ + ⌥ + + ↓" 110 | } 111 | } -------------------------------------------------------------------------------- /src/apps/sibeliusG7.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | 3 | shortcuts = { 4 | "Sibelius G7":{ #http://www.sibelius.com/helpcenter/hintsandtips/G7Hints&Tips_Shortcuts.pdf 5 | "take G7 out of note entry or text entry": "Esc", 6 | "stop playback": "Esc", 7 | "select something (note, measure, text etc)": "Single-click", 8 | "on a staff selects the whole line of music": "Double-click", 9 | "on a staff selects a staff for the whole score": "Triple-click", 10 | "respells enharmonically (if a note is selected)": "Enter (Return)", 11 | "edits text (if text is selected)": "Enter", 12 | "forces a system break (if a barline is selected)": "Enter", 13 | "the note A (Shift + A to add an A to an existing selected note)": "A", 14 | "the note B (Shift + B to add a B to an existing selected note)": "B", 15 | "the note C (Shift + C to add a C to an existing selected note)": "C", 16 | "the note D (Shift + D to add a D to an existing selected note)": "D", 17 | "the note E (Shift + E to add an E to an existing selected note)": "E", 18 | "the note F (Shift + F to add an F to an existing selected note)": "F", 19 | "the note G (Shift + G to add a G to an existing selected note)": "G", 20 | "crescendo (Shift + H for a decrescendo)": "H", 21 | "instruments window": "I", 22 | "key signatures": "K", 23 | "lines menu (includes trills, first/second endings, rits, accels)": "L", 24 | "input note or input into tab staff": "N", 25 | "stops playback": "O", 26 | "play your music": "P", 27 | "clefs": "Q", 28 | "repeat something selected": "R", 29 | "slurs – use space bar to extend them": "S", 30 | "time signature": "T", 31 | "flips stems, slurs, ties and articulations": "X", 32 | "symbols window": "Z", 33 | "sixteenth note": "2 on numeric keypad", 34 | "eighth note value": "3 on numeric keypad", 35 | "quarter note value": "4 on numeric keypad", 36 | "half note value": "5 on numeric keypad", 37 | "whole note value": "6 on numeric keypad", 38 | "adds a natural to a selected note": "7 on numeric keypad", 39 | "adds a sharp to a selected note": "8 on numeric keypad", 40 | "adds a flat to a selected note": "9 on numeric keypad", 41 | "add unison to selected note": "1 on main qwerty keyboard", 42 | "add second above selected note": "2 on main qwerty keyboard", 43 | "add third above selected note": "3 on main qwerty keyboard", 44 | "add fourth above selected note": "4 on main qwerty keyboard", 45 | "add fifth above selected note": "5 on main qwerty keyboard", 46 | "add sixth above selected note": "6 on main qwerty keyboard", 47 | "add seventh above selected note": "7 on main qwerty keyboard", 48 | "add octave above selected note": "8 on main qwerty keyboard", 49 | "add second below selected note": "Shift +2 on main qwerty keyboard", 50 | "add third below selected note": "Shift +3 on main qwerty keyboard", 51 | "add fourth below selected note": "Shift +4 on main qwerty keyboard", 52 | "add fifth below selected note": "Shift +5 on main qwerty keyboard", 53 | "add sixth below selected note": "Shift +6 on main qwerty keyboard", 54 | "add seventh below selected note": "Shift +7 on main qwerty keyboard", 55 | "add octave below selected note": "Shift +8 on main qwerty keyboard", 56 | "chord diagram or guitar frame": "Shift +K", 57 | "toggles on/off Live Playback": "Shift +L", 58 | "transpose notes or key": "Shift +T", 59 | "copies whatever is selected": "⌥ + click", 60 | "select or change voices 1,2,3 and 4": "⌥+ 1,2,3,4 (main qwerty keyboard)", 61 | "select all": "⌘ + A", 62 | "add a bar to the end of score": "⌘ + B", 63 | "copy to clipboard": "⌘ + C", 64 | "add a dynamic to a selected note": "⌘ + E", 65 | "add chord symbol above a selected note": "⌘ + K", 66 | "add lyrics to a selected note": "⌘ + L", 67 | "start a new score": "⌘ + N", 68 | "open an existing score": "⌘ + O", 69 | "print": "⌘ + P", 70 | "quit G7": "⌘ + Q", 71 | "save": "⌘ + S", 72 | "add text to a selected note": "⌘ + T", 73 | "paste – good for copying between files": "⌘ + V", 74 | "close your score": "⌘ + W", 75 | "redo last action (if you’ve undone it)": "⌘ + Y", 76 | "undo last action (press multiple times to undo lots!)": "⌘ + Z", 77 | "toggles on/off the Fretboard": "⌘ + ⌥ + F", 78 | "toggles on/off the Keypad": "⌘ + ⌥ + K", 79 | "toggles on/off the Mixer": "⌘ + ⌥ + M", 80 | "toggles on/off the Navigator": "⌘ + ⌥ + N", 81 | "toggles on/off the Properties box": "⌘ + ⌥ + P", 82 | "add tempo or metronome mark": "⌘ + ⌥ + T", 83 | "select whole line of lyrics or chord symbols (if one word or chord symbol is already selected)": "⌘ + Shift A", 84 | "add a bar after what is currently selected": "⌘ + Shift B", 85 | "record in Flexi-time (Esc key or O to stop)": "⌘ + Shift F", 86 | "hide whatever is selected": "⌘ + Shift H", 87 | "reset note spacing for selected notes or score": "⌘ + Shift N", 88 | "Flexi-time (recording) options": "⌘ + Shift O", 89 | "show hidden object (opposite of hide)": "⌘ + Shift S", 90 | "extract parts": "⌘ + Shift X", 91 | "key zoom in": "⌘ and +", 92 | "key zoom out": "⌘ and –", 93 | "moves a selected note up in pitch, moves selected text up, and moves input curser up in a tab staff": "↑", 94 | "moves a selected note down in pitch, moves selected text down, and moves input curser down in a tab staff": "↓", 95 | "moves selected note(s) up an octave": "⌘ + ↑", 96 | "moves selected note(s) down an octave": "⌘ + ↓", 97 | "moves to previous note or rest": "←", 98 | "moves to next note or rest": "→", 99 | "go into create mode (note inputting) or input rest of selected value": "Spacebar", 100 | "select the first measure rest in a score": "Tab", 101 | "takes you back a page": "Home", 102 | "takes you forward a page": "End", 103 | "takes you up the page": "Page Up", 104 | "takes you down the page": "Page Down", 105 | "moves a selected note to the right or expands a selected bar": "Shift + ⌥ + →", 106 | "moves a selected note to the left or contracts a selected bar": "Shift + ⌥ + ←", 107 | "moves an individual staff up": "Shift + ⌥ + ↑", 108 | "moves an individual staff down": "Shift + ⌥ + ↓", 109 | "moves staff and rest of score down": "⌘ + ⌥ + + ↓" 110 | } 111 | } -------------------------------------------------------------------------------- /src/apps/sketch.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | #https://www.sketch.com/docs/shortcuts/ 3 | 4 | shortcuts = { 5 | "Sketch": { 6 | "Copy": "⌘ + C", 7 | "Cut": "⌘ + X", 8 | "Paste": "⌘ + V", 9 | "Paste over selection": "⌘ + ⇧ + V", 10 | "Pan Canvas": "Space + drag", 11 | "New page": "⌘ + ⇧ + N", 12 | "Previous page": "fn + ↑", 13 | "Next page": "fn + ↓", 14 | "Zoom in": "⌘ + +", 15 | "Zoom out": "⌘ + -", 16 | "Show/hide rulers": "Ctrl + R", 17 | "Show/hide pixels": "Ctrl + P", 18 | "Show/hide pixel grid": "Ctrl + X", 19 | "Show/hide grid": "Ctrl + G", 20 | "Show/hide layout": "Ctrl + L", 21 | "Show/hide slices": "Ctrl + E", 22 | "Show/hide prototyping": "Ctrl + F", 23 | "Filter in Layer List/Components Panel": "⌘ + F", 24 | "Filter in the Components Panel": "⌘ + ⇧ + F", 25 | "Run custom plugin": "⌘ + Ctrl + K", 26 | "Undo": "⌘ + Z", 27 | "Redo": "⌘ + ⇧ + Z", 28 | "New document": "⌘ N", 29 | "Open document": "⌘ O", 30 | "Open Documents window": "⌘ ⇧ O", 31 | "Close window": "⌘ + W", 32 | "Save document": "⌘ + S", 33 | "Duplicate*": "⌘ + ⇧ + S", 34 | "Save As…*": "⌘ + ⌥ + ⇧ + S", 35 | "Page setup": "⌘ + ⇧ + P", 36 | "Open Preferences": "⌘ + ,", 37 | "Hide Sketch": "⌘ + H", 38 | "Quit Sketch": "⌘ + Q", 39 | "Open the Help menu": "⌘ + ⇧ + ?", 40 | "Open the Prototyping Preview window": "⌘ + P" 41 | } 42 | } 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /src/apps/slack.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | 3 | shortcuts = { 4 | "Slack": #https://get.slack.help/hc/en-us/articles/201374536-Slack-keyboard-shortcuts 5 | { 6 | "Jump to a conversation": "⌘K or ⌘T", 7 | "Move focus to the next section": "F6", 8 | "Move focus to the previous section": "Shift F6", 9 | "Browse direct messages": "⌘Shift K", 10 | "Browse channels": "⌘Shift L", 11 | "Compose a new message": "⌘N", 12 | "Open the Threads view": "⌘Shift T", 13 | "Previous unread channel or DM": "Option Shift ↑", 14 | "Next unread channel or DM": "OptionShift↓", 15 | "Previous channel or DM visited": "⌘[ or ⌘]", 16 | "Open your preferences": "⌘,", 17 | "Channel info pane": "⌘ShiftI", 18 | "Mentions & reactions": "⌘ShiftM", 19 | "People": "⌘ShiftE", 20 | "Saved items": "⌘ShiftS", 21 | "Set a status": "⌘ShiftY", 22 | "Search current channel or conversation": "⌘F", 23 | "Open previous search": "⌘G", 24 | "Toggle full-screen view": "^⌘F", 25 | "Collapse or open the right sidebar": "⌘.", 26 | "Collapse or open the left sidebar": "⌘ShiftD", 27 | "Open All unread view": "⌘ShiftA", 28 | "Mark messages as unread": "Option click a message", 29 | "Move between messages": "↑ or ↓", 30 | "Open and collapse channels": "← or →", 31 | "Switch to previous workspace": "⌘Shift[", 32 | "Switch to next workspace": "⌘Shift]", 33 | "Switch to a specific workspace": "⌘[number]", 34 | "Mark all messages in current channel or DM as read": "Esc", 35 | "Mark all messages as read": "Shift Esc", 36 | "Set a message as your oldest unread message": "Option click a message", 37 | "Edit your message": "E", 38 | "Add an emoji reaction": "R", 39 | "Open or reply to a thread": "T or →", 40 | "Pin or unpin a message": "P", 41 | "Share a message": "S", 42 | "Save a message or remove from Saved items": "A", 43 | "Mark as unread starting from a message": "U", 44 | "Delete your message": "Delete", 45 | "Create a reminder about a message": "M", 46 | "Edit your last message": "⌘↑ in empty message field", 47 | "Select text to beginning of current line": "Shift↑", 48 | "Select text to end of current line": "Shift↓", 49 | "Create a new line in your message": "Shift Enter", 50 | "Add an emoji reaction to a message": "⌘Shift\\", 51 | "Bold selected text": "⌘B", 52 | "Italicise selected text": "⌘I", 53 | "Cross out selected text (strikethrough)": "⌘Shift X", 54 | "Quote selected text": "⌘Shift9", 55 | "Code selected text": "⌘ShiftC", 56 | "Codeblock selected text": "⌘ Alt Shift C", 57 | "Turn selected text into a numbered list": "⌘Shift7", 58 | "Turn selected text into a bullet-point list": "⌘Shift8", 59 | "Apply formatting when you copy and paste text in markdown": "⌘ShiftF", 60 | "Undo message formatting": "⌘Z", 61 | "Upload file": "⌘U", 62 | "Create new snippet": "⌘Shift Enter", 63 | "Toggle mute on and off": "M", 64 | "Toggle video on and off": "V", 65 | "Show invitation list": "+ or A", 66 | "View and select an emoji reaction": "E then 1–9" 67 | } 68 | } -------------------------------------------------------------------------------- /src/apps/spotify.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | shortcuts = { 3 | "Spotify":{ 4 | #https://support.spotify.com/us/using_spotify/system_settings/keyboard-shortcuts/ 5 | "Create new playlist": "Cmd-N", 6 | "Cut": "Cmd-X", 7 | "Copy": "Cmd-C", 8 | "Copy (alternative link)": "Cmd-Alt-C", 9 | "Paste": "Cmd-V", 10 | "Delete": "Del, Backspace", 11 | "Select all": "Cmd-A", 12 | "Play/pause": "Space", 13 | "Repeat": "Cmd-R", 14 | "Shuffle": "Cmd-S", 15 | "Next track": "Ctrl-Cmd-Right", 16 | "Previous track": "Ctrl-Cmd-Left", 17 | "Volume up": "Cmd-Up", 18 | "Volume down": "Cmd-Down", 19 | "Mute": "Cmd-Shift-Down", 20 | "Max volume": "Cmd-Shift-Up", 21 | "F1": "Cmd-Shift-?", 22 | "Filter (in Songs and Playlists)": "Cmd-F", 23 | "Give focus to search field": "Cmd-Alt-F, Cmd-L", 24 | "Go back ": "Cmd-Alt-Left, Cmd-[", 25 | "Go forward ": "Cmd-Alt-Right, Cmd-]", 26 | "Play selected row": "Enter", 27 | "Preferences": "Cmd-,", 28 | "Logout active user": "Cmd-Shift-W", 29 | "Quit": "Cmd-Q", 30 | "Hide window": "Cmd-H", 31 | "Hide other applications' windows": "Cmd-Alt-H", 32 | "Close window": "Cmd-W", 33 | "Minimize window": "Cmd-M", 34 | "Restore from minimized": "Cmd-Alt-1" 35 | } 36 | } -------------------------------------------------------------------------------- /src/apps/sublime.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | #https://wesbos.com/sublime-text-code-folding/ 3 | #https://wesbos.com/sublime-text-code-folding/ 4 | 5 | shortcuts = { 6 | "Sublime Text":{ 7 | "Command Pallete":"⌘⇧P", 8 | "Python Console":"⌃`", 9 | "Toggle Sidebar":"⌘K, ⌘B", 10 | "Toggle Full­scr­een":"⌃⌘F", 11 | "Toggle Dist­raction Free Mode":"⌃⇧⌘F", 12 | "Show scope in status bar":"⌃⇧P", 13 | "Cut line":"⌘X", 14 | "Insert line after":"⌘↩", 15 | "Insert line before":"⌘⇧↩", 16 | "Move line/selection up":"⌘⌃↑", 17 | "Move line/selection down":"⌘⌃↓", 18 | "Select line - Repeat to select next lines":"⌘L", 19 | "Select word - Repeat to select next occurrence":"⌘D", 20 | "Select all occurrences of current selection":"⌃⌘G", 21 | "Extra cursor on the line above":"⌃⇧↑", 22 | "Extra cursor on the line below":"⌃⇧↓", 23 | "Jump to closing parentheses Repeat to jump to opening parentheses":"⌃M", 24 | "Select all contents of the current parentheses":"⌃⇧M", 25 | "Move to beginning of line":"⌃A", 26 | "Move to beginning of text on line":"⌘Left", 27 | "Move to end of line":"⌃E, ⌘Right", 28 | "Delete from cursor to end of line":"⌘K, ⌘K", 29 | "Delete from cursor to start of line":"⌘K⌫", 30 | "Indent current line(s)":"⌘]", 31 | "Un-indent current line(s)":"⌘[", 32 | "Duplicate line(s)":"⌘⇧D", 33 | "Join line below to the end of the current line":"⌘J", 34 | "Comment/un-comment current line":"⌘/", 35 | "Block comment current selection":"⌘⌥/", 36 | "Redo, or repeat last keyboard shortcut command":"⌘Y", 37 | "Paste and indent correctly":"⌘⇧V", 38 | "Select next auto-complete suggestion":"⌃Space", 39 | "Soft undo; jumps to your last change before undoing change when repeated":"⌃U", 40 | "Column selection up":"⌃⇧↑", 41 | "Column selection down":"⌃⇧↓", 42 | "Wrap Selection in html tag":"⌃⇧W", 43 | "Delete current line of cursor":"⌃⇧K", 44 | "Quick-open files by name":"⌘P or ⌘T", 45 | "Goto symbol":"⌘R", 46 | "Goto line in current file":"⌃G", 47 | "Goto word in current file":"", 48 | "Find":"⌘F", 49 | "Replace":"⌘⌥F", 50 | "Find in files":"⌘⇧F", 51 | "Scroll down one page":"⌃V", 52 | "Center current line vertically in page":"⌃L", 53 | "Scroll to end of file":"⌘↓", 54 | "Scroll to start of file":"⌘↑", 55 | "Open last closed tab":"⌘⇧t", 56 | "Jump to tab in current group where num is 1-9":"⌘[NUM]", 57 | "Jump to 10th tab in current group":"⌘0", 58 | "Cycle left through tabs":"⌘⇧[", 59 | "Cycle right through tabs":"⌘⇧]", 60 | "Cycle up through recent tabs":"^Tab", 61 | "Cycle down through recent tabs":"⇧^Tab", 62 | "Revert view to single column":"⌘⌥1", 63 | "Split view into two columns":"⌘⌥2", 64 | "Split view into three columns":"⌘⌥3", 65 | "Split view into four columns":"⌘⌥4", 66 | "Set view to grid (4 groups)":"⌘⌥5", 67 | "Jump to group where num is 1-4":"⌃[NUM]", 68 | "Move file to specified group where num is 1-4":"⌃⇧[NUM]", 69 | "Toggle bookmark":"⌘F2", 70 | "Next bookmark":"F2", 71 | "Previous bookmark":"⇧F2", 72 | "Clear bookmarks":"⇧⌘F2", 73 | "Transform to Uppercase":"⌘K, ⌘U", 74 | "Clip text upwards / downwards":"⌘⌃↑, ⌘⌃↓", 75 | "Code fold":"⌘⌥[", 76 | "Code unfold":"⌘⌥]", 77 | "Code fold multiple blocks at once":"⌘k,⌘2 [fold everything beyond 2nd level]", 78 | "Code unfold everything":"⌘k,⌘0", 79 | "Code fold Html tag - show":"⌘k,⌘T", 80 | "Code fold Html tag - hide":"⌘k,⌘0", 81 | }, 82 | "Vintage Sublime":{ #https://github.com/sublimehq/Vintage/blob/master/Default%20(OSX).sublime-keymap 83 | "Exit insert mode":"⌃c or Esc", 84 | "Exit visual mode":"⌃c or Esc", 85 | "Vi Cancel current action":"⌃c", 86 | "Move back to beginning of word":"⌥←", 87 | "Move back to end of word":"⌃←", 88 | "Move forward to beginning of word":"⌥→", 89 | "Move forward to end of word":"⌃→", 90 | "up":"k", 91 | "down":"j", 92 | "left":"h", 93 | "right":"l", 94 | "Move cursor to end of line":"⌘right", 95 | "Move cursor to first non-white space char":"⌘left", 96 | "Move to beginning of file":"⌘↑", 97 | "Move to end of file":"⌘↓", 98 | "page up":"⌃↑", 99 | "page down":"⌃↓", 100 | "insert before the cursor":"i", 101 | "insert at the beginning of the line":"I", 102 | "insert (append) after the cursor":"a", 103 | "insert (append) at the end of the line":"A", 104 | "append (open) a new line below the current line":"o", 105 | "append (open) a new line above the current line":"O", 106 | "jump forwards to the start of a word":"w", 107 | "jump forwards to the start of a word (words can contain punctuation)":"W", 108 | "jump forwards to the end of a word":"e", 109 | "jump forwards to the end of a word (words can contain punctuation)":"E", 110 | "replace a single character":"r", 111 | "change (replace) entire line":"cc", 112 | "change (replace) to the end of the word":"cw", 113 | "change (replace) to the end of the line":"c$", 114 | "delete character and substitute text":"s", 115 | "delete line and substitute text (same as cc)":"S", 116 | "undo":"u", 117 | "redo":"⌃r", 118 | "repeat last command":"." 119 | } 120 | } -------------------------------------------------------------------------------- /src/apps/terminal.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | shortcuts = { 3 | "Terminal":{ 4 | #https://github.com/0nn0/terminal-mac-cheatsheet 5 | "Go to the beginning of the line you are currently typing on.":"Ctrl A ", 6 | "Go to the end of the line you are currently typing on.":"Ctrl E ", 7 | "Clears everything on current line":"Ctrl Q ", 8 | "Clears the Screen":"Ctrl L ", 9 | "Clears the Screen":"⌘K", 10 | "Cut everything backwards to beginning of line":"Ctrl U", 11 | "Cut everything forward to end of line":"Ctrl K", 12 | "Cut one word backwards using white space as delimiter":"Ctrl W", 13 | "Paste whatever was cut by the last cut command":"Ctrl Y", 14 | "Same as backspace":"Ctrl H", 15 | "Kill whatever you are running":"Ctrl C", 16 | "Exit the current shell when no process is running, or send EOF to a the running process":"Ctrl D", 17 | "Puts whatever you are running into a suspended background process. fg restores it.":"Ctrl Z", 18 | "Undo the last command.":"Ctrl ⇧-", 19 | "Swap the last two characters before the cursor":"Ctrl T", 20 | "Move cursor one character forward":"Ctrl F", 21 | "Move cursor one character backward":"Ctrl B", 22 | "Move cursor one word forward":"⌥→", 23 | "Move cursor one word backward":"⌥←", 24 | "Swap the last two words before the cursor":"Esc T", 25 | "Auto-complete files and folder names":"Tab " 26 | } 27 | } -------------------------------------------------------------------------------- /src/apps/things.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | shortcuts = { 3 | # https://support.culturedcode.com/customer/portal/articles/2785159 4 | "Things": { 5 | "Create a new to-do": "⌘N", 6 | "Create a new to-do below selection": "Space", 7 | "Paste plain text to create new to-dos": "⌘V", 8 | "Create a checklist in an open to-do": "⌘⇧C", 9 | "Create a new heading in a project": "⌘⇧N", 10 | "Create a new project": "⌘⌥N", 11 | "Open Quick Entry": "^Space", 12 | "Open Quick Entry with Autofill": "⌥^Space", 13 | "Open a to-do or project": "↩", 14 | "Save and close": "⌘↩ or Esc", 15 | "Duplicate a to-do or project": "⌘D", 16 | "Copy a to-do or project": "⌘C", 17 | "Paste a to-do or project": "⌘V", 18 | "Complete selected items": "⌘.", 19 | "Cancel selected items": "⌘⌥.", 20 | "Delete selected items": "Delete", 21 | "Move completed to Logbook": "⌘L", 22 | "Select item above": "↑", 23 | "Select item below": "↓", 24 | "Extend selection upwards": "⇧↑", 25 | "Extend selection downwards": "⇧↓", 26 | "Extend selection to the top": "⌥⇧↑", 27 | "Extend selection to the bottom": "⌥⇧↓", 28 | "Select everything": "⌘A", 29 | "Move selection to another list": "⌘⇧M", 30 | "Move copied to-dos and projects": "⌘⌥V", 31 | "Move selection up": "⌘↑", 32 | "Move selection down": "⌘↓", 33 | "Move selection to top of list": "⌘⌥↑", 34 | "Move selection to bottom of list": "⌘⌥↓", 35 | "Show Jump Start": "⌘S", 36 | "Start Today": "⌘T", 37 | "Start This Evening": "⌘E", 38 | "Start Anytime": "⌘R", 39 | "Start Someday": "⌘O", 40 | "Start date +1 day ": "^]", 41 | "Start date -1 day ": "^[", 42 | "Start date + 1 week ": "^⇧]", 43 | "Start date - 1 week ": "^⇧[", 44 | "Direct access to set a Deadline": "⌘⇧D", 45 | "Deadline +1 day": "^.", 46 | "Deadline -1 day": "^,", 47 | "Deadline +1 week ": "^⇧>", 48 | "Deadline -1 week ": "^⇧<", 49 | "Make to-do or project repeating": "⌘⇧R", 50 | "Open new window": "⌘^N", 51 | "Cycle through open windows": "⌘⇧`", 52 | "Close current window": "⌘W", 53 | "Close all windows": "⌘⌥W", 54 | "Hide or show sidebar": "⌘/", 55 | "Hide or show toolbar": "⌘⌥T", 56 | "Full screen": "⌘^F", 57 | "Go to Inbox": "⌘1", 58 | "Go to Today": "⌘2", 59 | "Go to Upcoming": "⌘3", 60 | "Go to Anytime": "⌘4", 61 | "Go to Someday": "⌘5", 62 | "Go to Logbook": "⌘6", 63 | "Show to-do in list": "⌘⇧L", 64 | "Enter a selected project": "→", 65 | "Return to previous list": "←", 66 | "Scroll to top": "⌥↑", 67 | "Scroll to bottom": "⌥↓", 68 | "Navigate up in the sidebar": "⌘⌥^↑", 69 | "Navigate down in the sidebar": "⌘⌥^↓", 70 | "Start typing to begin a search": "any key", 71 | "Find": "⌘F", 72 | "Open tag window": "⌘^T", 73 | "Close tag window": "Esc", 74 | "Direct access to add a tag": "⌘⇧T", 75 | "Toggle a tag for selected to-do": "^shortcut", 76 | "Filter for a tag": "⌥^shortcut", 77 | "Select multiple tags": "⌘click any tag", 78 | "Destroy previous filter": "^Esc", 79 | "Open a link": "⌘⌥↩" 80 | } 81 | } 82 | -------------------------------------------------------------------------------- /src/apps/trello.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | shortcuts = { 3 | "trello.com":{ 4 | "Navigate Cards":"← ↓/J ↑/K →", 5 | "Open Header Boards Menu":"B", 6 | "Focus Search Box":"/", 7 | "Archive Card":"C", 8 | "Due Date":"D", 9 | "Quick Edit Mode":"E", 10 | "Close Menu / Cancel Editing":"Esc", 11 | "Save Text":"⌘⏎", 12 | "Open Card":"⏎", 13 | "Open Card Filter Menu":"F", 14 | "Label":"L", 15 | "Black":"0", 16 | "Green":"1", 17 | "Yellow":"2", 18 | "Orange":"3", 19 | "Red":"4", 20 | "Purple":"5", 21 | "Blue":"6", 22 | "Sky":"7", 23 | "Lime":"8", 24 | "Pink":"9", 25 | "Toggle Label Names":";", 26 | "Add / Remove Members":"M", 27 | "Insert New Card":"N", 28 | "Move Card to Adjacent List":", , . < >", 29 | "My Cards Filter":"Q", 30 | "Subscribe":"S", 31 | "Assign Self":"Space", 32 | "Edit Title":"T", 33 | "Vote":"V", 34 | "Toggle Board Menu":"W", 35 | "Clear All Filters":"X", 36 | "Open Shortcuts Page":"?", 37 | "Autocomplete Members":"@", 38 | "Autocomplete Labels":"#", 39 | "Autocomplete Labels":"^" 40 | } 41 | } -------------------------------------------------------------------------------- /src/apps/videoSpeedController.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | shortcuts = { 3 | "Video Speed Controller chrome extension":{ 4 | #settings 5 | "Rewind":"Z", 6 | "Advance":"X", 7 | "Reset speed":"R", 8 | "Decrease speed":"S", 9 | "Increase speed":"D", 10 | "Preferred speed":"G", 11 | "Show/hide controller":"V" 12 | } 13 | } -------------------------------------------------------------------------------- /src/apps/vim.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | 3 | shortcuts = { 4 | "Vim":{ #https://vim.rtorr.com/ 5 | "open help for keyword":":help keyword", 6 | "open file":":o file", 7 | "save file as":":saveas file", 8 | "close current pane":":close", 9 | "open man page for word under the cursor":"K", 10 | "move cursor left":"h", 11 | "move cursor down":"j", 12 | "move cursor up":"k", 13 | "move cursor right":"l", 14 | "move to top of screen":"H", 15 | "move to middle of screen":"M", 16 | "move to bottom of screen":"L", 17 | "jump forwards to the start of a word":"w", 18 | "jump forwards to the start of a word (words can contain punctuation)":"W", 19 | "jump forwards to the end of a word":"e", 20 | "jump forwards to the end of a word (words can contain punctuation)":"E", 21 | "jump backwards to the start of a word":"b", 22 | "jump backwards to the start of a word (words can contain punctuation)":"B", 23 | "move to matching character (default supported pairs: '()', '{}', '[]')":"%", 24 | "jump to the start of the line":"0", 25 | "jump to the first non-blank character of the line":"^", 26 | "jump to the end of the line":"$", 27 | "jump to the end of the line":"$", 28 | "jump to the last non-blank character of the line":"g_", 29 | "go to the first line of the document":"gg", 30 | "go to the last line of the document":"G", 31 | "go to line 5":"5G", 32 | "jump to next occurrence of character x":"fx", 33 | "jump to before next occurrence of character x":"tx", 34 | "jump to previous occurence of character x":"Fx", 35 | "jump to after previous occurence of character x":"Tx", 36 | "repeat previous f, t, F or T movement":";", 37 | "repeat previous f, t, F or T movement, backwards":",", 38 | "jump to next paragraph (or function/block, when editing code)":"}", 39 | "jump to previous paragraph (or function/block, when editing code)":"{", 40 | "center cursor on screen":"zz", 41 | "move back one full screen":"⌃b", 42 | "move forward one full screen":"⌃f", 43 | "move forward 1/2 a screen":"⌃d", 44 | "move back 1/2 a screen":"⌃u", 45 | "insert before the cursor":"i", 46 | "insert at the beginning of the line":"I", 47 | "insert (append) after the cursor":"a", 48 | "insert (append) at the end of the line":"A", 49 | "append (open) a new line below the current line":"o", 50 | "append (open) a new line above the current line":"O", 51 | "insert (append) at the end of the word":"ea", 52 | "exit insert/visual mode":"Esc", 53 | "replace a single character":"r", 54 | "join line below to the current one":"J", 55 | "change (replace) entire line":"cc", 56 | "change (replace) to the end of the word":"cw", 57 | "change (replace) to the end of the line":"c$", 58 | "delete character and substitute text":"s", 59 | "delete line and substitute text (same as cc)":"S", 60 | "transpose two letters (delete and paste)":"xp", 61 | "undo":"u", 62 | "redo":"⌃r", 63 | "repeat last command":".", 64 | #Marking text (visual mode) stopped at 65 | "start visual mode, mark lines, then do a command (like y-yank)":"v", 66 | "start linewise visual mode":"V", 67 | "visual - move to other end of marked area":"o", 68 | "start visual block mode":"^v", 69 | "visual - move to other corner of block":"O", 70 | "visual - mark a word":"aw", 71 | "visual - a block with ()":"ab", 72 | "visual - inner block with ()":"ib", 73 | "visual - inner block with {}":"iB", 74 | "shift text right":">", 75 | "shift text left":"<", 76 | "yank (copy) marked text":"y", 77 | "delete marked text":"d", 78 | "switch case":"~", 79 | "show registers content":":reg", 80 | "yank into register x":"\"xy", 81 | "paste contents of register x":"\"xp", 82 | "list of marks":":marks", 83 | "set current position for mark A":"ma", 84 | "jump to position of mark A":"'a", 85 | "yank text to position of mark A":"y`a", 86 | "record macro a":"qa", 87 | "stop recording macro":"q", 88 | "run macro a":"@a", 89 | "rerun last run macro":"@@", 90 | "yank (copy) a line":"yy", 91 | "yank (copy) 2 lines":"2yy", 92 | "yank (copy) the characters of the word from the cursor position to the start of the next word":"yw", 93 | "yank (copy) to end of line":"y$", 94 | "put (paste) the clipboard after cursor":"p", 95 | "put (paste) before cursor":"P", 96 | "delete (cut) a line":"dd", 97 | "delete (cut) 2 lines":"2dd", 98 | "delete (cut) the characters of the word from the cursor position to the start of the next word":"dw", 99 | "delete (cut) to the end of the line":"D", 100 | "delete (cut) to the end of the line":"d$", 101 | "delete (cut) character":"x", 102 | "write (save) the file, but don't exit":":w", 103 | "write out the current file using sudo":":w !sudo tee %", 104 | "write (save) and quit":":wq or :x or ZZ", 105 | "quit (fails if there are unsaved changes)":":q", 106 | "quit and throw away unsaved changes":":q! or ZQ", 107 | "write (save) and quit on all tabs":":wqa", 108 | "search for pattern in multiple files":":vimgrep /pattern/ {file}", 109 | "search - jump to the next match":":cn", 110 | "search - jump to the previous match":":cp", 111 | "search - open a window containing the list of matches":":copen", 112 | "edit a file in a new buffer":":e file", 113 | "go to the next buffer":":bnext or :bn", 114 | "go to the previous buffer":":bprev or :bp", 115 | "delete a buffer (close a file)":":bd", 116 | "list all open buffers":":ls", 117 | "open a file in a new buffer and split window":":sp file", 118 | "open a file in a new buffer and vertically split window":":vsp file", 119 | "split window":"Ctrl + ws", 120 | "switch windows":"Ctrl + ww", 121 | "quit a window":"Ctrl + wq", 122 | "split window vertically":"Ctrl + wv", 123 | "move cursor to the left window (vertical split)":"Ctrl + wh", 124 | "move cursor to the right window (vertical split)":"Ctrl + wl", 125 | "move cursor to the window below (horizontal split)":"Ctrl + wj", 126 | "move cursor to the window above (horizontal split)":"Ctrl + wk", 127 | "open a file in a new tab":":tabnew or :tabnew file", 128 | "move the current split window into its own tab":"Ctrl + wT", 129 | "move to the next tab":"gt or :tabnext or :tabn", 130 | "move to the previous tab":"gT or :tabprev or :tabp", 131 | "move to tab number #":"#gt", 132 | "move current tab to the #th position (indexed from 0)":":tabmove #", 133 | "close the current tab and all its windows":":tabclose or :tabc", 134 | "close all tabs except for the current one":":tabonly or :tabo", 135 | "command - run the command on all tabs (e.g. :tabdo q - closes all opened tabs)":":tabdo" 136 | } 137 | } -------------------------------------------------------------------------------- /src/apps/vimeo.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | 3 | shortcuts = { 4 | "Vimeo": #https://vimeo.zendesk.com/hc/en-us/articles/115002267667-Player-keyboard-shortcuts 5 | { 6 | "Pull up the keyboard shortcuts menu": "? (Shift + /)", 7 | "Volume up": "↑", 8 | "Volume Down": "↓", 9 | "Scrub Forward": "→", 10 | "Scrub Backwards": "←", 11 | "Like": "L", 12 | "Share": "S", 13 | "Watch Later": "W", 14 | "Toggle Captions": "C", 15 | "Toggle Player Preferences Menu": "H", 16 | "Toggle Fullscreen": "F", 17 | "Debug Panel for technical issues": "D" 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/apps/vscode.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | shortcuts = { 3 | # https://code.visualstudio.com/shortcuts/keyboard-shortcuts-macos.pdf 4 | "Visual Studio Code": { 5 | "Show Command Palette": "⇧⌘", 6 | "Quick Open, Go to File…": "⌘P", 7 | "New window/instance": "⇧⌘", 8 | "Close window/instance": "⌘W", 9 | "User Settings": "⌘,", 10 | "Keyboard Shortcuts": "⌘K ⌘S", 11 | "Cut line (empty selection)": "⌘X", 12 | "Copy line (empty selection)": "⌘C", 13 | "Move line down/up": "⌥↓ / ⌥↑", 14 | "Copy line down/up": "⇧⌥↓ / ⇧⌥↑", 15 | "Delete line": "⇧⌘K", 16 | "Insert line below/above": "⌘Enter / ⇧⌘Enter", 17 | "Jump to matching bracket": "⇧⌘\\", 18 | "Indent/outdent line": "⌘] / ⌘[", 19 | "Go to beginning/end of line": "Home / End", 20 | "Go to beginning/end of file": "⌘↑ / ⌘↓", 21 | "Scroll line up/down": "⌃PgUp / ⌃PgDn", 22 | "Scroll page up/down": "⌘PgUp /⌘PgDn", 23 | "Fold/unfold region": "⌥⌘[ / ⌥⌘]", 24 | "Fold/unfold all subregions": "⌘K ⌘[ / ⌘K ⌘]", 25 | "Fold/unfold all regions": "⌘K ⌘0 / ⌘K ⌘J", 26 | "Add line comment": "⌘K ⌘C", 27 | "Remove line comment": "⌘K ⌘U", 28 | "Toggle line comment": "⌘/", 29 | "Toggle block comment": "⇧⌥A", 30 | "Toggle word wrap": "⌥Z", 31 | "Insert cursor": "⌥ + click", 32 | "Insert cursor above": "⌥⌘↑", 33 | "Insert cursor below": "⌥⌘↓", 34 | "Undo last cursor operation": "⌘U", 35 | "Insert cursor at end of each line selected": "⇧⌥I", 36 | "Select current line": "⌘L", 37 | "Select all occurrences of current selection": "⇧⌘L", 38 | "Select all occurrences of current word": "⌘F2", 39 | "Expand / shrink selection": "⌃⇧⌘→ / ←", 40 | "Column (box) selection": "⇧⌥ + drag mouse", 41 | "Column (box) selection up/down": "⇧⌥⌘↑ / ↓", 42 | "Column (box) selection left/right": "⇧⌥⌘← / →", 43 | "Column (box) selection page up": "⇧⌥⌘PgUp", 44 | "Column (box) selection page down": "⇧⌥⌘PgDn", 45 | "Find": "⌘F", 46 | "Replace": "⌥⌘F", 47 | "Find next/previous": "⌘G / ⇧⌘G", 48 | "Select all occurrences of Find match": "⌥Enter", 49 | "Add selection to next Find match": "⌘D", 50 | "Move last selection to next Find match": "⌘K ⌘D", 51 | "Trigger suggestion": "⌃Space", 52 | "Trigger parameter hints": "⇧⌘Space", 53 | "Format document": "⇧⌥F", 54 | "Format selection": "⌘K ⌘F", 55 | "Go to Definition": "F12", 56 | "Peek Definition": "⌥F12", 57 | "Open Definition to the side": "⌘K F12", 58 | "Quick Fix": "⌘.", 59 | "Show References": "⇧F12", 60 | "Rename Symbol": "F2", 61 | "Trim trailing whitespace": "⌘K ⌘X", 62 | "Change file language": "⌘K M", 63 | "Show all Symbols": "⌘T", 64 | "Go to Line...": "⌃G", 65 | "Go to File...": "⌘P", 66 | "Go to Symbol...": "⇧⌘O", 67 | "Show Problems panel": "⇧⌘M", 68 | "Go to next/previous error or warning": "F8 / ⇧F8", 69 | "Navigate editor group history": "⌃⇧Tab", 70 | "Go back/forward": "⌃- / ⌃⇧-", 71 | "Toggle Tab moves focus": "⌃⇧M", 72 | "Close editor": "⌘W", 73 | "Close folder": "⌘K F", 74 | "Split editor": "⌘\\", 75 | "Focus into 1st, 2nd, 3rd editor group": "⌘1 / ⌘2 / ⌘3", 76 | "Focus into previous/next editor group": "⌘K ⌘← / ⌘K ⌘→", 77 | "Move editor left/right": "⌘K ⇧⌘← / ⌘K ⇧⌘→", 78 | "Move active editor group": "⌘K ← / ⌘K →", 79 | "New File": "⌘N", 80 | "Open File...": "⌘O", 81 | "Save": "⌘S", 82 | "Save As...": "⇧⌘S", 83 | "Save All": "⌥⌘S", 84 | "Close": "⌘W", 85 | "Close All": "⌘K ⌘W", 86 | "Reopen closed editor": "⇧⌘T", 87 | "Enter Keep preview mode editor open": "⌘K", 88 | "Open next / previous": "⌃Tab / ⌃⇧Tab", 89 | "Copy path of active file": "⌘K P", 90 | "Reveal active file in Explorer": "⌘K R", 91 | "Show active file in new window/instance": "⌘K O", 92 | "Toggle full screen": "⌃⌘F", 93 | "Toggle editor layout (horizontal/vertical)": "⌥⌘0", 94 | "Zoom in/out": "⌘= / ⇧⌘-", 95 | "Toggle Sidebar visibility": "⌘B", 96 | "Show Explorer / Toggle focus": "⇧⌘E", 97 | "Show Search": "⇧⌘F", 98 | "Show Source Control": "⌃⇧G", 99 | "Show Debug": "⇧⌘D", 100 | "Show Extensions": "⇧⌘X", 101 | "Replace in files": "⇧⌘H", 102 | "Toggle Search details": "⇧⌘J", 103 | "Show Output panel": "⇧⌘U", 104 | "Open Markdown preview": "⇧⌘V", 105 | "Open Markdown preview to the side": "⌘K V", 106 | "Zen Mode (Esc Esc to exit)": "⌘K Z", 107 | "Toggle breakpoint": "F9", 108 | "Start/Continue": "F5", 109 | "Step into/ out": "F11 / ⇧F11", 110 | "Step over": "F10", 111 | "Stop": "⇧F5", 112 | "Show hover": "⌘K ⌘I", 113 | "Show integrated terminal": "⌃`", 114 | "Create new terminal": "⌃⇧`", 115 | "Copy selection": "⌘C", 116 | "Scroll up/down": "⌘↑ / ↓", 117 | "Scroll to top/bottom": "⌘Home / End" 118 | } 119 | } 120 | -------------------------------------------------------------------------------- /src/apps/youtube.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | shortcuts = { 3 | "youtube.com":{ 4 | #http://www.hongkiat.com/blog/useful-youtube-keyboard-shortcuts-to-know/ 5 | #shift + / 6 | "Pause/Play video (player)":"Spacebar", 7 | "Pause/Play video":"k", 8 | "Keyboard shortcuts":"⇧/", 9 | "Previous video":"⇧p", 10 | "Next video":"⇧n", 11 | "Rewind 10 seconds":"j", 12 | "Fastfoward 10 seconds":"l", 13 | "Toggle Mute":"m", 14 | "Seek backwards by smallest amount possible, when video is paused":",", 15 | "Seek forwards by smallest amount possible, when video is paused":".", 16 | "Decrease playback rate":"< (^,)", 17 | "Increase playback rate":"> (^.)", 18 | "Toggle full screen":"f", 19 | "Seek backwards by 5 seconds (player)":"←", 20 | "Seek forwards by 5 seconds":"→", 21 | "Increase the volume by 5%":"UP", 22 | "Decrease the volume by 5%":"DOWN", 23 | "Close the current dialog or similar dialogs (share panel)":"ESCAPE", 24 | "Seek to the beginning of the video":"HOME", 25 | "Seek to the end of the video":"END", 26 | "If the video supports captions, toggle captions ON/OFF":"c", 27 | "Rotate through different text opacity levels":"o", 28 | "Rotate through different window opacity levels":"w", 29 | "Rotate through font sizes (increasing)":"+", 30 | "Rotate through font sizes (decreasing)":"-", 31 | "Seek to specific point in the video (7 advances to 70% of duration)":"0..9", 32 | "When viewing a spherical video, pan up":"w", 33 | "When viewing a spherical video, pan left":"a", 34 | } 35 | } -------------------------------------------------------------------------------- /src/apps/zshell.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | 3 | shortcuts = { 4 | "zshell":{ 5 | #https://github.com/robbyrussell/oh-my-zsh/wiki/Cheatsheet 6 | "Create a new tab in the current directory (macOS - requires enabling access for assistive devices under System Preferences).":"tabs", 7 | "Create a new directory and change to it, will create intermediate directories as required.":"take", 8 | "Extract an archive (supported types: tar.{bz2,gz,xz,lzma}, bz2, rar, gz, tar, tbz2, tgz, zip, Z, 7z).":"x / extract", 9 | "Get a list of the top 20 commands and how many times they have been run.":"zsh_stats", 10 | "Uninstall Oh-my-zsh.":"uninstall_oh_my_zsh", 11 | "Upgrade Oh-my-zsh.":"upgrade_oh_my_zsh", 12 | "Uptake new changes":"source ~/.zshrc", 13 | "list all aliases":"alias", 14 | "cd ..":"..", 15 | "cd ../..":"...", 16 | "cd ../../..":"....", 17 | "cd ../../../..":".....", 18 | "cd /":"/", 19 | "cd ~":"~", 20 | "switch to directory number n (2-9)":"cd +n", 21 | "tab-completeion ls":"ls (tab)", 22 | "tab-completeion cap":"cap (tab)", 23 | "tab-completeion rake":"rake (tab)", 24 | "tab-completeion ssh":"ssh (tab)", 25 | "tab-completeion sudo unmount":"sudo unmount(tab)", 26 | "tab-completeion kill":"kill (tab)", 27 | "tab-completeion unrar":"unrar (tab)", 28 | "Dynamic access to current branch name with the current_branch function":"git pull origin $(current_branch)", 29 | "Dynamic access to current branch name with the current_branch function":"grb publish $(current_branch) origin", 30 | "git":"g", 31 | "git add":"ga", 32 | "git add --all":"gaa", 33 | "git add --patch":"gapa", 34 | "git branch":"gb", 35 | "git branch -a":"gba", 36 | "git branch -d":"gbd", 37 | "git blame -b -w":"gbl", 38 | "git branch --no-merged":"gbnm", 39 | "git branch --remote":"gbr", 40 | "git bisect":"gbs", 41 | "git bisect bad":"gbsb", 42 | "git bisect good":"gbsg", 43 | "git bisect reset":"gbsr", 44 | "git bisect start":"gbss", 45 | "git commit -v":"gc", 46 | "git commit -v --amend":"gc!", 47 | "git commit -v -a":"gca", 48 | "git commit -v -a --amend":"gca!", 49 | "git commit -v -a --no-edit --amend":"gcan!", 50 | "git commit -v -a -s --no-edit --amend":"gcans!", 51 | "git commit -a -m":"gcam", 52 | "git commit -s -m":"gcsm", 53 | "git checkout -b":"gcb", 54 | "git config --list":"gcf", 55 | "git clone --recursive":"gcl", 56 | "git clean -fd":"gclean", 57 | "git reset --hard ^^ git clean dfx":"gpristine", 58 | "git checkout master":"gcm", 59 | "git checkout develop":"gcd", 60 | "git commit -m":"gcmsg", 61 | "git checkout":"gco", 62 | "git shortlog -sn":"gcount", 63 | "git cherry-pick":"gcp", 64 | "git cherry-pick --abort":"gcpa", 65 | "git cherry-pick --continue":"gcpc", 66 | "git commit -S":"gcs", 67 | "git diff":"gd", 68 | "git diff --cached":"gdca", 69 | "git describe --tags `git rev-list --tags --max-count=1`":"gdct", 70 | "git diff-tree --no-commit-id --name-only -r":"gdt", 71 | "git diff --word-diff":"gdw", 72 | "git fetch":"gf", 73 | "git fetch --all --prune":"gfa", 74 | "git fetch origin":"gfo", 75 | "git gui citool":"gg", 76 | "git gui citool --amend":"gga", 77 | "git pull origin $(current_branch) && git push origin $(current_branch)":"ggpnp", 78 | "git pull origin $(current_branch)":"ggpull", 79 | "git pull origin $(current_branch)":"ggl", 80 | "git pull --rebase origin $(current_branch)":"ggpur", 81 | "git pull upstream master":"glum", 82 | "git push origin $(current_branch)":"ggpush", 83 | "git push origin $(current_branch)":"ggp", 84 | "git branch --set-upstream-to=origin/$(current_branch)":"ggsup", 85 | "git update-index --assume-unchanged":"gignore", 86 | "git ls-files -v | grep \"^[[:lower:]]\"":"gignored", 87 | "git svn dcommit && git push github master:svntrunk":"git-svn-dcommit-push", 88 | "gitk --all --branches":"gk", 89 | "git pull":"gl", 90 | "git log --stat --max-count = 10":"glg", 91 | "git log --graph --max-count = 10":"glgg", 92 | "git log --graph --decorate --all":"glgga", 93 | "git log --oneline --decorate --color":"glo", 94 | "git log --oneline --decorate --color --graph":"glog", 95 | "_git_log_prettily (git log --pretty=$1)":"glp", 96 | "git merge":"gm", 97 | "git mergetool --no-prompt":"gmt", 98 | "git push":"gp", 99 | "git push origin --all && git push origin --tags":"gpoat", 100 | "git remote":"gr", 101 | "git rebase --abort":"grba", 102 | "git rebase --continue":"grbc", 103 | "git rebase --skip":"grbs", 104 | "git rebase -i":"grbi", 105 | "git reset HEAD":"grh", 106 | "git reset HEAD --hard":"grhh", 107 | "git remote rename":"grmv", 108 | "git remote remove":"grrm", 109 | "git remote set-url":"grset", 110 | "cd $(git rev-parse --show-toplevel || echo \".\")":"grt", 111 | "git remote update":"grup", 112 | "git remote -v":"grv", 113 | "git svn dcommit":"gsd", 114 | "git show --pretty = short --show-signature":"gsps", 115 | "git svn rebase":"gsr", 116 | "git status -s":"gss", 117 | "git status":"gst", 118 | "git stash save":"gsta", 119 | "git stash apply":"gstaa", 120 | "git stash drop":"gstd", 121 | "git stash list":"gstl", 122 | "git stash pop":"gstp", 123 | "git stash show --text":"gsts", 124 | "git tag -s":"gts", 125 | "git update-index --no-assume-unchanged":"gunignore", 126 | "git log -n 1 | grep -q -c \"--wip--\" && git reset HEAD~1":"gunwip", 127 | "git pull --rebase":"gup", 128 | "git verify-tag":"gvt", 129 | "git whatchanged -p --abbrev-commit --pretty = medium":"gwch", 130 | "git add -A; git ls-files --deleted -z | xargs -r0 git rm; git commit -m \"--wip--\"":"gwip", 131 | "(When using sublime plugin) Open current directory in Sublime Text 2/3":"stt", 132 | "(When using vi-mode plugin) Edit current command line in Vim":"v", 133 | "Symfony2 - php ./app/console":"sf", 134 | "Symfony2 - php app/console cache:clear":"sfcl", 135 | "Symfony2 - sf debug:container":"sfcontainer", 136 | "Symfony2 - sf cache:warmup":"sfcw", 137 | "Symfony2 - sf generate:bundle":"sfgb", 138 | "Symfony2 - sf debug:router":"sfroute", 139 | "Symfony2 - sf server:run -vvv":"sfsr", 140 | "tmux attach -t":"ta", 141 | "tmux attach -d -t":'tad', 142 | "tmux new-session -s":"ts", 143 | "tmux list-sessions":"tl", 144 | "tmux kill-server":"tksv", 145 | "tmux kill-session -t":"tkss", 146 | "show the status of the NAME process":"sc-status NAME", 147 | "show the NAME systemd .service file" :"sc-show NAME", 148 | "start the NAME process" : "sc-start NAME", 149 | "stop the NAME process" : "sc-stop NAME", 150 | "restart the NAME process" : "sc-restart NAME", 151 | "enable the NAME process to start at boot" : "sc-enable NAME", 152 | "disable the NAME process at boot" : "sc-disable NAME", 153 | } 154 | } -------------------------------------------------------------------------------- /src/cheatsheet.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python3 2 | # encoding=utf8 3 | 4 | update_settings = { 5 | 'github_slug': 'mutdmour/alfred-workflow-cheatsheet', 6 | } 7 | 8 | import sys 9 | import os 10 | from workflow import Workflow, ICON_INFO, ICON_WARNING 11 | import pickle 12 | 13 | wf = None 14 | log = None 15 | apps = None 16 | custom = None 17 | 18 | nothing_found_error_text = 'Nothing found' 19 | 20 | app_icons_dir = os.path.join( 21 | os.path.dirname(os.path.realpath(__file__)), 22 | 'apps/icons' 23 | ) 24 | 25 | pkl_file = open('default_cheatsheet.pkl', 'rb') 26 | shortcuts = pickle.load(pkl_file) 27 | 28 | def main(wf): 29 | log.info(wf.datadir) 30 | args = wf.args 31 | run(args) 32 | wf.send_feedback() 33 | log.info('Workflow response complete') 34 | 35 | def checkUpdate(): 36 | if wf.update_available: 37 | # Add a notification to top of Script Filter results 38 | wf.add_item('New version available', 39 | 'Action this item to install the update', 40 | autocomplete='workflow:update', 41 | icon=ICON_INFO) 42 | 43 | def addEditCustomInfo(): 44 | wf.add_item('Customize your cheatsheet', 45 | 'Edit custom.json to personalize cheatsheet. Edit settings.json to hide apps in search results.', 46 | arg='opendata', 47 | valid=True, 48 | icon=ICON_INFO) 49 | 50 | def run(args): 51 | command = args[0].strip() 52 | log.info("args") 53 | log.info(args) 54 | log.info("") 55 | 56 | checkUpdate() 57 | 58 | if (not command and not u'--search' in args): 59 | # if no args list all apps 60 | addEditCustomInfo() 61 | addApps(apps) 62 | elif(command == "opendata"): 63 | wf.open_datadir() 64 | elif (u'--ctrl' in args): 65 | app = wf.cached_data("to_search_app") 66 | if (app in shortcuts or app in custom): 67 | action = args[0] 68 | log.info("caching "+app+":"+action) 69 | wf.cache_data("to_update_app",app) 70 | wf.cache_data("to_update_action",action) 71 | elif (u'--update' in args): 72 | app = wf.cached_data("to_update_app") 73 | action = wf.cached_data("to_update_action") 74 | 75 | if (not app in custom): 76 | custom[app]={} 77 | 78 | custom[app][action] = command 79 | wf.store_data("custom",custom) 80 | 81 | elif (u'--commit' in args): 82 | wf.cache_data("to_search_app",command) 83 | elif (u'--search' in args): 84 | app = wf.cached_data("to_search_app") 85 | if (not app == None): 86 | log.info("searching for: "+app) 87 | if (app in shortcuts or app in custom): 88 | # action = command_opts[1].strip() 89 | action = command 90 | log.info("go it "+action) 91 | if (action == u''): 92 | wf.add_item('Customize any shortcut', 93 | u'Ctrl ⏎', 94 | icon=ICON_INFO) 95 | action = "" 96 | if addShortcuts(app, action) == 0: 97 | wf.add_item(nothing_found_error_text, icon=ICON_WARNING) 98 | elif (u'--search-global' in args): 99 | shortcuts_added = 0 100 | for app in apps: 101 | shortcuts_added += addShortcuts(app, command, True) 102 | 103 | for app in custom: 104 | shortcuts_added += addShortcuts(app, command, True) 105 | 106 | if shortcuts_added == 0: 107 | wf.add_item(nothing_found_error_text, icon=ICON_WARNING) 108 | else: 109 | filter(command, apps) 110 | 111 | 112 | def filter(query, items): 113 | matching = wf.filter( 114 | query, 115 | items 116 | ) 117 | if (len(matching) == 0): 118 | wf.add_item(nothing_found_error_text, icon=ICON_WARNING) 119 | else: 120 | addApps(matching) 121 | 122 | # returns a list of the apps available as shortcuts 123 | def getApps(): 124 | built_in_apps = shortcuts.keys() 125 | custom_apps = custom.keys() 126 | apps = list(set(built_in_apps) | set(custom_apps)) 127 | 128 | if 'show_only_apps' in wf.settings: 129 | apps = [app for app in apps if app in wf.settings['show_only_apps']] 130 | elif 'hide_apps' in wf.settings: 131 | apps = [app for app in apps if app not in wf.settings['hide_apps']] 132 | 133 | return apps 134 | 135 | def getAppIconPath(app): 136 | icon_path = os.path.join(app_icons_dir, app + '.png') 137 | if not os.path.isfile(icon_path): 138 | icon_path = '' 139 | 140 | return icon_path 141 | 142 | def addApps(items): 143 | for i in range(0,len(items)): 144 | item = items[i] 145 | wf.add_item(item, 146 | icon=getAppIconPath(item), 147 | uid=item, 148 | autocomplete=' '+item, 149 | arg=item, 150 | valid=True) 151 | 152 | def addShortcuts(app, search, include_app_in_search=False): 153 | actions = {} 154 | if (app in shortcuts): 155 | actions = shortcuts[app] 156 | if (app in custom): 157 | actions.update(custom[app]) 158 | 159 | if include_app_in_search: 160 | actions_pairs = [(action, shortcut, app + ' ' + action) for action, shortcut in actions.items()] 161 | else: 162 | actions_pairs = [(action, shortcut, action) for action, shortcut in actions.items()] 163 | 164 | if search: 165 | actions_pairs_to_show = wf.filter(search, actions_pairs, key=lambda a: a[2]) 166 | else: 167 | actions_pairs_to_show = actions_pairs 168 | 169 | icon_path = getAppIconPath(app) 170 | for action, shortcut, _ in actions_pairs_to_show: 171 | addShortcut(action, shortcut, app, icon_path) 172 | 173 | return len(actions_pairs_to_show) 174 | 175 | 176 | def addShortcut(action, shortcut, app, icon_path): 177 | if (action.strip() and shortcut.strip()): 178 | wf.add_item( 179 | action, 180 | shortcut, 181 | icon=icon_path, 182 | largetext=action, 183 | copytext=shortcut, 184 | modifier_subtitles={ 185 | u'ctrl': u'Customize this shortcut' 186 | }, 187 | arg=action 188 | ) 189 | 190 | if __name__ == '__main__': 191 | wf = Workflow( 192 | libraries=['./lib'], 193 | update_settings=update_settings) 194 | wf.data_serializer = 'json' 195 | log = wf.logger 196 | custom = wf.stored_data('custom') 197 | if (custom == None): 198 | custom = { 199 | "custom_app_example":{ 200 | "action":"shortcut" 201 | } 202 | } 203 | wf.store_data('custom',custom) 204 | apps = getApps() 205 | sys.exit(wf.run(main, text_errors='--commit' in wf.args)) 206 | -------------------------------------------------------------------------------- /src/default_cheatsheet.pkl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/default_cheatsheet.pkl -------------------------------------------------------------------------------- /src/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/icon.png -------------------------------------------------------------------------------- /src/shortcuts.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | 3 | import imp 4 | import os 5 | import importlib 6 | import collections 7 | import cPickle 8 | 9 | #https://stackoverflow.com/questions/487971/is-there-a-standard-way-to-list-names-of-python-modules-in-a-package 10 | MODULE_EXTENSIONS = ('.py')#, '.pyc', '.pyo') 11 | def package_contents(package_name): 12 | file, pathname, description = imp.find_module(package_name) 13 | if file: 14 | raise ImportError('Not a package: %r', package_name) 15 | # Use a set because some may be both source and compiled. 16 | return set([os.path.splitext(module)[0] 17 | for module in os.listdir(pathname) 18 | if module.endswith(MODULE_EXTENSIONS) and module != "__init__.py"]) 19 | 20 | cheatsheet = {} 21 | apps = package_contents("apps") 22 | for app in apps: 23 | module = "apps."+app 24 | app_shortcuts = importlib.import_module(module).shortcuts 25 | for app_name in app_shortcuts: 26 | cheatsheet[app_name] = app_shortcuts[app_name] 27 | 28 | 29 | def convert(data): 30 | if isinstance(data, basestring): 31 | return data.decode('utf-8').strip() 32 | elif isinstance(data, collections.Mapping): 33 | return dict(map(convert, data.iteritems())) 34 | elif isinstance(data, collections.Iterable): 35 | return type(data)(map(convert, data)) 36 | else: 37 | return data 38 | 39 | unicode_cheatsheet = convert(cheatsheet) 40 | 41 | output = open('default_cheatsheet.pkl', 'wb') 42 | cPickle.dump(unicode_cheatsheet, output) 43 | output.close() 44 | 45 | print "pkl file updated" -------------------------------------------------------------------------------- /src/version: -------------------------------------------------------------------------------- 1 | 1.12 2 | -------------------------------------------------------------------------------- /src/workflow/Notify.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mutdmour/alfred-workflow-cheatsheet/dcf12c11d515a44efb7720c9a6be13e49a6134ff/src/workflow/Notify.tgz -------------------------------------------------------------------------------- /src/workflow/__init__.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | # encoding: utf-8 3 | # 4 | # Copyright (c) 2014 Dean Jackson 5 | # 6 | # MIT Licence. See http://opensource.org/licenses/MIT 7 | # 8 | # Created on 2014-02-15 9 | # 10 | 11 | """A helper library for `Alfred `_ workflows.""" 12 | 13 | import os 14 | 15 | # Filter matching rules 16 | # Icons 17 | # Exceptions 18 | # Workflow objects 19 | from .workflow import ( 20 | ICON_ACCOUNT, 21 | ICON_BURN, 22 | ICON_CLOCK, 23 | ICON_COLOR, 24 | ICON_COLOUR, 25 | ICON_EJECT, 26 | ICON_ERROR, 27 | ICON_FAVORITE, 28 | ICON_FAVOURITE, 29 | ICON_GROUP, 30 | ICON_HELP, 31 | ICON_HOME, 32 | ICON_INFO, 33 | ICON_NETWORK, 34 | ICON_NOTE, 35 | ICON_SETTINGS, 36 | ICON_SWIRL, 37 | ICON_SWITCH, 38 | ICON_SYNC, 39 | ICON_TRASH, 40 | ICON_USER, 41 | ICON_WARNING, 42 | ICON_WEB, 43 | MATCH_ALL, 44 | MATCH_ALLCHARS, 45 | MATCH_ATOM, 46 | MATCH_CAPITALS, 47 | MATCH_INITIALS, 48 | MATCH_INITIALS_CONTAIN, 49 | MATCH_INITIALS_STARTSWITH, 50 | MATCH_STARTSWITH, 51 | MATCH_SUBSTRING, 52 | KeychainError, 53 | PasswordNotFound, 54 | Workflow, 55 | manager, 56 | ) 57 | from .workflow3 import Variables, Workflow3 58 | 59 | __title__ = "Alfred-Workflow" 60 | __version__ = open(os.path.join(os.path.dirname(__file__), "version")).read() 61 | __author__ = "Dean Jackson" 62 | __licence__ = "MIT" 63 | __copyright__ = "Copyright 2014-2019 Dean Jackson" 64 | 65 | __all__ = [ 66 | "Variables", 67 | "Workflow", 68 | "Workflow3", 69 | "manager", 70 | "PasswordNotFound", 71 | "KeychainError", 72 | "ICON_ACCOUNT", 73 | "ICON_BURN", 74 | "ICON_CLOCK", 75 | "ICON_COLOR", 76 | "ICON_COLOUR", 77 | "ICON_EJECT", 78 | "ICON_ERROR", 79 | "ICON_FAVORITE", 80 | "ICON_FAVOURITE", 81 | "ICON_GROUP", 82 | "ICON_HELP", 83 | "ICON_HOME", 84 | "ICON_INFO", 85 | "ICON_NETWORK", 86 | "ICON_NOTE", 87 | "ICON_SETTINGS", 88 | "ICON_SWIRL", 89 | "ICON_SWITCH", 90 | "ICON_SYNC", 91 | "ICON_TRASH", 92 | "ICON_USER", 93 | "ICON_WARNING", 94 | "ICON_WEB", 95 | "MATCH_ALL", 96 | "MATCH_ALLCHARS", 97 | "MATCH_ATOM", 98 | "MATCH_CAPITALS", 99 | "MATCH_INITIALS", 100 | "MATCH_INITIALS_CONTAIN", 101 | "MATCH_INITIALS_STARTSWITH", 102 | "MATCH_STARTSWITH", 103 | "MATCH_SUBSTRING", 104 | ] 105 | -------------------------------------------------------------------------------- /src/workflow/background.py: -------------------------------------------------------------------------------- 1 | # encoding: utf-8 2 | # 3 | # Copyright (c) 2014 deanishe@deanishe.net 4 | # 5 | # MIT Licence. See http://opensource.org/licenses/MIT 6 | # 7 | # Created on 2014-04-06 8 | # 9 | 10 | """This module provides an API to run commands in background processes. 11 | 12 | Combine with the :ref:`caching API ` to work from cached data 13 | while you fetch fresh data in the background. 14 | 15 | See :ref:`the User Manual ` for more information 16 | and examples. 17 | """ 18 | 19 | 20 | import os 21 | import pickle 22 | import signal 23 | import subprocess 24 | import sys 25 | 26 | from workflow import Workflow 27 | 28 | __all__ = ["is_running", "run_in_background"] 29 | 30 | _wf = None 31 | 32 | 33 | def wf(): 34 | global _wf 35 | if _wf is None: 36 | _wf = Workflow() 37 | return _wf 38 | 39 | 40 | def _log(): 41 | return wf().logger 42 | 43 | 44 | def _arg_cache(name): 45 | """Return path to pickle cache file for arguments. 46 | 47 | :param name: name of task 48 | :type name: ``unicode`` 49 | :returns: Path to cache file 50 | :rtype: ``unicode`` filepath 51 | 52 | """ 53 | return wf().cachefile(name + ".argcache") 54 | 55 | 56 | def _pid_file(name): 57 | """Return path to PID file for ``name``. 58 | 59 | :param name: name of task 60 | :type name: ``unicode`` 61 | :returns: Path to PID file for task 62 | :rtype: ``unicode`` filepath 63 | 64 | """ 65 | return wf().cachefile(name + ".pid") 66 | 67 | 68 | def _process_exists(pid): 69 | """Check if a process with PID ``pid`` exists. 70 | 71 | :param pid: PID to check 72 | :type pid: ``int`` 73 | :returns: ``True`` if process exists, else ``False`` 74 | :rtype: ``Boolean`` 75 | 76 | """ 77 | try: 78 | os.kill(pid, 0) 79 | except OSError: # not running 80 | return False 81 | return True 82 | 83 | 84 | def _job_pid(name): 85 | """Get PID of job or `None` if job does not exist. 86 | 87 | Args: 88 | name (str): Name of job. 89 | 90 | Returns: 91 | int: PID of job process (or `None` if job doesn't exist). 92 | """ 93 | pidfile = _pid_file(name) 94 | if not os.path.exists(pidfile): 95 | return 96 | 97 | with open(pidfile, "rb") as fp: 98 | read = fp.read() 99 | # print(str(read)) 100 | pid = int.from_bytes(read, sys.byteorder) 101 | # print(pid) 102 | 103 | if _process_exists(pid): 104 | return pid 105 | 106 | os.unlink(pidfile) 107 | 108 | 109 | def is_running(name): 110 | """Test whether task ``name`` is currently running. 111 | 112 | :param name: name of task 113 | :type name: unicode 114 | :returns: ``True`` if task with name ``name`` is running, else ``False`` 115 | :rtype: bool 116 | 117 | """ 118 | if _job_pid(name) is not None: 119 | return True 120 | 121 | return False 122 | 123 | 124 | def _background( 125 | pidfile, stdin="/dev/null", stdout="/dev/null", stderr="/dev/null" 126 | ): # pragma: no cover 127 | """Fork the current process into a background daemon. 128 | 129 | :param pidfile: file to write PID of daemon process to. 130 | :type pidfile: filepath 131 | :param stdin: where to read input 132 | :type stdin: filepath 133 | :param stdout: where to write stdout output 134 | :type stdout: filepath 135 | :param stderr: where to write stderr output 136 | :type stderr: filepath 137 | 138 | """ 139 | 140 | def _fork_and_exit_parent(errmsg, wait=False, write=False): 141 | try: 142 | pid = os.fork() 143 | if pid > 0: 144 | if write: # write PID of child process to `pidfile` 145 | tmp = pidfile + ".tmp" 146 | with open(tmp, "wb") as fp: 147 | fp.write(pid.to_bytes(4, sys.byteorder)) 148 | os.rename(tmp, pidfile) 149 | if wait: # wait for child process to exit 150 | os.waitpid(pid, 0) 151 | os._exit(0) 152 | except OSError as err: 153 | _log().critical("%s: (%d) %s", errmsg, err.errno, err.strerror) 154 | raise err 155 | 156 | # Do first fork and wait for second fork to finish. 157 | _fork_and_exit_parent("fork #1 failed", wait=True) 158 | 159 | # Decouple from parent environment. 160 | os.chdir(wf().workflowdir) 161 | os.setsid() 162 | 163 | # Do second fork and write PID to pidfile. 164 | _fork_and_exit_parent("fork #2 failed", write=True) 165 | 166 | # Now I am a daemon! 167 | # Redirect standard file descriptors. 168 | si = open(stdin, "r", 1) 169 | so = open(stdout, "a+", 1) 170 | se = open(stderr, "a+", 1) 171 | if hasattr(sys.stdin, "fileno"): 172 | os.dup2(si.fileno(), sys.stdin.fileno()) 173 | if hasattr(sys.stdout, "fileno"): 174 | os.dup2(so.fileno(), sys.stdout.fileno()) 175 | if hasattr(sys.stderr, "fileno"): 176 | os.dup2(se.fileno(), sys.stderr.fileno()) 177 | 178 | 179 | def kill(name, sig=signal.SIGTERM): 180 | """Send a signal to job ``name`` via :func:`os.kill`. 181 | 182 | .. versionadded:: 1.29 183 | 184 | Args: 185 | name (str): Name of the job 186 | sig (int, optional): Signal to send (default: SIGTERM) 187 | 188 | Returns: 189 | bool: `False` if job isn't running, `True` if signal was sent. 190 | """ 191 | pid = _job_pid(name) 192 | if pid is None: 193 | return False 194 | 195 | os.kill(pid, sig) 196 | return True 197 | 198 | 199 | def run_in_background(name, args, **kwargs): 200 | r"""Cache arguments then call this script again via :func:`subprocess.call`. 201 | 202 | :param name: name of job 203 | :type name: unicode 204 | :param args: arguments passed as first argument to :func:`subprocess.call` 205 | :param \**kwargs: keyword arguments to :func:`subprocess.call` 206 | :returns: exit code of sub-process 207 | :rtype: int 208 | 209 | When you call this function, it caches its arguments and then calls 210 | ``background.py`` in a subprocess. The Python subprocess will load the 211 | cached arguments, fork into the background, and then run the command you 212 | specified. 213 | 214 | This function will return as soon as the ``background.py`` subprocess has 215 | forked, returning the exit code of *that* process (i.e. not of the command 216 | you're trying to run). 217 | 218 | If that process fails, an error will be written to the log file. 219 | 220 | If a process is already running under the same name, this function will 221 | return immediately and will not run the specified command. 222 | 223 | """ 224 | if is_running(name): 225 | _log().info("[%s] job already running", name) 226 | return 227 | 228 | argcache = _arg_cache(name) 229 | 230 | # Cache arguments 231 | with open(argcache, "wb") as fp: 232 | pickle.dump({"args": args, "kwargs": kwargs}, fp) 233 | _log().debug("[%s] command cached: %s", name, argcache) 234 | 235 | # Call this script 236 | cmd = [sys.executable, "-m", "workflow.background", name] 237 | _log().debug("[%s] passing job to background runner: %r", name, cmd) 238 | retcode = subprocess.call(cmd) 239 | 240 | if retcode: # pragma: no cover 241 | _log().error("[%s] background runner failed with %d", name, retcode) 242 | else: 243 | _log().debug("[%s] background job started", name) 244 | 245 | return retcode 246 | 247 | 248 | def main(wf): # pragma: no cover 249 | """Run command in a background process. 250 | 251 | Load cached arguments, fork into background, then call 252 | :meth:`subprocess.call` with cached arguments. 253 | 254 | """ 255 | log = wf.logger 256 | name = wf.args[0] 257 | argcache = _arg_cache(name) 258 | if not os.path.exists(argcache): 259 | msg = "[{0}] command cache not found: {1}".format(name, argcache) 260 | log.critical(msg) 261 | raise IOError(msg) 262 | 263 | # Fork to background and run command 264 | pidfile = _pid_file(name) 265 | _background(pidfile) 266 | 267 | # Load cached arguments 268 | with open(argcache, "rb") as fp: 269 | data = pickle.load(fp) 270 | 271 | # Cached arguments 272 | args = data["args"] 273 | kwargs = data["kwargs"] 274 | 275 | # Delete argument cache file 276 | os.unlink(argcache) 277 | 278 | try: 279 | # Run the command 280 | log.debug("[%s] running command: %r", name, args) 281 | 282 | retcode = subprocess.call(args, **kwargs) 283 | 284 | if retcode: 285 | log.error("[%s] command failed with status %d", name, retcode) 286 | finally: 287 | os.unlink(pidfile) 288 | 289 | log.debug("[%s] job complete", name) 290 | 291 | 292 | if __name__ == "__main__": # pragma: no cover 293 | wf().run(main) 294 | -------------------------------------------------------------------------------- /src/workflow/version: -------------------------------------------------------------------------------- 1 | 1.40.0 -------------------------------------------------------------------------------- /tests/tests.py: -------------------------------------------------------------------------------- 1 | # coding: utf8 2 | 3 | import cheatsheet 4 | import unittest 5 | from workflow import Workflow 6 | 7 | shortcuts = { 8 | "chrome":{ 9 | "Open a new window":"⌘ + n", 10 | "Open a new window in Incognito mode":"⌘ + t", 11 | }, 12 | "RES":{ 13 | "Show help for keyboard shortcuts":"shift + /", 14 | "Launch RES command line.":"/", 15 | "Move up in posts":"j" 16 | } 17 | } 18 | cheatsheet.shortcuts = shortcuts 19 | 20 | class TestCheatsheet(unittest.TestCase): 21 | 22 | def setUp(self): 23 | cheatsheet.wf = Workflow() 24 | 25 | def test_getApps(self): 26 | res = cheatsheet.getApps() 27 | self.assertListEqual(res, ['chrome', 'RES']) 28 | 29 | def test_getAppShortcuts(self): 30 | res = cheatsheet.getAppShortcuts('chrome') 31 | self.assertListEqual(res, ["Open a new window", "Open a new window in Incognito mode"]) 32 | 33 | def test_getShortcut(self): 34 | res = cheatsheet.getShortcut("chrome","Open a new window") 35 | self.assertEqual(res, "⌘ + n") 36 | 37 | def test_addItems(self): 38 | res = cheatsheet.wf._items 39 | self.assertEqual(len(res),0) 40 | cheatsheet.addItems(['a','b']) 41 | res = cheatsheet.wf._items 42 | self.assertEqual(len(res),2) 43 | 44 | # # test get apps 45 | # def test_run_no_args(self): 46 | # res = cheatsheet.wf._items 47 | # self.assertEqual(len(res),0) 48 | # cheatsheet.run([]) 49 | # self.assertEqual(len(res),2) 50 | # #TODO check items are chrome and RES 51 | 52 | # def test_run_one_arg(self): 53 | # res = cheatsheet.wf._items 54 | # self.assertEqual(len(res),0) 55 | # cheatsheet.run(["RES"]) 56 | # self.assertEqual(len(res),3) 57 | # #TODO check items 58 | 59 | # def test_run_two_arg(self): 60 | # res = cheatsheet.wf._items 61 | # self.assertEqual(len(res),0) 62 | # cheatsheet.run(["RES", "Move up in posts"]) 63 | # self.assertEqual(len(res),1) 64 | 65 | if __name__ == '__main__': 66 | unittest.main() --------------------------------------------------------------------------------