Latest 3.0.1
Homepage https://github.com/Clipy/KeyHolder
License MIT
Platforms osx 10.9
Dependencies Magnet
Frameworks Carbon, Cocoa
Authors

Release version
License: MIT
Carthage compatible
Version
Platform

Record shortcuts in macOS, like Alfred App.

KeyHolder
KeyHolder

Requirements

  • macOS 10.10+
  • Xcode 10.0+
  • Swift 4.2+

Usage

CocoaPods

pod 'KeyHolder'

Carthage

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

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 recordViewDidClearShortcut(_ recordView: RecordView)
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 init && git submodule update
  4. Open KeyHolder.xcworkspace on Xcode.
  5. build.

Contributing

  1. Fork it ( https://github.com/Clipy/KeyHolder/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request

Latest podspec

{
    "name": "KeyHolder",
    "version": "3.0.1",
    "summary": "Record shortcuts in macOS, like Alfred app.",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "homepage": "https://github.com/Clipy/KeyHolder",
    "authors": {
        "Econa77": "f.[email protected]"
    },
    "source": {
        "git": "https://github.com/Clipy/KeyHolder.git",
        "tag": "v3.0.1"
    },
    "platforms": {
        "osx": "10.9"
    },
    "source_files": "Lib/KeyHolder/*.swift",
    "resource_bundles": {
        "KeyHolder": [
            "Lib/KeyHolder/Resources/*.png"
        ]
    },
    "frameworks": [
        "Carbon",
        "Cocoa"
    ],
    "dependencies": {
        "Magnet": [
            "~> 2.3"
        ]
    }
}

Pin It on Pinterest

Share This