KeyHolder

Record shortcuts in macOS, like Alfred.app.

Stars
371
Forks
33
Open issues
4
Closed issues
13
Last release
6 months ago
Last commit
6 months ago
Watchers
371
Total releases
13
Total commits
96
Open PRs
0
Closed PRs
43
Repo URL
Platform
Mac
License
mit
Category
Offers premium version?
NO
Proprietary?
NO
About

KeyHolder

Record shortcuts in macOS, like Alfred App.

Usage CocoaPods

pod 'KeyHolder'
Carthage
github "Clipy/KeyHolder"
github "Clipy/Magnet"
github "Clipy/Sauce"
Example

Set default key combo.

let recordView = RecordView(frame: CGRect.zero)
recordView.tintColor = NSColor(red: 0.164, green: 0.517, blue: 0.823, alpha: 1)
let keyCombo = KeyCombo(doubledModifiers: .command)
recordView.keyCombo = keyCombo

Some delegate methods

func recordViewShouldBeginRecording(_ recordView: RecordView) -> Bool
func recordView(_ recordView: RecordView, canRecordShortcut keyCombo: KeyCombo) -> Bool
func recordView(_ recordView: RecordView, didChangeKeyCombo keyCombo: KeyCombo?)
func recordViewDidEndRecording(_ recordView: RecordView)

Or you can use closures.

let recordView = RecordView(frame: CGRect.zero)
recordView.didChange = { keyCombo in
    guard let keyCombo = keyCombo else { return } // Clear shortcut
    // Changed new shortcut
}
Dependencies

The source code is dependent on hotkey library.

How to Build

  1. Move to the project root directory
  2. Install dependency library with carthage or git submodule
  3. carthage checkout --use-submodules or git submodule update --init --recursive
  4. Open KeyHolder.xcworkspace on Xcode.
  5. build.
Alternative Projects

Subscribe to Open Source Businees Newsletter

Twice a month we will interview people behind open source businesses. We will talk about how they are building a business on top of open source projects.

We'll never share your email with anyone else.