Swiftpack.co -  Clipy/KeyHolder as Swift Package
Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
Record shortcuts in macOS, like Alfred.app.
.package(url: "https://github.com/Clipy/KeyHolder.git", from: "v4.1.0")


CI Release version License: MIT Carthage compatible Version Platform SPM supported

Record shortcuts in macOS, like Alfred App.



pod 'KeyHolder'


github "Clipy/KeyHolder"
github "Clipy/Magnet"
github "Clipy/Sauce"


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


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.


Stars: 311
Last commit: 5 days ago

Ad: Job Offers

iOS Software Engineer @ Perry Street Software
Perry Street Software is Jack’d and SCRUFF. We are two of the world’s largest gay, bi, trans and queer social dating apps on iOS and Android. Our brands reach more than 20 million members worldwide so members can connect, meet and express themselves on a platform that prioritizes privacy and security. We invest heavily into SwiftUI and using Swift Packages to modularize the codebase.

Release Notes

5 days ago

Breaking Changes


  • Improve default colors accessibility. ( #55 )


  • None.

Thanks @DivineDominion for contributing!

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API