Skip to content

deseven/iCanHazShortcut

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

iCanHazShortcut

Simple shortcut manager for macOS 13 or higher. It lets you execute any command that works in your terminal by pressing a combination of keyboard keys. No rocket science involved!

iCanHazShortcut

Installation

Stable release — download from the Releases page, or install via Homebrew:

brew install icanhazshortcut

Dev build — compiled from the master branch: download
(only use this if you need unreleased functionality or want to help with testing)

AppleScript

  • list / listJSON — list all shortcuts as TSV or JSON
  • enable / disable / toggle / trigger — control a shortcut by its key combination (e.g. "⇧⌘L")
  • enableAction / disableAction / toggleAction / triggerAction — control a shortcut by its action name (e.g. "lock screen")
  • enableID / disableID / toggleID / triggerID — control a shortcut by its ID (e.g. "a1b2c3d4e5")

Note

Since v2.0.0, shortcut IDs are string-based (derived from action and command) and are not compatible with the numeric IDs used in v1.x.

Examples:

tell application "iCanHazShortcut" to list
tell application "iCanHazShortcut" to enable "⇧⌘L"
tell application "iCanHazShortcut" to disableAction "lock screen"
tell application "iCanHazShortcut" to toggleID "a1b2c3d4e5"
tell application "iCanHazShortcut" to triggerAction "lock screen"
tell application "iCanHazShortcut" to listJSON

Configuration

  • Config is stored in TOML format at ~/Library/Application Support/iCanHazShortcut/ichs-config.toml
  • A backup is created automatically before every config change (up to 30 backups are kept in the backups/ subdirectory)
  • When upgrading from v1.x, the app will offer to migrate your old INI config (~/.config/iCanHazShortcut/config.ini) to the new format

Building from Source

  1. Install Xcode command line tools: xcode-select --install
  2. Clone the repo
  3. Run the build script:
./build.sh            # debug build (default)
./build.sh release    # release build with signing & notarization

For code signing and notarization, copy .env.example to .env and fill in the required variables.

Help & Support