├── .codecov.yml ├── .gitignore ├── .travis.yml ├── ATTRIBUTION.md ├── CHANGES.md ├── Documentation.playground ├── Pages │ ├── Integration with Interface Builder.xcplaygroundpage │ │ ├── Contents.swift │ │ └── Resources │ │ │ ├── Step1.heic │ │ │ ├── Step2.heic │ │ │ ├── Step3.heic │ │ │ ├── Step4.heic │ │ │ ├── Step5.heic │ │ │ ├── Step6.heic │ │ │ ├── Step7.heic │ │ │ └── Step8.heic │ ├── Sandbox.xcplaygroundpage │ │ └── Contents.swift │ └── Showcase.xcplaygroundpage │ │ └── Contents.swift └── contents.xcplayground ├── LICENSE.txt ├── Package.swift ├── README.md ├── ShortcutRecorder.podspec ├── ShortcutRecorder.xcodeproj ├── project.pbxproj └── xcshareddata │ ├── IDETemplateMacros.plist │ └── xcschemes │ ├── Inspector.xcscheme │ └── ShortcutRecorder.framework.xcscheme ├── Sources ├── Inspector │ ├── App.swift │ ├── BindingsInspectorController.swift │ ├── BindingsInspectorController.xib │ ├── Info.plist │ ├── LayoutInspectorController.swift │ ├── LayoutInspectorController.xib │ ├── Main.storyboard │ ├── Settings.swift │ ├── Utility.swift │ └── Views.swift └── ShortcutRecorder │ ├── Info.plist │ ├── Resources │ ├── Images.xcassets │ │ ├── Contents.json │ │ ├── sr-mojave-aqua-acc-bezel-disabled-center.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-acc-bezel-disabled-center.png │ │ │ └── sr-mojave-aqua-acc-bezel-disabled-center@2x.png │ │ ├── sr-mojave-aqua-acc-bezel-disabled-left.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-acc-bezel-disabled-left.png │ │ │ └── sr-mojave-aqua-acc-bezel-disabled-left@2x.png │ │ ├── sr-mojave-aqua-acc-bezel-disabled-right.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-acc-bezel-disabled-right.png │ │ │ └── sr-mojave-aqua-acc-bezel-disabled-right@2x.png │ │ ├── sr-mojave-aqua-acc-bezel-normal-center.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-acc-bezel-normal-center.png │ │ │ └── sr-mojave-aqua-acc-bezel-normal-center@2x.png │ │ ├── sr-mojave-aqua-acc-bezel-normal-left.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-acc-bezel-normal-left.png │ │ │ └── sr-mojave-aqua-acc-bezel-normal-left@2x.png │ │ ├── sr-mojave-aqua-acc-bezel-normal-right.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-acc-bezel-normal-right.png │ │ │ └── sr-mojave-aqua-acc-bezel-normal-right@2x.png │ │ ├── sr-mojave-aqua-acc-bezel-pressed-center.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-acc-bezel-pressed-center.png │ │ │ └── sr-mojave-aqua-acc-bezel-pressed-center@2x.png │ │ ├── sr-mojave-aqua-acc-bezel-pressed-left.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-acc-bezel-pressed-left.png │ │ │ └── sr-mojave-aqua-acc-bezel-pressed-left@2x.png │ │ ├── sr-mojave-aqua-acc-bezel-pressed-right.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-acc-bezel-pressed-right.png │ │ │ └── sr-mojave-aqua-acc-bezel-pressed-right@2x.png │ │ ├── sr-mojave-aqua-acc-bezel-recording-center.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-acc-bezel-recording-center.png │ │ │ └── sr-mojave-aqua-acc-bezel-recording-center@2x.png │ │ ├── sr-mojave-aqua-acc-bezel-recording-left.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-acc-bezel-recording-left.png │ │ │ └── sr-mojave-aqua-acc-bezel-recording-left@2x.png │ │ ├── sr-mojave-aqua-acc-bezel-recording-right.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-acc-bezel-recording-right.png │ │ │ └── sr-mojave-aqua-acc-bezel-recording-right@2x.png │ │ ├── sr-mojave-aqua-bezel-disabled-center.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-bezel-disabled-center.png │ │ │ └── sr-mojave-aqua-bezel-disabled-center@2x.png │ │ ├── sr-mojave-aqua-bezel-disabled-left.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-bezel-disabled-left.png │ │ │ └── sr-mojave-aqua-bezel-disabled-left@2x.png │ │ ├── sr-mojave-aqua-bezel-disabled-right.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-bezel-disabled-right.png │ │ │ └── sr-mojave-aqua-bezel-disabled-right@2x.png │ │ ├── sr-mojave-aqua-bezel-normal-center.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-bezel-normal-center.png │ │ │ └── sr-mojave-aqua-bezel-normal-center@2x.png │ │ ├── sr-mojave-aqua-bezel-normal-left.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-bezel-normal-left.png │ │ │ └── sr-mojave-aqua-bezel-normal-left@2x.png │ │ ├── sr-mojave-aqua-bezel-normal-right.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-bezel-normal-right.png │ │ │ └── sr-mojave-aqua-bezel-normal-right@2x.png │ │ ├── sr-mojave-aqua-bezel-pressed-center.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-bezel-pressed-center.png │ │ │ └── sr-mojave-aqua-bezel-pressed-center@2x.png │ │ ├── sr-mojave-aqua-bezel-pressed-left.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-bezel-pressed-left.png │ │ │ └── sr-mojave-aqua-bezel-pressed-left@2x.png │ │ ├── sr-mojave-aqua-bezel-pressed-right.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-bezel-pressed-right.png │ │ │ └── sr-mojave-aqua-bezel-pressed-right@2x.png │ │ ├── sr-mojave-aqua-bezel-recording-center.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-bezel-recording-center.png │ │ │ └── sr-mojave-aqua-bezel-recording-center@2x.png │ │ ├── sr-mojave-aqua-bezel-recording-left.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-bezel-recording-left.png │ │ │ └── sr-mojave-aqua-bezel-recording-left@2x.png │ │ ├── sr-mojave-aqua-bezel-recording-right.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-bezel-recording-right.png │ │ │ └── sr-mojave-aqua-bezel-recording-right@2x.png │ │ ├── sr-mojave-aqua-button-cancel-normal.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-button-cancel-normal.png │ │ │ └── sr-mojave-aqua-button-cancel-normal@2x.png │ │ ├── sr-mojave-aqua-button-cancel-pressed.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-button-cancel-pressed.png │ │ │ └── sr-mojave-aqua-button-cancel-pressed@2x.png │ │ ├── sr-mojave-aqua-button-clear-normal.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-button-clear-normal.png │ │ │ └── sr-mojave-aqua-button-clear-normal@2x.png │ │ ├── sr-mojave-aqua-button-clear-pressed.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-aqua-button-clear-pressed.png │ │ │ └── sr-mojave-aqua-button-clear-pressed@2x.png │ │ ├── sr-mojave-darkaqua-acc-bezel-disabled-center.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-acc-bezel-disabled-center.png │ │ │ └── sr-mojave-darkaqua-acc-bezel-disabled-center@2x.png │ │ ├── sr-mojave-darkaqua-acc-bezel-disabled-left.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-acc-bezel-disabled-left.png │ │ │ └── sr-mojave-darkaqua-acc-bezel-disabled-left@2x.png │ │ ├── sr-mojave-darkaqua-acc-bezel-disabled-right.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-acc-bezel-disabled-right.png │ │ │ └── sr-mojave-darkaqua-acc-bezel-disabled-right@2x.png │ │ ├── sr-mojave-darkaqua-acc-bezel-normal-center.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-acc-bezel-normal-center.png │ │ │ └── sr-mojave-darkaqua-acc-bezel-normal-center@2x.png │ │ ├── sr-mojave-darkaqua-acc-bezel-normal-left.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-acc-bezel-normal-left.png │ │ │ └── sr-mojave-darkaqua-acc-bezel-normal-left@2x.png │ │ ├── sr-mojave-darkaqua-acc-bezel-normal-right.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-acc-bezel-normal-right.png │ │ │ └── sr-mojave-darkaqua-acc-bezel-normal-right@2x.png │ │ ├── sr-mojave-darkaqua-acc-bezel-pressed-center.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-acc-bezel-pressed-center.png │ │ │ └── sr-mojave-darkaqua-acc-bezel-pressed-center@2x.png │ │ ├── sr-mojave-darkaqua-acc-bezel-pressed-left.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-acc-bezel-pressed-left.png │ │ │ └── sr-mojave-darkaqua-acc-bezel-pressed-left@2x.png │ │ ├── sr-mojave-darkaqua-acc-bezel-pressed-right.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-acc-bezel-pressed-right.png │ │ │ └── sr-mojave-darkaqua-acc-bezel-pressed-right@2x.png │ │ ├── sr-mojave-darkaqua-acc-bezel-recording-center.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-acc-bezel-recording-center.png │ │ │ └── sr-mojave-darkaqua-acc-bezel-recording-center@2x.png │ │ ├── sr-mojave-darkaqua-acc-bezel-recording-left.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-acc-bezel-recording-left.png │ │ │ └── sr-mojave-darkaqua-acc-bezel-recording-left@2x.png │ │ ├── sr-mojave-darkaqua-acc-bezel-recording-right.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-acc-bezel-recording-right.png │ │ │ └── sr-mojave-darkaqua-acc-bezel-recording-right@2x.png │ │ ├── sr-mojave-darkaqua-bezel-disabled-center.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-bezel-disabled-center.png │ │ │ └── sr-mojave-darkaqua-bezel-disabled-center@2x.png │ │ ├── sr-mojave-darkaqua-bezel-disabled-left.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-bezel-disabled-left.png │ │ │ └── sr-mojave-darkaqua-bezel-disabled-left@2x.png │ │ ├── sr-mojave-darkaqua-bezel-disabled-right.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-bezel-disabled-right.png │ │ │ └── sr-mojave-darkaqua-bezel-disabled-right@2x.png │ │ ├── sr-mojave-darkaqua-bezel-normal-center.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-bezel-normal-center.png │ │ │ └── sr-mojave-darkaqua-bezel-normal-center@2x.png │ │ ├── sr-mojave-darkaqua-bezel-normal-left.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-bezel-normal-left.png │ │ │ └── sr-mojave-darkaqua-bezel-normal-left@2x.png │ │ ├── sr-mojave-darkaqua-bezel-normal-right.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-bezel-normal-right.png │ │ │ └── sr-mojave-darkaqua-bezel-normal-right@2x.png │ │ ├── sr-mojave-darkaqua-bezel-pressed-center.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-bezel-pressed-center.png │ │ │ └── sr-mojave-darkaqua-bezel-pressed-center@2x.png │ │ ├── sr-mojave-darkaqua-bezel-pressed-left.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-bezel-pressed-left.png │ │ │ └── sr-mojave-darkaqua-bezel-pressed-left@2x.png │ │ ├── sr-mojave-darkaqua-bezel-pressed-right.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-bezel-pressed-right.png │ │ │ └── sr-mojave-darkaqua-bezel-pressed-right@2x.png │ │ ├── sr-mojave-darkaqua-bezel-recording-center.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-bezel-recording-center.png │ │ │ └── sr-mojave-darkaqua-bezel-recording-center@2x.png │ │ ├── sr-mojave-darkaqua-bezel-recording-left.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-bezel-recording-left.png │ │ │ └── sr-mojave-darkaqua-bezel-recording-left@2x.png │ │ ├── sr-mojave-darkaqua-bezel-recording-right.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-bezel-recording-right.png │ │ │ └── sr-mojave-darkaqua-bezel-recording-right@2x.png │ │ ├── sr-mojave-darkaqua-button-cancel-normal.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-button-cancel-normal.png │ │ │ └── sr-mojave-darkaqua-button-cancel-normal@2x.png │ │ ├── sr-mojave-darkaqua-button-cancel-pressed.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-button-cancel-pressed.png │ │ │ └── sr-mojave-darkaqua-button-cancel-pressed@2x.png │ │ ├── sr-mojave-darkaqua-button-clear-normal.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-button-clear-normal.png │ │ │ └── sr-mojave-darkaqua-button-clear-normal@2x.png │ │ ├── sr-mojave-darkaqua-button-clear-pressed.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-mojave-darkaqua-button-clear-pressed.png │ │ │ └── sr-mojave-darkaqua-button-clear-pressed@2x.png │ │ ├── sr-mojave-info.dataset │ │ │ ├── Contents.json │ │ │ └── info.json │ │ ├── sr-yosemite-bezel-disabled-center.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-yosemite-bezel-disabled-center.png │ │ │ └── sr-yosemite-bezel-disabled-center@2x.png │ │ ├── sr-yosemite-bezel-disabled-left.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-yosemite-bezel-disabled-left.png │ │ │ └── sr-yosemite-bezel-disabled-left@2x.png │ │ ├── sr-yosemite-bezel-disabled-right.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-yosemite-bezel-disabled-right.png │ │ │ └── sr-yosemite-bezel-disabled-right@2x.png │ │ ├── sr-yosemite-bezel-normal-center.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-yosemite-bezel-normal-center.png │ │ │ └── sr-yosemite-bezel-normal-center@2x.png │ │ ├── sr-yosemite-bezel-normal-left.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-yosemite-bezel-normal-left.png │ │ │ └── sr-yosemite-bezel-normal-left@2x.png │ │ ├── sr-yosemite-bezel-normal-right.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-yosemite-bezel-normal-right.png │ │ │ └── sr-yosemite-bezel-normal-right@2x.png │ │ ├── sr-yosemite-bezel-pressed-center.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-yosemite-bezel-pressed-center.png │ │ │ └── sr-yosemite-bezel-pressed-center@2x.png │ │ ├── sr-yosemite-bezel-pressed-left.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-yosemite-bezel-pressed-left.png │ │ │ └── sr-yosemite-bezel-pressed-left@2x.png │ │ ├── sr-yosemite-bezel-pressed-right.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-yosemite-bezel-pressed-right.png │ │ │ └── sr-yosemite-bezel-pressed-right@2x.png │ │ ├── sr-yosemite-blue-bezel-recording-center.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-yosemite-blue-bezel-recording-center.png │ │ │ └── sr-yosemite-blue-bezel-recording-center@2x.png │ │ ├── sr-yosemite-blue-bezel-recording-left.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-yosemite-blue-bezel-recording-left.png │ │ │ └── sr-yosemite-blue-bezel-recording-left@2x.png │ │ ├── sr-yosemite-blue-bezel-recording-right.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-yosemite-blue-bezel-recording-right.png │ │ │ └── sr-yosemite-blue-bezel-recording-right@2x.png │ │ ├── sr-yosemite-button-cancel-normal.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-yosemite-button-cancel-normal.png │ │ │ └── sr-yosemite-button-cancel-normal@2x.png │ │ ├── sr-yosemite-button-cancel-pressed.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-yosemite-button-cancel-pressed.png │ │ │ └── sr-yosemite-button-cancel-pressed@2x.png │ │ ├── sr-yosemite-button-clear-normal.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-yosemite-button-clear-normal.png │ │ │ └── sr-yosemite-button-clear-normal@2x.png │ │ ├── sr-yosemite-button-clear-pressed.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-yosemite-button-clear-pressed.png │ │ │ └── sr-yosemite-button-clear-pressed@2x.png │ │ ├── sr-yosemite-graphite-bezel-recording-center.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-yosemite-graphite-bezel-recording-center.png │ │ │ └── sr-yosemite-graphite-bezel-recording-center@2x.png │ │ ├── sr-yosemite-graphite-bezel-recording-left.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-yosemite-graphite-bezel-recording-left.png │ │ │ └── sr-yosemite-graphite-bezel-recording-left@2x.png │ │ ├── sr-yosemite-graphite-bezel-recording-right.imageset │ │ │ ├── Contents.json │ │ │ ├── sr-yosemite-graphite-bezel-recording-right.png │ │ │ └── sr-yosemite-graphite-bezel-recording-right@2x.png │ │ └── sr-yosemite-info.dataset │ │ │ ├── Contents.json │ │ │ └── info.json │ ├── ShortcutRecorder.sketch │ ├── ca.lproj │ │ └── ShortcutRecorder.strings │ ├── cs.lproj │ │ └── ShortcutRecorder.strings │ ├── de.lproj │ │ └── ShortcutRecorder.strings │ ├── el.lproj │ │ └── ShortcutRecorder.strings │ ├── en.lproj │ │ └── ShortcutRecorder.strings │ ├── es.lproj │ │ └── ShortcutRecorder.strings │ ├── export-ShortcutRecorder-slices.py │ ├── fr.lproj │ │ └── ShortcutRecorder.strings │ ├── it.lproj │ │ └── ShortcutRecorder.strings │ ├── ja.lproj │ │ └── ShortcutRecorder.strings │ ├── ko.lproj │ │ └── ShortcutRecorder.strings │ ├── nb.lproj │ │ └── ShortcutRecorder.strings │ ├── nl.lproj │ │ └── ShortcutRecorder.strings │ ├── pl.lproj │ │ └── ShortcutRecorder.strings │ ├── pt-BR.lproj │ │ └── ShortcutRecorder.strings │ ├── pt.lproj │ │ └── ShortcutRecorder.strings │ ├── ro.lproj │ │ └── ShortcutRecorder.strings │ ├── ru.lproj │ │ └── ShortcutRecorder.strings │ ├── sk.lproj │ │ └── ShortcutRecorder.strings │ ├── sv.lproj │ │ └── ShortcutRecorder.strings │ ├── th.lproj │ │ └── ShortcutRecorder.strings │ ├── zh-Hans.lproj │ │ └── ShortcutRecorder.strings │ └── zh-Hant.lproj │ │ └── ShortcutRecorder.strings │ ├── SRCommon.m │ ├── SRKeyBindingTransformer.m │ ├── SRKeyCodeTransformer.m │ ├── SRKeyEquivalentModifierMaskTransformer.m │ ├── SRKeyEquivalentTransformer.m │ ├── SRModifierFlagsTransformer.m │ ├── SRRecorderControl.m │ ├── SRRecorderControlStyle.m │ ├── SRShortcut.m │ ├── SRShortcutAction.m │ ├── SRShortcutController.m │ ├── SRShortcutFormatter.m │ ├── SRShortcutValidator.m │ └── include │ └── ShortcutRecorder │ ├── SRCommon.h │ ├── SRKeyBindingTransformer.h │ ├── SRKeyCodeTransformer.h │ ├── SRKeyEquivalentModifierMaskTransformer.h │ ├── SRKeyEquivalentTransformer.h │ ├── SRModifierFlagsTransformer.h │ ├── SRRecorderControl.h │ ├── SRRecorderControlStyle.h │ ├── SRShortcut.h │ ├── SRShortcutAction.h │ ├── SRShortcutController.h │ ├── SRShortcutFormatter.h │ ├── SRShortcutValidator.h │ └── ShortcutRecorder.h └── Tests └── ShortcutRecorderTests ├── Info.plist ├── SRCommonTests.swift ├── SRKeyBindingTransformerTests.swift ├── SRKeyCodeTransformerTests.swift ├── SRKeyEquivalentModifierMaskTransformerTests.swift ├── SRKeyEquivalentTransformerTests.swift ├── SRModifierFlagsTransformerTests.swift ├── SRRecorderControlStylingTests.swift ├── SRRecorderControlTests.swift ├── SRShortcutActionTests.swift ├── SRShortcutControllerTests.swift ├── SRShortcutFormatterTests.swift ├── SRShortcutTests.swift ├── SRValidatorTests.swift └── Utility.swift /.codecov.yml: -------------------------------------------------------------------------------- 1 | ignore: 2 | - "Documentation.playground" 3 | - "Sources/Inspector" 4 | - "Tests" 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Xcode 2 | build/* 3 | *.pbxuser 4 | !default.pbxuser 5 | *.mode1v3 6 | !default.mode1v3 7 | *.mode2v3 8 | !default.mode2v3 9 | *.perspectivev3 10 | !default.perspectivev3 11 | *.xcworkspace 12 | !default.xcworkspace 13 | xcuserdata 14 | profile 15 | *.moved-aside 16 | timeline.xctimeline 17 | 18 | # Carthage 19 | ShortcutRecorder.framework.zip 20 | Carthage/ 21 | 22 | # Ignore incredibly annoying .DS_Store files 23 | .DS_Store 24 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: objective-c 2 | osx_image: xcode10.3 3 | before_install: 4 | - brew update 5 | - brew outdated carthage || brew upgrade carthage 6 | - gem install cocoapods -v '>= 1.8' 7 | - pod --version 8 | script: 9 | - xcodebuild -verbose -project ShortcutRecorder.xcodeproj -scheme ShortcutRecorder.framework -destination 'platform=macOS' build test 10 | - sed "s# s\.source =.*# s\.source = \{ \:git => 'file://$(pwd)' \}#" ShortcutRecorder.podspec > /tmp/ShortcutRecorder.podspec 11 | - pod spec lint /tmp/ShortcutRecorder.podspec --allow-warnings --fail-fast --verbose 12 | - carthage build --no-skip-current --verbose 13 | - file Carthage/Build/Mac/ShortcutRecorder.framework 14 | after_success: 15 | - bash <(curl -s https://codecov.io/bash) 16 | before_deploy: 17 | - carthage archive ShortcutRecorder 18 | deploy: 19 | - provider: releases 20 | skip_cleanup: true 21 | api_key: 22 | secure: pfPyGI+2ocmKugULnUDyjd5SgBaF1xAZfZj6MvJYNXiJBlzjGxvLez8w5qxIFsm/0l63Aql0s8cWpeGfN22ssOhnjQrSpSsHWbQw+fnY7mkfR9UEbuSwVDlDM9mZbGC1HCZBnsZPMI0/h1QUVwRnVsZgK0N7OrnUasXXfNuY3hA= 23 | file: ShortcutRecorder.framework.zip 24 | on: 25 | repo: Kentzo/ShortcutRecorder 26 | branch: master 27 | tags: true 28 | - provider: script 29 | script: pod trunk push ShortcutRecorder.podspec 30 | on: 31 | repo: Kentzo/ShortcutRecorder 32 | branch: master 33 | tags: true 34 | -------------------------------------------------------------------------------- /ATTRIBUTION.md: -------------------------------------------------------------------------------- 1 | - Ilya Kulakov, : Current maintainer 2 | - [Contributors](https://github.com/Kentzo/ShortcutRecorder/graphs/contributors) 3 | 4 | Initial developers: 5 | - Jesper, waffle software, : Initial idea and concept 6 | - David Dauer, : Initial implementation 7 | - Jamie Kirkpatrick, Kirk Consulting Ltd, : Further modularisation, re-factoring and general bug fixes 8 | - Andy Kim 9 | - Silvio Rizzi 10 | -------------------------------------------------------------------------------- /CHANGES.md: -------------------------------------------------------------------------------- 1 | 3.4.0 (2022-08-17) 2 | --- 3 | 4 | Improvements: 5 | 6 | - Remove most of the deprecated methods with exception of delegates 7 | - Fix missing NS_DESIGNATED_INITIALIZER 8 | 9 | Fixes: 10 | 11 | - Fix incorrect comparison of style image cache keys that led to 100% miss by [@ninjaprox](https://github.com/ninjaprox) 12 | 13 | 3.3.0 (2020-07-12) 14 | --- 15 | 16 | Improvements: 17 | 18 | - Better German localization by [@J-rg](https://github.com/J-rg) 19 | - Better Italian localization by [@ildede](https://github.com/ildede) 20 | - `SRAXGlobalShortcutMonitor` defaults to listening only; new initializer allows to alter that 21 | - `SRAXGlobalShortcutMonitor` does not uses CGEvent instead of NSEvent API as the latter is not thread safe 22 | - Layout guide constraints for `SRRecorderControl` size are replaced with custom `intrinsicContentSize` 23 | 24 | 3.2 (2020-04-17) 25 | --- 26 | 27 | Improvements: 28 | 29 | - Added support for modifier-only shortcuts 30 | - The `*ShortcutMonitor` family of classes considers the `isEnabled` property of its actions before installing any handlers 31 | - The `SRAXGlobalShortcutMonitor` uses Quartz Services to install an event tap via the `CGEvent*` family of functions. 32 | Unlike `SRGlobalShortcutMonitor`, it can alter handled events but requires the user to grant the Accessibility permission 33 | 34 | Fixes: 35 | 36 | - The control now shifts the label off the center to avoid clipping if there is enough space 37 | - Better invalidation for re-draws 38 | - Handle and warn when AppKit throws exception because NSEvent's `characters*` properties are accessed from a non-main thread 39 | 40 | 3.1 (2019-10-19) 41 | --- 42 | 43 | Improvements: 44 | 45 | - Added support for key up events in Shortcut Monitors 46 | - Style can now customize no-value labels and tooltips 47 | - Reviewed and fixed translations to match modern Apple vocabulary 48 | - New and shorter label for the control when there is no value 49 | - New tooltip for the clean button 50 | - New tooltip for the cancel button when there no value: "use old shortcut" does not make sense if there is no old shortcut 51 | 52 | Fixes: 53 | 54 | - Fix various errors and edge cases in Shortcut Monitors 55 | - Fix undefined behavior warning due to a missing `nullable` in the `-[SRRecorderControl propagateValue:forKey:] definition 56 | - Fix incorrect intrinsic width of the control (was visible only after certain style customizations) 57 | -------------------------------------------------------------------------------- /Documentation.playground/Pages/Integration with Interface Builder.xcplaygroundpage/Contents.swift: -------------------------------------------------------------------------------- 1 | //: [Previous](@previous) 2 | /*: 3 | ## Interface Builder Integration 4 | `RecorderControl` and `ShortcutAction` can be configured entirely in Xcode's Interface Builder. 5 | 6 | 1. Locate Custom View in the Objects Library and add it to Canvas\ 7 | ![Add View](Step1.heic) 8 | 2. Change class of the just added Custom View to `SRRecorderControl`\ 9 | ![Change View Class](Step2.heic) 10 | 3. Switch to the Size inspector and add placeholder for intrinsic content size\ 11 | ![Set Intrinsic Content Size](Step3.heic) 12 | - Note: 13 | It's only a placeholder, the control will use correct size inherited from its style in runtime. 14 | 4. Locate `NSObjectController` in the Objects Library and add it to Canvas\ 15 | ![Add NSObjectController](Step4.heic) 16 | 5. Change class of the just added `NSObjectController` to `SRShortcutController`\ 17 | ![Change Controller Class](Step5.heic) 18 | 6. Switch to the Attributes inspector and set content's class to `SRShortcut`\ 19 | ![Change Controller's Content Class](Step6.heic) 20 | 7. Switch to the Bindings inspector and configure the Content Object binding\ 21 | ![Set Controller's Content Object binding](Step7.heic) 22 | - Important: 23 | In this example content is bound to the Shared User Defaults controller. 24 | It is therefore necessary to use the `NSKeyedUnarchiveFromData` transformer to store `SRShortcut` inside a plist. 25 | 8. Switch to the Connections inspector and configure the `recorderControl` connection by pointing it to the view 26 | and the `shortcutActionTarget` connection to the object that implements the `SRShortcutActionTarget` 27 | protocol (in this example it is File Owner)\ 28 | ![Set Controller's Connections](Step8.heic) 29 | 30 | Now, whenever you record a shortcut with the control, it will be saved into user's defaults. 31 | The system-wide shortcut action targeting File Owner will be updated accordingly. 32 | */ 33 | //: [Next](@next) 34 | -------------------------------------------------------------------------------- /Documentation.playground/Pages/Integration with Interface Builder.xcplaygroundpage/Resources/Step1.heic: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Documentation.playground/Pages/Integration with Interface Builder.xcplaygroundpage/Resources/Step1.heic -------------------------------------------------------------------------------- /Documentation.playground/Pages/Integration with Interface Builder.xcplaygroundpage/Resources/Step2.heic: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Documentation.playground/Pages/Integration with Interface Builder.xcplaygroundpage/Resources/Step2.heic -------------------------------------------------------------------------------- /Documentation.playground/Pages/Integration with Interface Builder.xcplaygroundpage/Resources/Step3.heic: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Documentation.playground/Pages/Integration with Interface Builder.xcplaygroundpage/Resources/Step3.heic -------------------------------------------------------------------------------- /Documentation.playground/Pages/Integration with Interface Builder.xcplaygroundpage/Resources/Step4.heic: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Documentation.playground/Pages/Integration with Interface Builder.xcplaygroundpage/Resources/Step4.heic -------------------------------------------------------------------------------- /Documentation.playground/Pages/Integration with Interface Builder.xcplaygroundpage/Resources/Step5.heic: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Documentation.playground/Pages/Integration with Interface Builder.xcplaygroundpage/Resources/Step5.heic -------------------------------------------------------------------------------- /Documentation.playground/Pages/Integration with Interface Builder.xcplaygroundpage/Resources/Step6.heic: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Documentation.playground/Pages/Integration with Interface Builder.xcplaygroundpage/Resources/Step6.heic -------------------------------------------------------------------------------- /Documentation.playground/Pages/Integration with Interface Builder.xcplaygroundpage/Resources/Step7.heic: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Documentation.playground/Pages/Integration with Interface Builder.xcplaygroundpage/Resources/Step7.heic -------------------------------------------------------------------------------- /Documentation.playground/Pages/Integration with Interface Builder.xcplaygroundpage/Resources/Step8.heic: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Documentation.playground/Pages/Integration with Interface Builder.xcplaygroundpage/Resources/Step8.heic -------------------------------------------------------------------------------- /Documentation.playground/contents.xcplayground: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /Package.swift: -------------------------------------------------------------------------------- 1 | // swift-tools-version:5.3 2 | 3 | import PackageDescription 4 | 5 | let package = Package( 6 | name: "ShortcutRecorder", 7 | defaultLocalization: "en", 8 | platforms: [ 9 | .macOS(.v10_11) 10 | ], 11 | products: [ 12 | .library(name: "ShortcutRecorder", targets: ["ShortcutRecorder"]) 13 | ], 14 | targets: [ 15 | .target( 16 | name: "ShortcutRecorder", 17 | exclude: [ 18 | "Info.plist", 19 | "Resources/ShortcutRecorder.sketch", 20 | "Resources/export-ShortcutRecorder-slices.py" 21 | ], 22 | resources: [ 23 | .process("Resources"), 24 | .copy("../../LICENSE.txt"), 25 | .copy("../../ATTRIBUTION.md"), 26 | ], 27 | publicHeadersPath: "include" 28 | ), 29 | .testTarget( 30 | name: "ShortcutRecorderTests", 31 | dependencies: ["ShortcutRecorder"], 32 | exclude: [ 33 | "Info.plist" 34 | ] 35 | ) 36 | ] 37 | ) 38 | -------------------------------------------------------------------------------- /ShortcutRecorder.podspec: -------------------------------------------------------------------------------- 1 | Pod::Spec.new do |s| 2 | s.cocoapods_version = '>= 1.8' 3 | s.name = 'ShortcutRecorder' 4 | s.version = '3.3.0' 5 | s.summary = 'The best control to record shortcuts on macOS' 6 | s.homepage = 'https://github.com/Kentzo/ShortcutRecorder' 7 | s.license = { :type => 'CC BY 4.0', :file => 'LICENSE.txt' } 8 | s.author = { 'Ilya Kulakov' => 'kulakov.ilya@gmail.com' } 9 | s.screenshot = 'https://user-images.githubusercontent.com/88809/67132003-e4b8b780-f1bb-11e9-984d-2c88fc8c2286.gif' 10 | 11 | s.source = { :git => 'https://github.com/Kentzo/ShortcutRecorder.git', :tag => s.version } 12 | 13 | s.platform = :osx 14 | s.osx.deployment_target = "10.11" 15 | s.frameworks = 'Carbon', 'Cocoa' 16 | 17 | s.source_files = 'Sources/ShortcutRecorder/**/*.{h,m}' 18 | s.public_header_files = 'Sources/ShortcutRecorder/include/ShortcutRecorder/*.h' 19 | s.resources = [ 20 | 'Sources/ShortcutRecorder/Resources/*.lproj', 21 | 'Sources/ShortcutRecorder/Resources/Images.xcassets', 22 | 'ATTRIBUTION.md', 23 | 'LICENSE.txt' 24 | ] 25 | s.requires_arc = true 26 | s.compiler_flags = ['-fstack-protector', '-mssse3'] 27 | s.info_plist = { 28 | 'CFBundleIdentifier' => 'com.kulakov.ShortcutRecorder' 29 | } 30 | s.pod_target_xcconfig = { 31 | 'PRODUCT_BUNDLE_IDENTIFIER': 'com.kulakov.ShortcutRecorder' 32 | } 33 | 34 | s.test_spec 'Tests' do |t| 35 | t.osx.deployment_target = '10.14' 36 | t.source_files = 'Tests/ShortcutRecorderTests/*.swift' 37 | t.exclude_files = 'Tests/ShortcutRecorderTests/XCTestManifests.swift' 38 | end 39 | end 40 | -------------------------------------------------------------------------------- /ShortcutRecorder.xcodeproj/xcshareddata/IDETemplateMacros.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | NSHUMANREADABLECOPYRIGHTPLIST 6 | Copyright ___YEAR___ ShortcutRecorder Contributors 7 | FILEHEADER 8 | 9 | // ___NSHUMANREADABLECOPYRIGHTPLIST___ 10 | // CC BY 4.0 11 | // 12 | 13 | 14 | -------------------------------------------------------------------------------- /Sources/Inspector/BindingsInspectorController.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2019 ShortcutRecorder Contributors 3 | // CC BY 4.0 4 | // 5 | 6 | import Cocoa 7 | 8 | class BindingsInspectorController: NSViewController { 9 | 10 | override func viewDidLoad() { 11 | super.viewDidLoad() 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /Sources/Inspector/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIconFile 10 | 11 | CFBundleIdentifier 12 | $(PRODUCT_BUNDLE_IDENTIFIER) 13 | CFBundleInfoDictionaryVersion 14 | 6.0 15 | CFBundleName 16 | $(PRODUCT_NAME) 17 | CFBundlePackageType 18 | APPL 19 | CFBundleShortVersionString 20 | 1.0 21 | CFBundleVersion 22 | 1 23 | LSMinimumSystemVersion 24 | $(MACOSX_DEPLOYMENT_TARGET) 25 | NSHumanReadableCopyright 26 | Copyright © 2019 ShortcutRecorder attributors 27 | NSMainStoryboardFile 28 | Main 29 | NSPrincipalClass 30 | NSApplication 31 | 32 | 33 | -------------------------------------------------------------------------------- /Sources/Inspector/Utility.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2019 ShortcutRecorder Contributors 3 | // CC BY 4.0 4 | // 5 | 6 | import Cocoa 7 | import Foundation 8 | 9 | import ShortcutRecorder 10 | 11 | 12 | 13 | 14 | class MutableDictionaryTransformer: ValueTransformer { 15 | public override class func allowsReverseTransformation() -> Bool { 16 | return true 17 | } 18 | 19 | public override class func transformedValueClass() -> AnyClass { 20 | return NSMutableDictionary.self 21 | } 22 | 23 | public override func transformedValue(_ value: Any?) -> Any? { 24 | return value != nil ? NSMutableDictionary(dictionary: value as! Dictionary) : NSMutableDictionary() 25 | } 26 | 27 | public override func reverseTransformedValue(_ value: Any?) -> Any? { 28 | return value 29 | } 30 | } 31 | 32 | 33 | extension NSValueTransformerName { 34 | static let mutableDictionaryTransformerName = NSValueTransformerName(rawValue: "MutableDictionaryTransformer") 35 | } 36 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | English 7 | CFBundleExecutable 8 | ShortcutRecorder 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundlePackageType 14 | FMWK 15 | CFBundleShortVersionString 16 | 3.4.0 17 | CFBundleSignature 18 | ???? 19 | CFBundleVersion 20 | 3.4.0 21 | NSHumanReadableCopyright 22 | Copyright © 2019 ShortcutRecorder attributors 23 | 24 | 25 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | } 6 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-disabled-center.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-acc-bezel-disabled-center.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-acc-bezel-disabled-center@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-disabled-center.imageset/sr-mojave-aqua-acc-bezel-disabled-center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-disabled-center.imageset/sr-mojave-aqua-acc-bezel-disabled-center.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-disabled-center.imageset/sr-mojave-aqua-acc-bezel-disabled-center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-disabled-center.imageset/sr-mojave-aqua-acc-bezel-disabled-center@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-disabled-left.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-acc-bezel-disabled-left.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-acc-bezel-disabled-left@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-disabled-left.imageset/sr-mojave-aqua-acc-bezel-disabled-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-disabled-left.imageset/sr-mojave-aqua-acc-bezel-disabled-left.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-disabled-left.imageset/sr-mojave-aqua-acc-bezel-disabled-left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-disabled-left.imageset/sr-mojave-aqua-acc-bezel-disabled-left@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-disabled-right.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-acc-bezel-disabled-right.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-acc-bezel-disabled-right@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-disabled-right.imageset/sr-mojave-aqua-acc-bezel-disabled-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-disabled-right.imageset/sr-mojave-aqua-acc-bezel-disabled-right.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-disabled-right.imageset/sr-mojave-aqua-acc-bezel-disabled-right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-disabled-right.imageset/sr-mojave-aqua-acc-bezel-disabled-right@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-normal-center.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-acc-bezel-normal-center.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-acc-bezel-normal-center@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-normal-center.imageset/sr-mojave-aqua-acc-bezel-normal-center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-normal-center.imageset/sr-mojave-aqua-acc-bezel-normal-center.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-normal-center.imageset/sr-mojave-aqua-acc-bezel-normal-center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-normal-center.imageset/sr-mojave-aqua-acc-bezel-normal-center@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-normal-left.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-acc-bezel-normal-left.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-acc-bezel-normal-left@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-normal-left.imageset/sr-mojave-aqua-acc-bezel-normal-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-normal-left.imageset/sr-mojave-aqua-acc-bezel-normal-left.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-normal-left.imageset/sr-mojave-aqua-acc-bezel-normal-left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-normal-left.imageset/sr-mojave-aqua-acc-bezel-normal-left@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-normal-right.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-acc-bezel-normal-right.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-acc-bezel-normal-right@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-normal-right.imageset/sr-mojave-aqua-acc-bezel-normal-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-normal-right.imageset/sr-mojave-aqua-acc-bezel-normal-right.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-normal-right.imageset/sr-mojave-aqua-acc-bezel-normal-right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-normal-right.imageset/sr-mojave-aqua-acc-bezel-normal-right@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-pressed-center.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-acc-bezel-pressed-center.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-acc-bezel-pressed-center@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-pressed-center.imageset/sr-mojave-aqua-acc-bezel-pressed-center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-pressed-center.imageset/sr-mojave-aqua-acc-bezel-pressed-center.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-pressed-center.imageset/sr-mojave-aqua-acc-bezel-pressed-center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-pressed-center.imageset/sr-mojave-aqua-acc-bezel-pressed-center@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-pressed-left.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-acc-bezel-pressed-left.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-acc-bezel-pressed-left@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-pressed-left.imageset/sr-mojave-aqua-acc-bezel-pressed-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-pressed-left.imageset/sr-mojave-aqua-acc-bezel-pressed-left.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-pressed-left.imageset/sr-mojave-aqua-acc-bezel-pressed-left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-pressed-left.imageset/sr-mojave-aqua-acc-bezel-pressed-left@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-pressed-right.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-acc-bezel-pressed-right.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-acc-bezel-pressed-right@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-pressed-right.imageset/sr-mojave-aqua-acc-bezel-pressed-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-pressed-right.imageset/sr-mojave-aqua-acc-bezel-pressed-right.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-pressed-right.imageset/sr-mojave-aqua-acc-bezel-pressed-right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-pressed-right.imageset/sr-mojave-aqua-acc-bezel-pressed-right@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-recording-center.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-acc-bezel-recording-center.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-acc-bezel-recording-center@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-recording-center.imageset/sr-mojave-aqua-acc-bezel-recording-center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-recording-center.imageset/sr-mojave-aqua-acc-bezel-recording-center.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-recording-center.imageset/sr-mojave-aqua-acc-bezel-recording-center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-recording-center.imageset/sr-mojave-aqua-acc-bezel-recording-center@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-recording-left.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-acc-bezel-recording-left.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-acc-bezel-recording-left@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-recording-left.imageset/sr-mojave-aqua-acc-bezel-recording-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-recording-left.imageset/sr-mojave-aqua-acc-bezel-recording-left.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-recording-left.imageset/sr-mojave-aqua-acc-bezel-recording-left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-recording-left.imageset/sr-mojave-aqua-acc-bezel-recording-left@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-recording-right.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-acc-bezel-recording-right.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-acc-bezel-recording-right@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-recording-right.imageset/sr-mojave-aqua-acc-bezel-recording-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-recording-right.imageset/sr-mojave-aqua-acc-bezel-recording-right.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-recording-right.imageset/sr-mojave-aqua-acc-bezel-recording-right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-acc-bezel-recording-right.imageset/sr-mojave-aqua-acc-bezel-recording-right@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-disabled-center.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-bezel-disabled-center.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-bezel-disabled-center@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-disabled-center.imageset/sr-mojave-aqua-bezel-disabled-center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-disabled-center.imageset/sr-mojave-aqua-bezel-disabled-center.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-disabled-center.imageset/sr-mojave-aqua-bezel-disabled-center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-disabled-center.imageset/sr-mojave-aqua-bezel-disabled-center@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-disabled-left.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-bezel-disabled-left.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-bezel-disabled-left@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-disabled-left.imageset/sr-mojave-aqua-bezel-disabled-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-disabled-left.imageset/sr-mojave-aqua-bezel-disabled-left.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-disabled-left.imageset/sr-mojave-aqua-bezel-disabled-left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-disabled-left.imageset/sr-mojave-aqua-bezel-disabled-left@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-disabled-right.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-bezel-disabled-right.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-bezel-disabled-right@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-disabled-right.imageset/sr-mojave-aqua-bezel-disabled-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-disabled-right.imageset/sr-mojave-aqua-bezel-disabled-right.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-disabled-right.imageset/sr-mojave-aqua-bezel-disabled-right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-disabled-right.imageset/sr-mojave-aqua-bezel-disabled-right@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-normal-center.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-bezel-normal-center.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-bezel-normal-center@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-normal-center.imageset/sr-mojave-aqua-bezel-normal-center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-normal-center.imageset/sr-mojave-aqua-bezel-normal-center.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-normal-center.imageset/sr-mojave-aqua-bezel-normal-center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-normal-center.imageset/sr-mojave-aqua-bezel-normal-center@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-normal-left.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-bezel-normal-left.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-bezel-normal-left@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-normal-left.imageset/sr-mojave-aqua-bezel-normal-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-normal-left.imageset/sr-mojave-aqua-bezel-normal-left.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-normal-left.imageset/sr-mojave-aqua-bezel-normal-left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-normal-left.imageset/sr-mojave-aqua-bezel-normal-left@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-normal-right.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-bezel-normal-right.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-bezel-normal-right@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-normal-right.imageset/sr-mojave-aqua-bezel-normal-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-normal-right.imageset/sr-mojave-aqua-bezel-normal-right.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-normal-right.imageset/sr-mojave-aqua-bezel-normal-right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-normal-right.imageset/sr-mojave-aqua-bezel-normal-right@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-pressed-center.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-bezel-pressed-center.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-bezel-pressed-center@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-pressed-center.imageset/sr-mojave-aqua-bezel-pressed-center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-pressed-center.imageset/sr-mojave-aqua-bezel-pressed-center.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-pressed-center.imageset/sr-mojave-aqua-bezel-pressed-center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-pressed-center.imageset/sr-mojave-aqua-bezel-pressed-center@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-pressed-left.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-bezel-pressed-left.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-bezel-pressed-left@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-pressed-left.imageset/sr-mojave-aqua-bezel-pressed-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-pressed-left.imageset/sr-mojave-aqua-bezel-pressed-left.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-pressed-left.imageset/sr-mojave-aqua-bezel-pressed-left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-pressed-left.imageset/sr-mojave-aqua-bezel-pressed-left@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-pressed-right.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-bezel-pressed-right.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-bezel-pressed-right@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-pressed-right.imageset/sr-mojave-aqua-bezel-pressed-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-pressed-right.imageset/sr-mojave-aqua-bezel-pressed-right.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-pressed-right.imageset/sr-mojave-aqua-bezel-pressed-right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-pressed-right.imageset/sr-mojave-aqua-bezel-pressed-right@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-recording-center.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-bezel-recording-center.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-bezel-recording-center@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-recording-center.imageset/sr-mojave-aqua-bezel-recording-center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-recording-center.imageset/sr-mojave-aqua-bezel-recording-center.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-recording-center.imageset/sr-mojave-aqua-bezel-recording-center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-recording-center.imageset/sr-mojave-aqua-bezel-recording-center@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-recording-left.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-bezel-recording-left.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-bezel-recording-left@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-recording-left.imageset/sr-mojave-aqua-bezel-recording-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-recording-left.imageset/sr-mojave-aqua-bezel-recording-left.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-recording-left.imageset/sr-mojave-aqua-bezel-recording-left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-recording-left.imageset/sr-mojave-aqua-bezel-recording-left@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-recording-right.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-bezel-recording-right.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-bezel-recording-right@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-recording-right.imageset/sr-mojave-aqua-bezel-recording-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-recording-right.imageset/sr-mojave-aqua-bezel-recording-right.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-recording-right.imageset/sr-mojave-aqua-bezel-recording-right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-bezel-recording-right.imageset/sr-mojave-aqua-bezel-recording-right@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-button-cancel-normal.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-button-cancel-normal.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-button-cancel-normal@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-button-cancel-normal.imageset/sr-mojave-aqua-button-cancel-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-button-cancel-normal.imageset/sr-mojave-aqua-button-cancel-normal.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-button-cancel-normal.imageset/sr-mojave-aqua-button-cancel-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-button-cancel-normal.imageset/sr-mojave-aqua-button-cancel-normal@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-button-cancel-pressed.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-button-cancel-pressed.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-button-cancel-pressed@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-button-cancel-pressed.imageset/sr-mojave-aqua-button-cancel-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-button-cancel-pressed.imageset/sr-mojave-aqua-button-cancel-pressed.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-button-cancel-pressed.imageset/sr-mojave-aqua-button-cancel-pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-button-cancel-pressed.imageset/sr-mojave-aqua-button-cancel-pressed@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-button-clear-normal.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-button-clear-normal.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-button-clear-normal@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-button-clear-normal.imageset/sr-mojave-aqua-button-clear-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-button-clear-normal.imageset/sr-mojave-aqua-button-clear-normal.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-button-clear-normal.imageset/sr-mojave-aqua-button-clear-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-button-clear-normal.imageset/sr-mojave-aqua-button-clear-normal@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-button-clear-pressed.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-aqua-button-clear-pressed.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-aqua-button-clear-pressed@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-button-clear-pressed.imageset/sr-mojave-aqua-button-clear-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-button-clear-pressed.imageset/sr-mojave-aqua-button-clear-pressed.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-button-clear-pressed.imageset/sr-mojave-aqua-button-clear-pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-aqua-button-clear-pressed.imageset/sr-mojave-aqua-button-clear-pressed@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-disabled-center.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-acc-bezel-disabled-center.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-acc-bezel-disabled-center@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-disabled-center.imageset/sr-mojave-darkaqua-acc-bezel-disabled-center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-disabled-center.imageset/sr-mojave-darkaqua-acc-bezel-disabled-center.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-disabled-center.imageset/sr-mojave-darkaqua-acc-bezel-disabled-center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-disabled-center.imageset/sr-mojave-darkaqua-acc-bezel-disabled-center@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-disabled-left.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-acc-bezel-disabled-left.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-acc-bezel-disabled-left@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-disabled-left.imageset/sr-mojave-darkaqua-acc-bezel-disabled-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-disabled-left.imageset/sr-mojave-darkaqua-acc-bezel-disabled-left.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-disabled-left.imageset/sr-mojave-darkaqua-acc-bezel-disabled-left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-disabled-left.imageset/sr-mojave-darkaqua-acc-bezel-disabled-left@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-disabled-right.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-acc-bezel-disabled-right.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-acc-bezel-disabled-right@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-disabled-right.imageset/sr-mojave-darkaqua-acc-bezel-disabled-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-disabled-right.imageset/sr-mojave-darkaqua-acc-bezel-disabled-right.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-disabled-right.imageset/sr-mojave-darkaqua-acc-bezel-disabled-right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-disabled-right.imageset/sr-mojave-darkaqua-acc-bezel-disabled-right@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-normal-center.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-acc-bezel-normal-center.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-acc-bezel-normal-center@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-normal-center.imageset/sr-mojave-darkaqua-acc-bezel-normal-center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-normal-center.imageset/sr-mojave-darkaqua-acc-bezel-normal-center.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-normal-center.imageset/sr-mojave-darkaqua-acc-bezel-normal-center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-normal-center.imageset/sr-mojave-darkaqua-acc-bezel-normal-center@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-normal-left.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-acc-bezel-normal-left.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-acc-bezel-normal-left@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-normal-left.imageset/sr-mojave-darkaqua-acc-bezel-normal-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-normal-left.imageset/sr-mojave-darkaqua-acc-bezel-normal-left.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-normal-left.imageset/sr-mojave-darkaqua-acc-bezel-normal-left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-normal-left.imageset/sr-mojave-darkaqua-acc-bezel-normal-left@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-normal-right.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-acc-bezel-normal-right.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-acc-bezel-normal-right@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-normal-right.imageset/sr-mojave-darkaqua-acc-bezel-normal-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-normal-right.imageset/sr-mojave-darkaqua-acc-bezel-normal-right.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-normal-right.imageset/sr-mojave-darkaqua-acc-bezel-normal-right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-normal-right.imageset/sr-mojave-darkaqua-acc-bezel-normal-right@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-pressed-center.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-acc-bezel-pressed-center.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-acc-bezel-pressed-center@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-pressed-center.imageset/sr-mojave-darkaqua-acc-bezel-pressed-center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-pressed-center.imageset/sr-mojave-darkaqua-acc-bezel-pressed-center.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-pressed-center.imageset/sr-mojave-darkaqua-acc-bezel-pressed-center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-pressed-center.imageset/sr-mojave-darkaqua-acc-bezel-pressed-center@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-pressed-left.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-acc-bezel-pressed-left.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-acc-bezel-pressed-left@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-pressed-left.imageset/sr-mojave-darkaqua-acc-bezel-pressed-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-pressed-left.imageset/sr-mojave-darkaqua-acc-bezel-pressed-left.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-pressed-left.imageset/sr-mojave-darkaqua-acc-bezel-pressed-left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-pressed-left.imageset/sr-mojave-darkaqua-acc-bezel-pressed-left@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-pressed-right.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-acc-bezel-pressed-right.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-acc-bezel-pressed-right@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-pressed-right.imageset/sr-mojave-darkaqua-acc-bezel-pressed-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-pressed-right.imageset/sr-mojave-darkaqua-acc-bezel-pressed-right.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-pressed-right.imageset/sr-mojave-darkaqua-acc-bezel-pressed-right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-pressed-right.imageset/sr-mojave-darkaqua-acc-bezel-pressed-right@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-recording-center.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-acc-bezel-recording-center.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-acc-bezel-recording-center@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-recording-center.imageset/sr-mojave-darkaqua-acc-bezel-recording-center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-recording-center.imageset/sr-mojave-darkaqua-acc-bezel-recording-center.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-recording-center.imageset/sr-mojave-darkaqua-acc-bezel-recording-center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-recording-center.imageset/sr-mojave-darkaqua-acc-bezel-recording-center@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-recording-left.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-acc-bezel-recording-left.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-acc-bezel-recording-left@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-recording-left.imageset/sr-mojave-darkaqua-acc-bezel-recording-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-recording-left.imageset/sr-mojave-darkaqua-acc-bezel-recording-left.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-recording-left.imageset/sr-mojave-darkaqua-acc-bezel-recording-left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-recording-left.imageset/sr-mojave-darkaqua-acc-bezel-recording-left@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-recording-right.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-acc-bezel-recording-right.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-acc-bezel-recording-right@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-recording-right.imageset/sr-mojave-darkaqua-acc-bezel-recording-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-recording-right.imageset/sr-mojave-darkaqua-acc-bezel-recording-right.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-recording-right.imageset/sr-mojave-darkaqua-acc-bezel-recording-right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-acc-bezel-recording-right.imageset/sr-mojave-darkaqua-acc-bezel-recording-right@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-disabled-center.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-bezel-disabled-center.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-bezel-disabled-center@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-disabled-center.imageset/sr-mojave-darkaqua-bezel-disabled-center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-disabled-center.imageset/sr-mojave-darkaqua-bezel-disabled-center.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-disabled-center.imageset/sr-mojave-darkaqua-bezel-disabled-center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-disabled-center.imageset/sr-mojave-darkaqua-bezel-disabled-center@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-disabled-left.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-bezel-disabled-left.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-bezel-disabled-left@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-disabled-left.imageset/sr-mojave-darkaqua-bezel-disabled-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-disabled-left.imageset/sr-mojave-darkaqua-bezel-disabled-left.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-disabled-left.imageset/sr-mojave-darkaqua-bezel-disabled-left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-disabled-left.imageset/sr-mojave-darkaqua-bezel-disabled-left@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-disabled-right.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-bezel-disabled-right.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-bezel-disabled-right@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-disabled-right.imageset/sr-mojave-darkaqua-bezel-disabled-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-disabled-right.imageset/sr-mojave-darkaqua-bezel-disabled-right.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-disabled-right.imageset/sr-mojave-darkaqua-bezel-disabled-right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-disabled-right.imageset/sr-mojave-darkaqua-bezel-disabled-right@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-normal-center.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-bezel-normal-center.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-bezel-normal-center@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-normal-center.imageset/sr-mojave-darkaqua-bezel-normal-center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-normal-center.imageset/sr-mojave-darkaqua-bezel-normal-center.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-normal-center.imageset/sr-mojave-darkaqua-bezel-normal-center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-normal-center.imageset/sr-mojave-darkaqua-bezel-normal-center@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-normal-left.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-bezel-normal-left.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-bezel-normal-left@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-normal-left.imageset/sr-mojave-darkaqua-bezel-normal-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-normal-left.imageset/sr-mojave-darkaqua-bezel-normal-left.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-normal-left.imageset/sr-mojave-darkaqua-bezel-normal-left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-normal-left.imageset/sr-mojave-darkaqua-bezel-normal-left@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-normal-right.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-bezel-normal-right.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-bezel-normal-right@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-normal-right.imageset/sr-mojave-darkaqua-bezel-normal-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-normal-right.imageset/sr-mojave-darkaqua-bezel-normal-right.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-normal-right.imageset/sr-mojave-darkaqua-bezel-normal-right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-normal-right.imageset/sr-mojave-darkaqua-bezel-normal-right@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-pressed-center.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-bezel-pressed-center.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-bezel-pressed-center@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-pressed-center.imageset/sr-mojave-darkaqua-bezel-pressed-center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-pressed-center.imageset/sr-mojave-darkaqua-bezel-pressed-center.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-pressed-center.imageset/sr-mojave-darkaqua-bezel-pressed-center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-pressed-center.imageset/sr-mojave-darkaqua-bezel-pressed-center@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-pressed-left.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-bezel-pressed-left.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-bezel-pressed-left@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-pressed-left.imageset/sr-mojave-darkaqua-bezel-pressed-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-pressed-left.imageset/sr-mojave-darkaqua-bezel-pressed-left.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-pressed-left.imageset/sr-mojave-darkaqua-bezel-pressed-left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-pressed-left.imageset/sr-mojave-darkaqua-bezel-pressed-left@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-pressed-right.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-bezel-pressed-right.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-bezel-pressed-right@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-pressed-right.imageset/sr-mojave-darkaqua-bezel-pressed-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-pressed-right.imageset/sr-mojave-darkaqua-bezel-pressed-right.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-pressed-right.imageset/sr-mojave-darkaqua-bezel-pressed-right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-pressed-right.imageset/sr-mojave-darkaqua-bezel-pressed-right@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-recording-center.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-bezel-recording-center.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-bezel-recording-center@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-recording-center.imageset/sr-mojave-darkaqua-bezel-recording-center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-recording-center.imageset/sr-mojave-darkaqua-bezel-recording-center.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-recording-center.imageset/sr-mojave-darkaqua-bezel-recording-center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-recording-center.imageset/sr-mojave-darkaqua-bezel-recording-center@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-recording-left.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-bezel-recording-left.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-bezel-recording-left@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-recording-left.imageset/sr-mojave-darkaqua-bezel-recording-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-recording-left.imageset/sr-mojave-darkaqua-bezel-recording-left.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-recording-left.imageset/sr-mojave-darkaqua-bezel-recording-left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-recording-left.imageset/sr-mojave-darkaqua-bezel-recording-left@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-recording-right.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-bezel-recording-right.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-bezel-recording-right@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-recording-right.imageset/sr-mojave-darkaqua-bezel-recording-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-recording-right.imageset/sr-mojave-darkaqua-bezel-recording-right.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-recording-right.imageset/sr-mojave-darkaqua-bezel-recording-right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-bezel-recording-right.imageset/sr-mojave-darkaqua-bezel-recording-right@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-button-cancel-normal.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-button-cancel-normal.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-button-cancel-normal@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-button-cancel-normal.imageset/sr-mojave-darkaqua-button-cancel-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-button-cancel-normal.imageset/sr-mojave-darkaqua-button-cancel-normal.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-button-cancel-normal.imageset/sr-mojave-darkaqua-button-cancel-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-button-cancel-normal.imageset/sr-mojave-darkaqua-button-cancel-normal@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-button-cancel-pressed.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-button-cancel-pressed.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-button-cancel-pressed@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-button-cancel-pressed.imageset/sr-mojave-darkaqua-button-cancel-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-button-cancel-pressed.imageset/sr-mojave-darkaqua-button-cancel-pressed.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-button-cancel-pressed.imageset/sr-mojave-darkaqua-button-cancel-pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-button-cancel-pressed.imageset/sr-mojave-darkaqua-button-cancel-pressed@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-button-clear-normal.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-button-clear-normal.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-button-clear-normal@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-button-clear-normal.imageset/sr-mojave-darkaqua-button-clear-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-button-clear-normal.imageset/sr-mojave-darkaqua-button-clear-normal.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-button-clear-normal.imageset/sr-mojave-darkaqua-button-clear-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-button-clear-normal.imageset/sr-mojave-darkaqua-button-clear-normal@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-button-clear-pressed.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-mojave-darkaqua-button-clear-pressed.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-mojave-darkaqua-button-clear-pressed@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-button-clear-pressed.imageset/sr-mojave-darkaqua-button-clear-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-button-clear-pressed.imageset/sr-mojave-darkaqua-button-clear-pressed.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-button-clear-pressed.imageset/sr-mojave-darkaqua-button-clear-pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-darkaqua-button-clear-pressed.imageset/sr-mojave-darkaqua-button-clear-pressed@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-info.dataset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | }, 6 | "data" : [ 7 | { 8 | "idiom" : "universal", 9 | "filename" : "info.json", 10 | "universal-type-identifier": "public.json" 11 | } 12 | ] 13 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-mojave-info.dataset/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "supportedComponents": [ 3 | { 4 | "appearance": 1, 5 | "accessibility": 1 6 | }, 7 | { 8 | "appearance": 1, 9 | "accessibility": 2 10 | }, 11 | { 12 | "appearance": 3, 13 | "accessibility": 1 14 | }, 15 | { 16 | "appearance": 3, 17 | "accessibility": 2 18 | } 19 | ], 20 | "metrics": { 21 | "minSize": { 22 | "width": 11.0, 23 | "height": 26.0 24 | }, 25 | "labelToCancel": 3.0, 26 | "cancelToClear": 5.0, 27 | "buttonToAlignment": 8.0, 28 | "baselineFromTop": 0.0, 29 | "alignmentToLabel": 10.0, 30 | "labelToAlignment": 10.0, 31 | "baselineLayoutOffsetFromBottom": 6, 32 | "baselineDrawingOffsetFromBottom": 5.5, 33 | "focusRingCornerRadius": { 34 | "width": 3.0, 35 | "height": 3.0 36 | }, 37 | "focusRingInsets": { 38 | "top": 1.0, 39 | "left": 1.0, 40 | "bottom": 1.0, 41 | "right": 1.0 42 | }, 43 | "alignmentInsets": { 44 | "top": 2.0, 45 | "left": 1.0, 46 | "bottom": 3.0, 47 | "right": 1.0 48 | }, 49 | "normalLabelAttributes": { 50 | "fontName": ".AppleSystemUIFont", 51 | "fontSize": 13.0, 52 | "fontColorCatalogName": "System", 53 | "fontColorName": "controlTextColor", 54 | }, 55 | "recordingLabelAttributes": { 56 | "fontName": ".AppleSystemUIFont", 57 | "fontSize": 13.0, 58 | "fontColorCatalogName": "System", 59 | "fontColorName": "disabledControlTextColor", 60 | }, 61 | "disabledLabelAttributes": { 62 | "fontName": ".AppleSystemUIFont", 63 | "fontSize": 13.0, 64 | "fontColorCatalogName": "System", 65 | "fontColorName": "disabledControlTextColor", 66 | } 67 | } 68 | 69 | } 70 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-disabled-center.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-yosemite-bezel-disabled-center.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-yosemite-bezel-disabled-center@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-disabled-center.imageset/sr-yosemite-bezel-disabled-center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-disabled-center.imageset/sr-yosemite-bezel-disabled-center.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-disabled-center.imageset/sr-yosemite-bezel-disabled-center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-disabled-center.imageset/sr-yosemite-bezel-disabled-center@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-disabled-left.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-yosemite-bezel-disabled-left.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-yosemite-bezel-disabled-left@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-disabled-left.imageset/sr-yosemite-bezel-disabled-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-disabled-left.imageset/sr-yosemite-bezel-disabled-left.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-disabled-left.imageset/sr-yosemite-bezel-disabled-left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-disabled-left.imageset/sr-yosemite-bezel-disabled-left@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-disabled-right.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-yosemite-bezel-disabled-right.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-yosemite-bezel-disabled-right@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-disabled-right.imageset/sr-yosemite-bezel-disabled-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-disabled-right.imageset/sr-yosemite-bezel-disabled-right.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-disabled-right.imageset/sr-yosemite-bezel-disabled-right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-disabled-right.imageset/sr-yosemite-bezel-disabled-right@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-normal-center.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-yosemite-bezel-normal-center.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-yosemite-bezel-normal-center@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-normal-center.imageset/sr-yosemite-bezel-normal-center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-normal-center.imageset/sr-yosemite-bezel-normal-center.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-normal-center.imageset/sr-yosemite-bezel-normal-center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-normal-center.imageset/sr-yosemite-bezel-normal-center@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-normal-left.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-yosemite-bezel-normal-left.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-yosemite-bezel-normal-left@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-normal-left.imageset/sr-yosemite-bezel-normal-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-normal-left.imageset/sr-yosemite-bezel-normal-left.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-normal-left.imageset/sr-yosemite-bezel-normal-left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-normal-left.imageset/sr-yosemite-bezel-normal-left@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-normal-right.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-yosemite-bezel-normal-right.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-yosemite-bezel-normal-right@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-normal-right.imageset/sr-yosemite-bezel-normal-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-normal-right.imageset/sr-yosemite-bezel-normal-right.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-normal-right.imageset/sr-yosemite-bezel-normal-right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-normal-right.imageset/sr-yosemite-bezel-normal-right@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-pressed-center.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-yosemite-bezel-pressed-center.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-yosemite-bezel-pressed-center@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-pressed-center.imageset/sr-yosemite-bezel-pressed-center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-pressed-center.imageset/sr-yosemite-bezel-pressed-center.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-pressed-center.imageset/sr-yosemite-bezel-pressed-center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-pressed-center.imageset/sr-yosemite-bezel-pressed-center@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-pressed-left.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-yosemite-bezel-pressed-left.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-yosemite-bezel-pressed-left@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-pressed-left.imageset/sr-yosemite-bezel-pressed-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-pressed-left.imageset/sr-yosemite-bezel-pressed-left.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-pressed-left.imageset/sr-yosemite-bezel-pressed-left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-pressed-left.imageset/sr-yosemite-bezel-pressed-left@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-pressed-right.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-yosemite-bezel-pressed-right.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-yosemite-bezel-pressed-right@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-pressed-right.imageset/sr-yosemite-bezel-pressed-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-pressed-right.imageset/sr-yosemite-bezel-pressed-right.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-pressed-right.imageset/sr-yosemite-bezel-pressed-right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-bezel-pressed-right.imageset/sr-yosemite-bezel-pressed-right@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-blue-bezel-recording-center.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-yosemite-blue-bezel-recording-center.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-yosemite-blue-bezel-recording-center@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-blue-bezel-recording-center.imageset/sr-yosemite-blue-bezel-recording-center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-blue-bezel-recording-center.imageset/sr-yosemite-blue-bezel-recording-center.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-blue-bezel-recording-center.imageset/sr-yosemite-blue-bezel-recording-center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-blue-bezel-recording-center.imageset/sr-yosemite-blue-bezel-recording-center@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-blue-bezel-recording-left.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-yosemite-blue-bezel-recording-left.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-yosemite-blue-bezel-recording-left@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-blue-bezel-recording-left.imageset/sr-yosemite-blue-bezel-recording-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-blue-bezel-recording-left.imageset/sr-yosemite-blue-bezel-recording-left.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-blue-bezel-recording-left.imageset/sr-yosemite-blue-bezel-recording-left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-blue-bezel-recording-left.imageset/sr-yosemite-blue-bezel-recording-left@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-blue-bezel-recording-right.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-yosemite-blue-bezel-recording-right.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-yosemite-blue-bezel-recording-right@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-blue-bezel-recording-right.imageset/sr-yosemite-blue-bezel-recording-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-blue-bezel-recording-right.imageset/sr-yosemite-blue-bezel-recording-right.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-blue-bezel-recording-right.imageset/sr-yosemite-blue-bezel-recording-right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-blue-bezel-recording-right.imageset/sr-yosemite-blue-bezel-recording-right@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-button-cancel-normal.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-yosemite-button-cancel-normal.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-yosemite-button-cancel-normal@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-button-cancel-normal.imageset/sr-yosemite-button-cancel-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-button-cancel-normal.imageset/sr-yosemite-button-cancel-normal.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-button-cancel-normal.imageset/sr-yosemite-button-cancel-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-button-cancel-normal.imageset/sr-yosemite-button-cancel-normal@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-button-cancel-pressed.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-yosemite-button-cancel-pressed.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-yosemite-button-cancel-pressed@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-button-cancel-pressed.imageset/sr-yosemite-button-cancel-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-button-cancel-pressed.imageset/sr-yosemite-button-cancel-pressed.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-button-cancel-pressed.imageset/sr-yosemite-button-cancel-pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-button-cancel-pressed.imageset/sr-yosemite-button-cancel-pressed@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-button-clear-normal.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-yosemite-button-clear-normal.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-yosemite-button-clear-normal@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-button-clear-normal.imageset/sr-yosemite-button-clear-normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-button-clear-normal.imageset/sr-yosemite-button-clear-normal.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-button-clear-normal.imageset/sr-yosemite-button-clear-normal@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-button-clear-normal.imageset/sr-yosemite-button-clear-normal@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-button-clear-pressed.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-yosemite-button-clear-pressed.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-yosemite-button-clear-pressed@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-button-clear-pressed.imageset/sr-yosemite-button-clear-pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-button-clear-pressed.imageset/sr-yosemite-button-clear-pressed.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-button-clear-pressed.imageset/sr-yosemite-button-clear-pressed@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-button-clear-pressed.imageset/sr-yosemite-button-clear-pressed@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-graphite-bezel-recording-center.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-yosemite-graphite-bezel-recording-center.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-yosemite-graphite-bezel-recording-center@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-graphite-bezel-recording-center.imageset/sr-yosemite-graphite-bezel-recording-center.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-graphite-bezel-recording-center.imageset/sr-yosemite-graphite-bezel-recording-center.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-graphite-bezel-recording-center.imageset/sr-yosemite-graphite-bezel-recording-center@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-graphite-bezel-recording-center.imageset/sr-yosemite-graphite-bezel-recording-center@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-graphite-bezel-recording-left.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-yosemite-graphite-bezel-recording-left.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-yosemite-graphite-bezel-recording-left@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-graphite-bezel-recording-left.imageset/sr-yosemite-graphite-bezel-recording-left.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-graphite-bezel-recording-left.imageset/sr-yosemite-graphite-bezel-recording-left.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-graphite-bezel-recording-left.imageset/sr-yosemite-graphite-bezel-recording-left@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-graphite-bezel-recording-left.imageset/sr-yosemite-graphite-bezel-recording-left@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-graphite-bezel-recording-right.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "sr-yosemite-graphite-bezel-recording-right.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "sr-yosemite-graphite-bezel-recording-right@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "scale" : "3x" 16 | } 17 | ], 18 | "info" : { 19 | "version" : 1, 20 | "author" : "xcode" 21 | } 22 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-graphite-bezel-recording-right.imageset/sr-yosemite-graphite-bezel-recording-right.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-graphite-bezel-recording-right.imageset/sr-yosemite-graphite-bezel-recording-right.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-graphite-bezel-recording-right.imageset/sr-yosemite-graphite-bezel-recording-right@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-graphite-bezel-recording-right.imageset/sr-yosemite-graphite-bezel-recording-right@2x.png -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-info.dataset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "info" : { 3 | "version" : 1, 4 | "author" : "xcode" 5 | }, 6 | "data" : [ 7 | { 8 | "idiom" : "universal", 9 | "filename" : "info.json" 10 | } 11 | ] 12 | } -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/Images.xcassets/sr-yosemite-info.dataset/info.json: -------------------------------------------------------------------------------- 1 | { 2 | "supportedComponents": [ 3 | { 4 | "tint": 1, 5 | }, 6 | { 7 | "tint": 2, 8 | }, 9 | ], 10 | "metrics": { 11 | "minSize": { 12 | "width": 11.0, 13 | "height": 26.0 14 | }, 15 | "labelToCancel": 3.0, 16 | "cancelToClear": 5.0, 17 | "buttonToAlignment": 8.0, 18 | "baselineFromTop": 0.0, 19 | "alignmentToLabel": 10.0, 20 | "labelToAlignment": 10.0, 21 | "baselineLayoutOffsetFromBottom": 7, 22 | "baselineDrawingOffsetFromBottom": 6.5, 23 | "focusRingCornerRadius": { 24 | "width": 3.0, 25 | "height": 3.0 26 | }, 27 | "focusRingInsets": { 28 | "top": 1.0, 29 | "left": 1.0, 30 | "bottom": 1.0, 31 | "right": 1.0 32 | }, 33 | "alignmentInsets": { 34 | "top": 0.0, 35 | "left": 1.0, 36 | "bottom": 2.0, 37 | "right": 1.0 38 | }, 39 | "normalLabelAttributes": { 40 | "fontName": ".AppleSystemUIFont", 41 | "fontSize": 13.0, 42 | "fontColorCatalogName": "System", 43 | "fontColorName": "controlTextColor", 44 | }, 45 | "recordingLabelAttributes": { 46 | "fontName": ".AppleSystemUIFont", 47 | "fontSize": 13.0, 48 | "fontColorCatalogName": "System", 49 | "fontColorName": "disabledControlTextColor", 50 | }, 51 | "disabledLabelAttributes": { 52 | "fontName": ".AppleSystemUIFont", 53 | "fontSize": 13.0, 54 | "fontColorCatalogName": "System", 55 | "fontColorName": "disabledControlTextColor", 56 | } 57 | } 58 | 59 | } 60 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/ShortcutRecorder.sketch: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Kentzo/ShortcutRecorder/c86ce0f9be5353ba998966121c7631602a9a36f7/Sources/ShortcutRecorder/Resources/ShortcutRecorder.sketch -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/ca.lproj/ShortcutRecorder.strings: -------------------------------------------------------------------------------- 1 | /* Literal for the Space key */ 2 | "Space" = "Espai"; 3 | 4 | /* VoiceOver type of the object recorded by the control */ 5 | "Shortcut" = "Drecera"; 6 | 7 | /* VoiceOver value for the value-less control */ 8 | "Not set" = "Sense definir"; 9 | 10 | /* Tooltip for the cancel button when the control has a value */ 11 | "Use old shortcut" = "Utilitza la drecera antiga"; 12 | 13 | /* Tooltip for the cancel button when the control has no value */ 14 | "Cancel recording" = "Cancel·la la gravació"; 15 | 16 | /* Tooltip for the clear button */ 17 | "Delete current shortcut" = "Elimineu la drecera actual"; 18 | 19 | /* Label and tooltip for the recording mode */ 20 | "Press keys now" = "Prémer tecles ara"; 21 | 22 | /* Label for the value-less control */ 23 | "Record Shortcut" = "Gravar drecera"; 24 | 25 | /* Tooltip for the normal mode */ 26 | "Click to record shortcut" = "Cliqueu per desar drecera"; 27 | 28 | /* Value for the NSLocalizedFailureReasonErrorKey key of validator's error */ 29 | "The \"%@\" shortcut can't be used!" = "La combinació “%@“ no pot ser utilitzada!"; 30 | 31 | /* Value for the NSLocalizedDescriptionKey key of validator's delegate error */ 32 | "The \"%@\" shortcut can't be used because %@." = "La combinació “%@“ no pot ser utilitzada perquè %@."; 33 | 34 | /* Default value for the NSLocalizedDescriptionKey key of validator's error */ 35 | "The \"%@\" shortcut is already in use." = "La combinació “%@“ ja està en ús."; 36 | 37 | /* Value for the NSLocalizedDescriptionKey key of validator's system shortcuts error */ 38 | "The \"%@\" shortcut can't be used because it's already used by a system-wide keyboard shortcut. If you really want to use this shortcut, most shortcuts can be changed in the Keyboard panel in System Preferences." = "La combinació “%@“ no pot ser utilitzada perquè actualment l’utilitza el sistema. (Si realment voleu utilitzar aquesta combinació, podeu modificar les dreceres del sistema en l'apartat Teclat i Ratolí del panell de preferències del sistema)."; 39 | 40 | /* Value for the NSLocalizedDescriptionKey key of validator's menu error */ 41 | "The \"%@\" shortcut can't be used because it's already used by the \"%@\" menu item." = "La combinació “%@“ no pot ser utilitzada perquè actualment l’ítem de menú “%@“ ja l’utilitza."; 42 | 43 | /* Accessibility name of the Command modifier key */ 44 | "Command" = "Ordre"; 45 | 46 | /* VoiceOver name of the Option modifier key */ 47 | "Option" = "Opció"; 48 | 49 | /* VoiceOver name of the Shift modifier key */ 50 | "Shift" = "Majúscules"; 51 | 52 | /* VoiceOver name of the Control modifier key */ 53 | "Control" = "Control"; 54 | 55 | /* VoiceOver name of the modifier keys delimiter */ 56 | "-" = "-"; 57 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/cs.lproj/ShortcutRecorder.strings: -------------------------------------------------------------------------------- 1 | /* Literal for the Space key */ 2 | "Space" = "Mezerník"; 3 | 4 | /* VoiceOver type of the object recorded by the control */ 5 | "Shortcut" = "Kl. Zkratku"; 6 | 7 | /* VoiceOver value for the value-less control */ 8 | "Not set" = "Nenastaveno"; 9 | 10 | /* Tooltip for the cancel button when the control has a value */ 11 | "Use old shortcut" = "Použít starou kl. zkratku"; 12 | 13 | /* Tooltip for the cancel button when the control has no value */ 14 | "Cancel recording" = "Zrušit nahrávání"; 15 | 16 | /* Tooltip for the clear button */ 17 | "Delete current shortcut" = "Odstranit aktuální kl. zkratku"; 18 | 19 | /* Label and tooltip for the recording mode */ 20 | "Press keys now" = "Stiskněte klávesy"; 21 | 22 | /* Label for the value-less control */ 23 | "Record Shortcut" = "Nahrát kl. zkratku"; 24 | 25 | /* Tooltip for the normal mode */ 26 | "Click to record shortcut" = "Klepněte pro záznam kl. zkratky"; 27 | 28 | /* Value for the NSLocalizedFailureReasonErrorKey key of validator's error */ 29 | "The \"%@\" shortcut can't be used!" = "Kombinaci kláves „%@“ nelze použít!"; 30 | 31 | /* Value for the NSLocalizedDescriptionKey key of validator's delegate error */ 32 | "The \"%@\" shortcut can't be used because %@." = "Kombinaci kláves „%@“ nelze použít, protože %@."; 33 | 34 | /* Default value for the NSLocalizedDescriptionKey key of validator's error */ 35 | "The \"%@\" shortcut is already in use." = "Kombinaci kláves „%@“ je již používána."; 36 | 37 | /* Value for the NSLocalizedDescriptionKey key of validator's system shortcuts error */ 38 | "The \"%@\" shortcut can't be used because it's already used by a system-wide keyboard shortcut. If you really want to use this shortcut, most shortcuts can be changed in the Keyboard panel in System Preferences." = "Kombinaci kláves „%@“ nelze použít, protože je již použita v systémových kl. zkratkách. Pokud si přejete skutečně používat tuto kl. zkratku, musíte změnit nastavení již použité zkratky v Předvolbách systému, v panelu Klávesnice, Klávesové zkratky."; 39 | 40 | /* Value for the NSLocalizedDescriptionKey key of validator's menu error */ 41 | "The \"%@\" shortcut can't be used because it's already used by the \"%@\" menu item." = "Kombinaci kláves „%@“ nelze použít, protože je již použita na položku nabídky „%@“."; 42 | 43 | /* Accessibility name of the Command modifier key */ 44 | "Command" = "Command"; 45 | 46 | /* VoiceOver name of the Option modifier key */ 47 | "Option" = "Alt"; 48 | 49 | /* VoiceOver name of the Shift modifier key */ 50 | "Shift" = "Shift"; 51 | 52 | /* VoiceOver name of the Control modifier key */ 53 | "Control" = "Control"; 54 | 55 | /* VoiceOver name of the modifier keys delimiter */ 56 | "-" = "-"; 57 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/de.lproj/ShortcutRecorder.strings: -------------------------------------------------------------------------------- 1 | /* Literal for the Space key */ 2 | "Space" = "Leertaste"; 3 | 4 | /* VoiceOver type of the object recorded by the control */ 5 | "Shortcut" = "Tastaturkurzbefehl"; 6 | 7 | /* VoiceOver value for the value-less control */ 8 | "Not set" = "Keine Angabe"; 9 | 10 | /* Tooltip for the cancel button when the control has a value */ 11 | "Use old shortcut" = "Alten Kurzbefehl benutzen"; 12 | 13 | /* Tooltip for the cancel button when the control has no value */ 14 | "Cancel recording" = "Aufnahme abbrechen"; 15 | 16 | /* Tooltip for the clear button */ 17 | "Delete current shortcut" = "Aktuellen Kurzbefehl löschen"; 18 | 19 | /* Label and tooltip for the recording mode */ 20 | "Press keys now" = "Tasten jetzt drücken"; 21 | 22 | /* Label for the value-less control */ 23 | "Record Shortcut" = "Kurzbefehl aufnehmen"; 24 | 25 | /* Tooltip for the normal mode */ 26 | "Click to record shortcut" = "Klicken, um Kurzbefehl einzugeben"; 27 | 28 | /* Value for the NSLocalizedFailureReasonErrorKey key of validator's error */ 29 | "The \"%@\" shortcut can't be used!" = "Der Kurzbefehl „%@“ kann nicht verwendet werden."; 30 | 31 | /* Value for the NSLocalizedDescriptionKey key of validator's delegate error */ 32 | "The \"%@\" shortcut can't be used because %@." = "Der Kurzbefehl „%@“ kann nicht verwendet werden, da %@."; 33 | 34 | /* Default value for the NSLocalizedDescriptionKey key of validator's error */ 35 | "The \"%@\" shortcut is already in use." = "Der Kurzbefehl „%@“ wird bereits verwendet."; 36 | 37 | /* Value for the NSLocalizedDescriptionKey key of validator's system shortcuts error */ 38 | "The \"%@\" shortcut can't be used because it's already used by a system-wide keyboard shortcut. If you really want to use this shortcut, most shortcuts can be changed in the Keyboard panel in System Preferences." = "Der Kurzbefehl „%@“ kann nicht verwendet werden, da er bereits vom System belegt ist. Wenn du ihn wirklich verwenden willst, kannst du die meisten Systemkurzbefehle in den Systemeinstellungen unter Tastatur ändern."; 39 | 40 | /* Value for the NSLocalizedDescriptionKey key of validator's menu error */ 41 | "The \"%@\" shortcut can't be used because it's already used by the \"%@\" menu item." = "Der Kurzbefehl „%@“ kann nicht verwendet werden, da er bereits vom Menüeintrag „%@“ verwendet wird."; 42 | 43 | /* VoiceOver name of the Command modifier key */ 44 | "Command" = "Befehlstaste"; 45 | 46 | /* VoiceOver name of the Option modifier key */ 47 | "Option" = "Wahltaste"; 48 | 49 | /* VoiceOver name of the Shift modifier key */ 50 | "Shift" = "Umschalttaste"; 51 | 52 | /* VoiceOver name of the Control modifier key */ 53 | "Control" = "Control-Taste"; 54 | 55 | /* VoiceOver name of the modifier keys delimiter */ 56 | "-" = "-"; 57 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/el.lproj/ShortcutRecorder.strings: -------------------------------------------------------------------------------- 1 | /* Literal for the Space key */ 2 | "Space" = "Διάστημα"; 3 | 4 | /* VoiceOver type of the object recorded by the control */ 5 | "Shortcut" = "Συντόμευσης"; 6 | 7 | /* VoiceOver value for the value-less control */ 8 | "Not set" = "Κενό"; 9 | 10 | /* Tooltip for the cancel button when the control has a value */ 11 | "Use old shortcut" = "Χρήση παλιάς συντόμευσης"; 12 | 13 | /* Tooltip for the cancel button when the control has no value */ 14 | "Cancel recording" = "Ακύρωση εγγραφής"; 15 | 16 | /* Tooltip for the clear button */ 17 | "Delete current shortcut" = "Διαγραφή τρέχουσας συντομεύσεως"; 18 | 19 | /* Label and tooltip for the recording mode */ 20 | "Press keys now" = "Εισαγωγή συντόμευσης"; 21 | 22 | /* Label for the value-less control */ 23 | "Record Shortcut" = "Εγγραφή Συντόμευσης"; 24 | 25 | /* Tooltip for the normal mode */ 26 | "Click to record shortcut" = "Κλίκ για εισαγωγή συντόμευσης"; 27 | 28 | /* Value for the NSLocalizedFailureReasonErrorKey key of validator's error */ 29 | "The \"%@\" shortcut can't be used!" = "Ο συνδιασμός πλήκτρων «%@» δεν μπορεί να χρησιμοποιηθεί!"; 30 | 31 | /* Value for the NSLocalizedDescriptionKey key of validator's delegate error */ 32 | "The \"%@\" shortcut can't be used because %@." = "Ο συνδιασμός πλήκτρων «%@» δεν μπορεί να χρησιμοποιηθεί λόγω %@."; 33 | 34 | /* Default value for the NSLocalizedDescriptionKey key of validator's error */ 35 | "The \"%@\" shortcut is already in use." = "Ο συνδιασμός πλήκτρων «%@» χρησιμοποιείται ήδη."; 36 | 37 | /* Value for the NSLocalizedDescriptionKey key of validator's system shortcuts error */ 38 | "The \"%@\" shortcut can't be used because it's already used by a system-wide keyboard shortcut. If you really want to use this shortcut, most shortcuts can be changed in the Keyboard panel in System Preferences." = "Ο συνδιασμός πλήκτρων «%@» δεν μπορεί να χρησιμοποιηθεί γιατί χρησιμοποιείται ήδη από μια συντόμευση συστήματος. Αν θέλετε οπωσδήποτε να χρησιμοποιήσετε αυτό τον συνδιασμό, οι περισσότερες συντομεύσεις μπορούν να αλλαχθούν στο πάνελ Keyboard & Mouse στο System Preferences."; 39 | 40 | /* Value for the NSLocalizedDescriptionKey key of validator's menu error */ 41 | "The \"%@\" shortcut can't be used because it's already used by the \"%@\" menu item." = "Ο συνδιασμός πλήκτρων «%@» δεν μπορεί να χρησιμοποιηθεί γιατί χρησιμοποιείται ήδη από το μενού «%@»."; 42 | 43 | /* VoiceOver name of the Command modifier key */ 44 | "Command" = "Command"; 45 | 46 | /* VoiceOver name of the Option modifier key */ 47 | "Option" = "Option"; 48 | 49 | /* VoiceOver name of the Shift modifier key */ 50 | "Shift" = "Shift"; 51 | 52 | /* VoiceOver name of the Control modifier key */ 53 | "Control" = "Control"; 54 | 55 | /* VoiceOver name of the modifier keys delimiter */ 56 | "-" = "-"; 57 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/en.lproj/ShortcutRecorder.strings: -------------------------------------------------------------------------------- 1 | /* Literal for the Space key */ 2 | "Space" = "Space"; 3 | 4 | /* VoiceOver type of the object recorded by the control */ 5 | "Shortcut" = "Shortcut"; 6 | 7 | /* VoiceOver value for the value-less control */ 8 | "Not set" = "Not set"; 9 | 10 | /* Tooltip for the cancel button when the control has a value */ 11 | "Use old shortcut" = "Use old shortcut"; 12 | 13 | /* Tooltip for the cancel button when the control has no value */ 14 | "Cancel recording" = "Cancel recording"; 15 | 16 | /* Tooltip for the clear button */ 17 | "Delete current shortcut" = "Delete current shortcut"; 18 | 19 | /* Label and tooltip for the recording mode */ 20 | "Press keys now" = "Press keys now"; 21 | 22 | /* Label for the value-less control */ 23 | "Record Shortcut" = "Record Shortcut"; 24 | 25 | /* Tooltip for the normal mode */ 26 | "Click to record shortcut" = "Click to record shortcut"; 27 | 28 | /* Value for the NSLocalizedFailureReasonErrorKey key of validator's error */ 29 | "The \"%@\" shortcut can't be used!" = "The “%@” shortcut can't be used!"; 30 | 31 | /* Value for the NSLocalizedDescriptionKey key of validator's delegate error */ 32 | "The \"%@\" shortcut can't be used because %@." = "The “%@” shortcut can’t be used because %@."; 33 | 34 | /* Default value for the NSLocalizedDescriptionKey key of validator's error */ 35 | "The \"%@\" shortcut is already in use." = "The “%@” shortcut is already in use."; 36 | 37 | /* Value for the NSLocalizedDescriptionKey key of validator's system shortcuts error */ 38 | "The \"%@\" shortcut can't be used because it's already used by a system-wide keyboard shortcut. If you really want to use this shortcut, most shortcuts can be changed in the Keyboard panel in System Preferences." = "The “%@” shortcut can’t be used because it’s already used by a system-wide keyboard shortcut. If you really want to use this shortcut, most shortcuts can be changed in the Keyboard panel in System Preferences."; 39 | 40 | /* Value for the NSLocalizedDescriptionKey key of validator's menu error */ 41 | "The \"%@\" shortcut can't be used because it's already used by the \"%@\" menu item." = "The “%@” shortcut can't be used because it’s already used by the “%@” menu item."; 42 | 43 | /* VoiceOver name of the Command modifier key */ 44 | "Command" = "Command"; 45 | 46 | /* VoiceOver name of the Option modifier key */ 47 | "Option" = "Option"; 48 | 49 | /* VoiceOver name of the Shift modifier key */ 50 | "Shift" = "Shift"; 51 | 52 | /* VoiceOver name of the Control modifier key */ 53 | "Control" = "Control"; 54 | 55 | /* VoiceOver name of the modifier keys delimiter */ 56 | "-" = "-"; 57 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/es.lproj/ShortcutRecorder.strings: -------------------------------------------------------------------------------- 1 | /* Literal for the Space key */ 2 | "Space" = "Espacio"; 3 | 4 | /* VoiceOver type of the object recorded by the control */ 5 | "Shortcut" = "Función rápida"; 6 | 7 | /* VoiceOver value for the value-less control */ 8 | "Not set" = "Sin definir"; 9 | 10 | /* Tooltip for the cancel button when the control has a value */ 11 | "Use old shortcut" = "Usar la anterior función rápida"; 12 | 13 | /* Tooltip for the cancel button when the control has no value */ 14 | "Cancel recording" = "Cancelar grabación"; 15 | 16 | /* Tooltip for the clear button */ 17 | "Delete current shortcut" = "Eliminar la actual función rápida"; 18 | 19 | /* Label and tooltip for the recording mode */ 20 | "Press keys now" = "Pulsa las teclas ahora"; 21 | 22 | /* Label for the value-less control */ 23 | "Record Shortcut" = "Grabar función rápida"; 24 | 25 | /* Tooltip for the normal mode */ 26 | "Click to record shortcut" = "Haga clic para registrar la función rápida"; 27 | 28 | /* Value for the NSLocalizedFailureReasonErrorKey key of validator's error */ 29 | "The \"%@\" shortcut can't be used!" = "¡La función rápida “%@“ no puede ser usada!"; 30 | 31 | /* Value for the NSLocalizedDescriptionKey key of validator's delegate error */ 32 | "The \"%@\" shortcut can't be used because %@." = "La función rápida “%@“ no puede ser usada porque %@."; 33 | 34 | /* Default value for the NSLocalizedDescriptionKey key of validator's error */ 35 | "The \"%@\" shortcut is already in use." = "La función rápida “%@“ ya está en uso."; 36 | 37 | /* Value for the NSLocalizedDescriptionKey key of validator's system shortcuts error */ 38 | "The \"%@\" shortcut can't be used because it's already used by a system-wide keyboard shortcut. If you really want to use this shortcut, most shortcuts can be changed in the Keyboard panel in System Preferences." = "La función rápida “%@“ no puede ser usada porque ya está siendo usada por otra función rápida del sistema. Si realmente desea usar esta función rápida, la mayoría de las funciones rápidas pueden ser cambiados en el Panel de Teclado en las Preferencias del Sistema."; 39 | 40 | /* Value for the NSLocalizedDescriptionKey key of validator's menu error */ 41 | "The \"%@\" shortcut can't be used because it's already used by the \"%@\" menu item." = "La función rápida “%@“ no puede ser utilizada pues ya está en uso por el menú “%@“"; 42 | 43 | /* Accessibility name of the Command modifier key */ 44 | "Command" = "Command"; 45 | 46 | /* VoiceOver name of the Option modifier key */ 47 | "Option" = "Option"; 48 | 49 | /* VoiceOver name of the Shift modifier key */ 50 | "Shift" = "Shift"; 51 | 52 | /* VoiceOver name of the Control modifier key */ 53 | "Control" = "Control"; 54 | 55 | /* VoiceOver name of the modifier keys delimiter */ 56 | "-" = "-"; 57 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/export-ShortcutRecorder-slices.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | from __future__ import print_function 4 | 5 | import argparse 6 | import os 7 | import shutil 8 | import subprocess 9 | import tempfile 10 | 11 | 12 | def find_sketchtool(): 13 | bundle = subprocess.check_output("/usr/bin/mdfind \"kMDItemCFBundleIdentifier == 'com.bohemiancoding.sketch3'\" | head -n 1", shell=True).strip() 14 | 15 | if bundle: 16 | return os.path.join(bundle, 'Contents/Resources/sketchtool/bin/sketchtool') 17 | else: 18 | return None 19 | 20 | 21 | def iter_slices(sketchtool): 22 | sketch = os.path.join(os.path.dirname(__file__), 'ShortcutRecorder.sketch') 23 | tmpdir = tempfile.mkdtemp() 24 | 25 | try: 26 | subprocess.check_call([sketchtool, 'export', 'slices', sketch, '--output={0}'.format(tmpdir), '--formats=png', '--scales=1,2']) 27 | 28 | for s in os.listdir(tmpdir): 29 | yield os.path.join(tmpdir, s) 30 | finally: 31 | shutil.rmtree(tmpdir) 32 | 33 | 34 | def update_xcassets(slices): 35 | xcassets = os.path.join(os.path.dirname(__file__), 'Images.xcassets') 36 | for s in slices: 37 | s_basename = os.path.basename(s) 38 | match = subprocess.check_output("/usr/bin/find \"{0}\" -name \"{1}\" -type f -print -quit | head -n 1".format(xcassets, s_basename), shell=True).strip() 39 | 40 | if match: 41 | shutil.move(s, match) 42 | print("Replaced {0}".format(s_basename)) 43 | else: 44 | print("Ignored {0}".format(s_basename)) 45 | 46 | 47 | def main(): 48 | parser = argparse.ArgumentParser(description="Export slices from ShortcutRecorder.sketch") 49 | parser.add_argument('--sketchtool', type=str, help="path to the sketchtool binary") 50 | args = parser.parse_args() 51 | 52 | sketchtool = args.sketchtool 53 | if not sketchtool: 54 | sketchtool = find_sketchtool() 55 | 56 | update_xcassets(iter_slices(sketchtool)) 57 | 58 | 59 | if __name__ == '__main__': 60 | main() 61 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/ja.lproj/ShortcutRecorder.strings: -------------------------------------------------------------------------------- 1 | /* Literal for the Space key */ 2 | "Space" = "スペース"; 3 | 4 | /* VoiceOver type of the object recorded by the control */ 5 | "Shortcut" = "ショートカット"; 6 | 7 | /* VoiceOver value for the value-less control */ 8 | "Not set" = "未設定"; 9 | 10 | /* Tooltip for the cancel button when the control has a value */ 11 | "Use old shortcut" = "古いショートカット設定を使用"; 12 | 13 | /* Tooltip for the cancel button when the control has no value */ 14 | "Cancel recording" = "入力をキャンセル"; 15 | 16 | /* Tooltip for the clear button */ 17 | "Delete current shortcut" = "現在のショートカットを削除"; 18 | 19 | /* Label and tooltip for the recording mode */ 20 | "Press keys now" = "今すぐキーを押してください"; 21 | 22 | /* Label for the value-less control */ 23 | "Record Shortcut" = "ショートカットを入力"; 24 | 25 | /* Tooltip for the normal mode */ 26 | "Click to record shortcut" = "クリックして、ショートカットを記録してください"; 27 | 28 | /* Value for the NSLocalizedFailureReasonErrorKey key of validator's error */ 29 | "The \"%@\" shortcut can't be used!" = "“%@” というキーの組み合わせは使用できません!"; 30 | 31 | /* Value for the NSLocalizedDescriptionKey key of validator's delegate error */ 32 | "The \"%@\" shortcut can't be used because %@." = "“%@” というキーの組み合わせは使用できません。その理由は、%@です。"; 33 | 34 | /* Default value for the NSLocalizedDescriptionKey key of validator's error */ 35 | "The \"%@\" shortcut is already in use." = "ショートカットキーの組み合わせは“%@”を使用してます。"; 36 | 37 | /* Value for the NSLocalizedDescriptionKey key of validator's system shortcuts error */ 38 | "The \"%@\" shortcut can't be used because it's already used by a system-wide keyboard shortcut. If you really want to use this shortcut, most shortcuts can be changed in the Keyboard panel in System Preferences." = "“%@” というキーの組み合わせは、すでにシステムで他のショートカットに割り当てられています。(システム環境設定の「キーボードとマウス」パネルでショートカットの割り当てを変更できます。)"; 39 | 40 | /* Value for the NSLocalizedDescriptionKey key of validator's menu error */ 41 | "The \"%@\" shortcut can't be used because it's already used by the \"%@\" menu item." = "“%@” というキーの組み合わせは、すでにメニューアイテム “%@” によって使われています。"; 42 | 43 | /* Accessibility name of the Command modifier key */ 44 | "Command" = "Command"; 45 | 46 | /* VoiceOver name of the Option modifier key */ 47 | "Option" = "Option"; 48 | 49 | /* VoiceOver name of the Shift modifier key */ 50 | "Shift" = "Shift"; 51 | 52 | /* VoiceOver name of the Control modifier key */ 53 | "Control" = "Control"; 54 | 55 | /* VoiceOver name of the modifier keys delimiter */ 56 | "-" = "-"; 57 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/ko.lproj/ShortcutRecorder.strings: -------------------------------------------------------------------------------- 1 | /* Literal for the Space key */ 2 | "Space" = "스페이스"; 3 | 4 | /* VoiceOver type of the object recorded by the control */ 5 | "Shortcut" = "단축키"; 6 | 7 | /* VoiceOver value for the value-less control */ 8 | "Not set" = "설정 안 됨"; 9 | 10 | /* Tooltip for the cancel button when the control has a value */ 11 | "Use old shortcut" = "예전 단축키 사용"; 12 | 13 | /* Tooltip for the cancel button when the control has no value */ 14 | "Cancel recording" = "입력 취소"; 15 | 16 | /* Tooltip for the clear button */ 17 | "Delete current shortcut" = "현재 단축키 삭제"; 18 | 19 | /* Label and tooltip for the recording mode */ 20 | "Press keys now" = "지금 키 입력"; 21 | 22 | /* Label for the value-less control */ 23 | "Record Shortcut" = "단축키 입력"; 24 | 25 | /* Tooltip for the normal mode */ 26 | "Click to record shortcut" = "클릭해서 단축키 기록"; 27 | 28 | /* Value for the NSLocalizedFailureReasonErrorKey key of validator's error */ 29 | "The \"%@\" shortcut can't be used!" = "\"%@\" 키 조합은 사용할 수 없습니다."; 30 | 31 | /* Value for the NSLocalizedDescriptionKey key of validator's delegate error */ 32 | "The \"%@\" shortcut can't be used because %@." = "\"%@\" 키 조합은 다음 이유로 사용이 불가능합니다: %@ "; 33 | 34 | /* Default value for the NSLocalizedDescriptionKey key of validator's error */ 35 | "The \"%@\" shortcut is already in use." = "\"%@\" 키 조합 은(는) 이미 사용 중입니다."; 36 | 37 | /* Value for the NSLocalizedDescriptionKey key of validator's system shortcuts error */ 38 | "The \"%@\" shortcut can't be used because it's already used by a system-wide keyboard shortcut. If you really want to use this shortcut, most shortcuts can be changed in the Keyboard panel in System Preferences." = "\"%@\" 키 조합은 이미 시스템 단축키에서 사용중이므로 사용이 불가능합니다. (만약 지금 이 키 조합을 반드시 사용하고싶다면, 시스템 환경설정에서 키보드 & 마우스 항목에서 기존 단축키가 변경 가능한지 확인 해 보세요.)"; 39 | 40 | /* Value for the NSLocalizedDescriptionKey key of validator's menu error */ 41 | "The \"%@\" shortcut can't be used because it's already used by the \"%@\" menu item." = "\"%@\" 키 조합은 이미 \"%@\" 메뉴 항목에서 사용중이므로 사용이 불가능합니다."; 42 | 43 | /* Accessibility name of the Command modifier key */ 44 | "Command" = "Command"; 45 | 46 | /* VoiceOver name of the Option modifier key */ 47 | "Option" = "Option"; 48 | 49 | /* VoiceOver name of the Shift modifier key */ 50 | "Shift" = "Shift"; 51 | 52 | /* VoiceOver name of the Control modifier key */ 53 | "Control" = "Control"; 54 | 55 | /* VoiceOver name of the modifier keys delimiter */ 56 | "-" = "-"; 57 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/nb.lproj/ShortcutRecorder.strings: -------------------------------------------------------------------------------- 1 | /* Literal for the Space key */ 2 | "Space" = "Mellomrom"; 3 | 4 | /* VoiceOver type of the object recorded by the control */ 5 | "Shortcut" = "Snarvei"; 6 | 7 | /* VoiceOver value for the value-less control */ 8 | "Not set" = "Ikke angitt"; 9 | 10 | /* Tooltip for the cancel button when the control has a value */ 11 | "Use old shortcut" = "Bruk forrige snarvei"; 12 | 13 | /* Tooltip for the cancel button when the control has no value */ 14 | "Cancel recording" = "Avbryt innspillingen"; 15 | 16 | /* Tooltip for the clear button */ 17 | "Delete current shortcut" = "Slett gjeldende snarvei"; 18 | 19 | /* Label and tooltip for the recording mode */ 20 | "Press keys now" = "Trykk på taster nå"; 21 | 22 | /* Label for the value-less control */ 23 | "Record Shortcut" = "Spill inn snarvei"; 24 | 25 | /* Tooltip for the normal mode */ 26 | "Click to record shortcut" = "Klikk for å velge snarvei"; 27 | 28 | /* Value for the NSLocalizedFailureReasonErrorKey key of validator's error */ 29 | "The \"%@\" shortcut can't be used!" = "Tastekombinasjonen «%@» kan ikke brukes!"; 30 | 31 | /* Value for the NSLocalizedDescriptionKey key of validator's delegate error */ 32 | "The \"%@\" shortcut can't be used because %@." = "Tastekombinasjonen «%@» kan ikke brukes fordi %@."; 33 | 34 | /* Default value for the NSLocalizedDescriptionKey key of validator's error */ 35 | "The \"%@\" shortcut is already in use." = "Tastekombinasjonen «%@» allerede i bruk."; 36 | 37 | /* Value for the NSLocalizedDescriptionKey key of validator's system shortcuts error */ 38 | "The \"%@\" shortcut can't be used because it's already used by a system-wide keyboard shortcut. If you really want to use this shortcut, most shortcuts can be changed in the Keyboard panel in System Preferences." = "Tastekombinasjonen «%@» kan ikke brukes fordi den allerede er brukt som en tastatursnarvei i Systemvalg. Hvis du ønsker å bruke denne tastekombinasjonen må du først endre den i Tastatur-panelet i Systemvalg. "; 39 | 40 | /* Value for the NSLocalizedDescriptionKey key of validator's menu error */ 41 | "The \"%@\" shortcut can't be used because it's already used by the \"%@\" menu item." = "Tastekombinasjonen «%@» kan ikke brukes fordi den allerede er i bruk av menyvalget «%@»."; 42 | 43 | /* Accessibility name of the Command modifier key */ 44 | "Command" = "Kommando"; 45 | 46 | /* VoiceOver name of the Option modifier key */ 47 | "Option" = "Tilvalg"; 48 | 49 | /* VoiceOver name of the Shift modifier key */ 50 | "Shift" = "Skift"; 51 | 52 | /* VoiceOver name of the Control modifier key */ 53 | "Control" = "Kontroll"; 54 | 55 | /* VoiceOver name of the modifier keys delimiter */ 56 | "-" = " - "; 57 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/nl.lproj/ShortcutRecorder.strings: -------------------------------------------------------------------------------- 1 | /* Literal for the Space key */ 2 | "Space" = "Spatie"; 3 | 4 | /* VoiceOver type of the object recorded by the control */ 5 | "Shortcut" = "Toetscombinatie"; 6 | 7 | /* VoiceOver value for the value-less control */ 8 | "Not set" = "Niet ingesteld"; 9 | 10 | /* Tooltip for the cancel button when the control has a value */ 11 | "Use old shortcut" = "Gebruik vorige toetscombinatie"; 12 | 13 | /* Tooltip for the cancel button when the control has no value */ 14 | "Cancel recording" = "Opname annuleren"; 15 | 16 | /* Tooltip for the clear button */ 17 | "Delete current shortcut" = "Huidige toetscombinatie verwijderen"; 18 | 19 | /* Label and tooltip for the recording mode */ 20 | "Press keys now" = "Druk nu op toetsen"; 21 | 22 | /* Label for the value-less control */ 23 | "Record Shortcut" = "Toetscombinatie opnemen"; 24 | 25 | /* Tooltip for the normal mode */ 26 | "Click to record shortcut" = "Klik om de toetscombinatie op te nemen"; 27 | 28 | /* Value for the NSLocalizedFailureReasonErrorKey key of validator's error */ 29 | "The \"%@\" shortcut can't be used!" = "De toetscombinatie '%@' kan niet gebruikt worden!"; 30 | 31 | /* Value for the NSLocalizedDescriptionKey key of validator's delegate error */ 32 | "The \"%@\" shortcut can't be used because %@." = "De toetscombinatie '%@' kan niet gebruikt worden, omdat %@."; 33 | 34 | /* Default value for the NSLocalizedDescriptionKey key of validator's error */ 35 | "The \"%@\" shortcut is already in use." = "De toetscombinatie '%@' is al in gebruik."; 36 | 37 | /* Value for the NSLocalizedDescriptionKey key of validator's system shortcuts error */ 38 | "The \"%@\" shortcut can't be used because it's already used by a system-wide keyboard shortcut. If you really want to use this shortcut, most shortcuts can be changed in the Keyboard panel in System Preferences." = "De toetscombinatie '%@' kan niet gebruikt worden, omdat deze al gebruikt wordt door het systeem. (U kunt de bestaande toetscombinatie wijzigen in het paneel 'Toetsenbord en muis' onder Systeemvoorkeuren.)"; 39 | 40 | /* Value for the NSLocalizedDescriptionKey key of validator's menu error */ 41 | "The \"%@\" shortcut can't be used because it's already used by the \"%@\" menu item." = "De toetscombinatie '%@' kan niet gebruikt worden, omdat deze al gebruikt wordt door het menu-item '%@'."; 42 | 43 | /* Accessibility name of the Command modifier key */ 44 | "Command" = "Command"; 45 | 46 | /* VoiceOver name of the Option modifier key */ 47 | "Option" = "Option"; 48 | 49 | /* VoiceOver name of the Shift modifier key */ 50 | "Shift" = "Shift"; 51 | 52 | /* VoiceOver name of the Control modifier key */ 53 | "Control" = "Control"; 54 | 55 | /* VoiceOver name of the modifier keys delimiter */ 56 | "-" = "-"; 57 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/pl.lproj/ShortcutRecorder.strings: -------------------------------------------------------------------------------- 1 | /* Literal for the Space key */ 2 | "Space" = "Spacja"; 3 | 4 | /* VoiceOver type of the object recorded by the control */ 5 | "Shortcut" = "Skrót"; 6 | 7 | /* VoiceOver value for the value-less control */ 8 | "Not set" = "Nie ustawiono"; 9 | 10 | /* Tooltip for the cancel button when the control has a value */ 11 | "Use old shortcut" = "Użyj starego skrótu"; 12 | 13 | /* Tooltip for the cancel button when the control has no value */ 14 | "Cancel recording" = "Anuluj tworzenie"; 15 | 16 | /* Tooltip for the clear button */ 17 | "Delete current shortcut" = "Skasuj bieżącym skrót"; 18 | 19 | /* Label and tooltip for the recording mode */ 20 | "Press keys now" = "Naciśnij klawisze teraz"; 21 | 22 | /* Label for the value-less control */ 23 | "Record Shortcut" = "Utwórz skrót"; 24 | 25 | /* Tooltip for the normal mode */ 26 | "Click to record shortcut" = "Kliknij aby zarejestrować skrót"; 27 | 28 | /* Value for the NSLocalizedFailureReasonErrorKey key of validator's error */ 29 | "The \"%@\" shortcut can't be used!" = "Kombinacja klawiszy „%@“ nie może zostać użyta!"; 30 | 31 | /* Value for the NSLocalizedDescriptionKey key of validator's delegate error */ 32 | "The \"%@\" shortcut can't be used because %@." = "Kombinacja klawiszy „%@“ nie może zostać użyta, ponieważ %@."; 33 | 34 | /* Default value for the NSLocalizedDescriptionKey key of validator's error */ 35 | "The \"%@\" shortcut is already in use." = "Kombinacja klawiszy „%@“ jest już w użyciu."; 36 | 37 | /* Value for the NSLocalizedDescriptionKey key of validator's system shortcuts error */ 38 | "The \"%@\" shortcut can't be used because it's already used by a system-wide keyboard shortcut. If you really want to use this shortcut, most shortcuts can be changed in the Keyboard panel in System Preferences." = "Kombinacja klawiszy „%@“ nie może zostać użyta, ponieważ jest już wykorzystywana jako systemowy skrót klawiszowy. (Jeśli naprawdę chcesz korzystać z tej kombinacji klawiszy, większość skrótów można zmienić w panelu Klawiatura w Preferencjach systemowych.)"; 39 | 40 | /* Value for the NSLocalizedDescriptionKey key of validator's menu error */ 41 | "The \"%@\" shortcut can't be used because it's already used by the \"%@\" menu item." = "Kombinacja klawiszy „%@“ nie może zostać użyta, ponieważ jest już wykorzystywana przez element menu „%@“."; 42 | 43 | /* Accessibility name of the Command modifier key */ 44 | "Command" = "Command"; 45 | 46 | /* VoiceOver name of the Option modifier key */ 47 | "Option" = "Option"; 48 | 49 | /* VoiceOver name of the Shift modifier key */ 50 | "Shift" = "Shift"; 51 | 52 | /* VoiceOver name of the Control modifier key */ 53 | "Control" = "Control"; 54 | 55 | /* VoiceOver name of the modifier keys delimiter */ 56 | "-" = "-"; 57 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/pt-BR.lproj/ShortcutRecorder.strings: -------------------------------------------------------------------------------- 1 | /* Literal for the Space key */ 2 | "Space" = "Espaço"; 3 | 4 | /* VoiceOver type of the object recorded by the control */ 5 | "Shortcut" = "Atalho"; 6 | 7 | /* VoiceOver value for the value-less control */ 8 | "Not set" = "Não Definido"; 9 | 10 | /* Tooltip for the cancel button when the control has a value */ 11 | "Use old shortcut" = "Usar atalho antigo"; 12 | 13 | /* Tooltip for the cancel button when the control has no value */ 14 | "Cancel recording" = "Cancelar gravação"; 15 | 16 | /* Tooltip for the clear button */ 17 | "Delete current shortcut" = "Apagar atalho atual"; 18 | 19 | /* Label and tooltip for the recording mode */ 20 | "Press keys now" = "Pressione as teclas agora"; 21 | 22 | /* Label for the value-less control */ 23 | "Record Shortcut" = "Gravar Atalho"; 24 | 25 | /* Tooltip for the normal mode */ 26 | "Click to record shortcut" = "Clique para gravar o atalho"; 27 | 28 | /* Value for the NSLocalizedFailureReasonErrorKey key of validator's error */ 29 | "The \"%@\" shortcut can't be used!" = "A combinação de teclas “%@“ não pode ser usada!"; 30 | 31 | /* Value for the NSLocalizedDescriptionKey key of validator's delegate error */ 32 | "The \"%@\" shortcut can't be used because %@." = "A combinação de teclas “%@“ não pode ser usada porque %@."; 33 | 34 | /* Default value for the NSLocalizedDescriptionKey key of validator's error */ 35 | "The \"%@\" shortcut is already in use." = "A combinação de teclas “%@“ já está em uso."; 36 | 37 | /* Value for the NSLocalizedDescriptionKey key of validator's system shortcuts error */ 38 | "The \"%@\" shortcut can't be used because it's already used by a system-wide keyboard shortcut. If you really want to use this shortcut, most shortcuts can be changed in the Keyboard panel in System Preferences." = "A combinação “%@“ não pode ser usada pois está designada a um atalho usado pelo sistema. Caso você realmente queira usar essa combinação, a maioria dos atalhos pode ser alterada nas Preferências do Sistema, no painel Teclado, guia Atalhos de Teclado."; 39 | 40 | /* Value for the NSLocalizedDescriptionKey key of validator's menu error */ 41 | "The \"%@\" shortcut can't be used because it's already used by the \"%@\" menu item." = "A combinação “%@“ não pode ser usada pois já está designada ao item de menu “%@“."; 42 | 43 | /* Accessibility name of the Command modifier key */ 44 | "Command" = "Comando"; 45 | 46 | /* VoiceOver name of the Option modifier key */ 47 | "Option" = "Opção"; 48 | 49 | /* VoiceOver name of the Shift modifier key */ 50 | "Shift" = "Maiúsculas"; 51 | 52 | /* VoiceOver name of the Control modifier key */ 53 | "Control" = "Controle"; 54 | 55 | /* VoiceOver name of the modifier keys delimiter */ 56 | "-" = "-"; 57 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/pt.lproj/ShortcutRecorder.strings: -------------------------------------------------------------------------------- 1 | /* Literal for the Space key */ 2 | "Space" = "Espaço"; 3 | 4 | /* VoiceOver type of the object recorded by the control */ 5 | "Shortcut" = "Atalho"; 6 | 7 | /* VoiceOver value for the value-less control */ 8 | "Not set" = "Por definir"; 9 | 10 | /* Tooltip for the cancel button when the control has a value */ 11 | "Use old shortcut" = "Usar atalho antigo"; 12 | 13 | /* Tooltip for the cancel button when the control has no value */ 14 | "Cancel recording" = "Cancelar gravação"; 15 | 16 | /* Tooltip for the clear button */ 17 | "Delete current shortcut" = "Apagar atalho atual"; 18 | 19 | /* Label and tooltip for the recording mode */ 20 | "Press keys now" = "Premir teclas agora"; 21 | 22 | /* Label for the value-less control */ 23 | "Record Shortcut" = "Gravar Atalho"; 24 | 25 | /* Tooltip for the normal mode */ 26 | "Click to record shortcut" = "Clique para gravar atalho"; 27 | 28 | /* Value for the NSLocalizedFailureReasonErrorKey key of validator's error */ 29 | "The \"%@\" shortcut can't be used!" = "A combinação de teclas “%@“ não pode ser usada!"; 30 | 31 | /* Value for the NSLocalizedDescriptionKey key of validator's delegate error */ 32 | "The \"%@\" shortcut can't be used because %@." = "A combinação de teclas “%@“ não pode ser usada porque %@."; 33 | 34 | /* Default value for the NSLocalizedDescriptionKey key of validator's error */ 35 | "The \"%@\" shortcut is already in use." = "A combinação de teclas “%@“ já está em uso."; 36 | 37 | /* Value for the NSLocalizedDescriptionKey key of validator's system shortcuts error */ 38 | "The \"%@\" shortcut can't be used because it's already used by a system-wide keyboard shortcut. If you really want to use this shortcut, most shortcuts can be changed in the Keyboard panel in System Preferences." = "A combinação de teclas “%@“ não pode ser usada porque já está a ser usada por um atalho global do sistema. Se quiser realmente usar esta combinação, a maioria dos atalhos podem ser mudados no painel Teclado das Preferências do Sistema."; 39 | 40 | /* Value for the NSLocalizedDescriptionKey key of validator's menu error */ 41 | "The \"%@\" shortcut can't be used because it's already used by the \"%@\" menu item." = "A combinação de teclas “%@“ não pode ser usada porque já está a ser usada pelo item de menu “%@“."; 42 | 43 | /* Accessibility name of the Command modifier key */ 44 | "Command" = "Comando"; 45 | 46 | /* VoiceOver name of the Option modifier key */ 47 | "Option" = "Opção"; 48 | 49 | /* VoiceOver name of the Shift modifier key */ 50 | "Shift" = "Maiúsculas"; 51 | 52 | /* VoiceOver name of the Control modifier key */ 53 | "Control" = "Controle"; 54 | 55 | /* VoiceOver name of the modifier keys delimiter */ 56 | "-" = "-"; 57 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/ro.lproj/ShortcutRecorder.strings: -------------------------------------------------------------------------------- 1 | /* Literal for the Space key */ 2 | "Space" = "Spațiu"; 3 | 4 | /* VoiceOver type of the object recorded by the control */ 5 | "Shortcut" = "Scurtătură"; 6 | 7 | /* VoiceOver value for the value-less control */ 8 | "Not set" = "Neconfigurat"; 9 | 10 | /* Tooltip for the cancel button when the control has a value */ 11 | "Use old shortcut" = "Folosește vechea scurtătură"; 12 | 13 | /* Tooltip for the cancel button when the control has no value */ 14 | "Cancel recording" = "Anulați înregistrarea"; 15 | 16 | /* Tooltip for the clear button */ 17 | "Delete current shortcut" = "Ștergeți scurtătură curente"; 18 | 19 | /* Label and tooltip for the recording mode */ 20 | "Press keys now" = "Apăsați tastele acum"; 21 | 22 | /* Label for the value-less control */ 23 | "Record Shortcut" = "Înregistra scurtătură"; 24 | 25 | /* Tooltip for the normal mode */ 26 | "Click to record shortcut" = "Apasă pentru a înregistra scurtătură"; 27 | 28 | /* Value for the NSLocalizedFailureReasonErrorKey key of validator's error */ 29 | "The \"%@\" shortcut can't be used!" = "Combinația de taste “%@“ nu poate fi utilizată!"; 30 | 31 | /* Value for the NSLocalizedDescriptionKey key of validator's delegate error */ 32 | "The \"%@\" shortcut can't be used because %@." = "Combinația de taste “%@“ nu poate fi utilizată din cauza %@."; 33 | 34 | /* Default value for the NSLocalizedDescriptionKey key of validator's error */ 35 | "The \"%@\" shortcut is already in use." = "Combinația de taste “%@“ este deja în uz."; 36 | 37 | /* Value for the NSLocalizedDescriptionKey key of validator's system shortcuts error */ 38 | "The \"%@\" shortcut can't be used because it's already used by a system-wide keyboard shortcut. If you really want to use this shortcut, most shortcuts can be changed in the Keyboard panel in System Preferences." = "Combinaţia de taste “%@“ nu poate fi utilizată, deoarece aceasta este deja utilizată de către sistem de operare. Dacă chiar vrei să utilizezi această combinaţie de taste, cele mai multe comenzi rapide pot fi schimbate în panoul-Tastatură şi Maus-în Preferințe Sistem."; 39 | 40 | /* Value for the NSLocalizedDescriptionKey key of validator's menu error */ 41 | "The \"%@\" shortcut can't be used because it's already used by the \"%@\" menu item." = "Combinaţie de taste “%@“ nu poate fi utilizată, deoarece este deja utilizată de meniul “%@“."; 42 | 43 | /* Accessibility name of the Command modifier key */ 44 | "Command" = "Comandă"; 45 | 46 | /* VoiceOver name of the Option modifier key */ 47 | "Option" = "Opțiune"; 48 | 49 | /* VoiceOver name of the Shift modifier key */ 50 | "Shift" = "Shift"; 51 | 52 | /* VoiceOver name of the Control modifier key */ 53 | "Control" = "Control"; 54 | 55 | /* VoiceOver name of the modifier keys delimiter */ 56 | "-" = "-"; 57 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/ru.lproj/ShortcutRecorder.strings: -------------------------------------------------------------------------------- 1 | /* Literal for the Space key */ 2 | "Space" = "Пробел"; 3 | 4 | /* VoiceOver type of the object recorded by the control */ 5 | "Shortcut" = "Сочетание Клавиш"; 6 | 7 | /* VoiceOver value for the value-less control */ 8 | "Not set" = "Не задано"; 9 | 10 | /* Tooltip for the cancel button when the control has a value */ 11 | "Use old shortcut" = "Использовать предыдущее сочетание клавиш"; 12 | 13 | /* Tooltip for the cancel button when the control has no value */ 14 | "Cancel recording" = "Отменить ввод"; 15 | 16 | /* Tooltip for the clear button */ 17 | "Delete current shortcut" = "Удалить текущее сочетание клавиш"; 18 | 19 | /* Label and tooltip for the recording mode */ 20 | "Press keys now" = "Нажмите клавиши"; 21 | 22 | /* Label for the value-less control */ 23 | "Record Shortcut" = "Ввести сочетание клавиш"; 24 | 25 | /* Tooltip for the normal mode */ 26 | "Click to record shortcut" = "Нажмите, чтобы ввести сочетание клавиш"; 27 | 28 | /* Value for the NSLocalizedFailureReasonErrorKey key of validator's error */ 29 | "The \"%@\" shortcut can't be used!" = "Сочетание клавиш «%@» не может быть использовано!"; 30 | 31 | /* Value for the NSLocalizedDescriptionKey key of validator's delegate error */ 32 | "The \"%@\" shortcut can't be used because %@." = "Сочетание клавиш «%@» не может быть использовано, потому что %@."; 33 | 34 | /* Default value for the NSLocalizedDescriptionKey key of validator's error */ 35 | "The \"%@\" shortcut is already in use." = "Сочетание клавиш «%@» уже используется."; 36 | 37 | /* Value for the NSLocalizedDescriptionKey key of validator's system shortcuts error */ 38 | "The \"%@\" shortcut can't be used because it's already used by a system-wide keyboard shortcut. If you really want to use this shortcut, most shortcuts can be changed in the Keyboard panel in System Preferences." = "Сочетание клавиш «%@» не может быть использовано, потому что его использует другое приложение. Если вы действительно хотите использовать это сочетание клавиш, вы можете изменить его в «Системные настройки→Клавиатура→Сочетания клавиш»."; 39 | 40 | /* Value for the NSLocalizedDescriptionKey key of validator's menu error */ 41 | "The \"%@\" shortcut can't be used because it's already used by the \"%@\" menu item." = "Сочетание клавиш «%@» не может быть использовано, потому что оно уже используется командой меню «%@»."; 42 | 43 | /* Accessibility name of the Command modifier key */ 44 | "Command" = "Command"; 45 | 46 | /* VoiceOver name of the Option modifier key */ 47 | "Option" = "Option"; 48 | 49 | /* VoiceOver name of the Shift modifier key */ 50 | "Shift" = "Shift"; 51 | 52 | /* VoiceOver name of the Control modifier key */ 53 | "Control" = "Control"; 54 | 55 | /* VoiceOver name of the modifier keys delimiter */ 56 | "-" = "-"; 57 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/sk.lproj/ShortcutRecorder.strings: -------------------------------------------------------------------------------- 1 | /* Literal for the Space key */ 2 | "Space" = "Medzerník"; 3 | 4 | /* VoiceOver type of the object recorded by the control */ 5 | "Shortcut" = "Skratku"; 6 | 7 | /* VoiceOver value for the value-less control */ 8 | "Not set" = "Nenastavený"; 9 | 10 | /* Tooltip for the cancel button when the control has a value */ 11 | "Use old shortcut" = "Použiť pôvodnú skratku"; 12 | 13 | /* Tooltip for the cancel button when the control has no value */ 14 | "Cancel recording" = "Zrušte nahrávanie"; 15 | 16 | /* Tooltip for the clear button */ 17 | "Delete current shortcut" = "Odstrániť aktuálne skratku"; 18 | 19 | /* Label and tooltip for the recording mode */ 20 | "Press keys now" = "Stlačte klávesy"; 21 | 22 | /* Label for the value-less control */ 23 | "Record Shortcut" = "Nahrať skratku"; 24 | 25 | /* Tooltip for the normal mode */ 26 | "Click to record shortcut" = "Kliknite pre nahratie skratky"; 27 | 28 | /* Value for the NSLocalizedFailureReasonErrorKey key of validator's error */ 29 | "The \"%@\" shortcut can't be used!" = "Kombináciu kláves „%@“ nie je možné použiť!"; 30 | 31 | /* Value for the NSLocalizedDescriptionKey key of validator's delegate error */ 32 | "The \"%@\" shortcut can't be used because %@." = "Kombináciu kláves „%@“ nie je možné použiť z dôvodu: %@."; 33 | 34 | /* Default value for the NSLocalizedDescriptionKey key of validator's error */ 35 | "The \"%@\" shortcut is already in use." = "Combinația de taste „%@“ sa už používa."; 36 | 37 | /* Value for the NSLocalizedDescriptionKey key of validator's system shortcuts error */ 38 | "The \"%@\" shortcut can't be used because it's already used by a system-wide keyboard shortcut. If you really want to use this shortcut, most shortcuts can be changed in the Keyboard panel in System Preferences." = "Kombináciu kláves „%@“ nie je možné použiť pretože sa používa ako systémová skratka. Ak chcete použiť túto kombináciu kláves, je možné väčšinu klávesových skratiek zmeniť v Systémových nastaveniach v panely Klávesnica"; 39 | 40 | /* Value for the NSLocalizedDescriptionKey key of validator's menu error */ 41 | "The \"%@\" shortcut can't be used because it's already used by the \"%@\" menu item." = "Kombináciu kláves „%@“ nie je možné použiť pretože je používaná pre položku menu „%@“."; 42 | 43 | /* Accessibility name of the Command modifier key */ 44 | "Command" = "Command"; 45 | 46 | /* VoiceOver name of the Option modifier key */ 47 | "Option" = "Option"; 48 | 49 | /* VoiceOver name of the Shift modifier key */ 50 | "Shift" = "Shift"; 51 | 52 | /* VoiceOver name of the Control modifier key */ 53 | "Control" = "Control"; 54 | 55 | /* VoiceOver name of the modifier keys delimiter */ 56 | "-" = "-"; 57 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/sv.lproj/ShortcutRecorder.strings: -------------------------------------------------------------------------------- 1 | /* Literal for the Space key */ 2 | "Space" = "Mellanslag"; 3 | 4 | /* VoiceOver type of the object recorded by the control */ 5 | "Shortcut" = "Kortkommando"; 6 | 7 | /* VoiceOver value for the value-less control */ 8 | "Not set" = "Ej inställt"; 9 | 10 | /* Tooltip for the cancel button when the control has a value */ 11 | "Use old shortcut" = "Behåll kortkommando"; 12 | 13 | /* Tooltip for the cancel button when the control has no value */ 14 | "Cancel recording" = "Avbryt registrering"; 15 | 16 | /* Tooltip for the clear button */ 17 | "Delete current shortcut" = "Radera nuvarande kortkommando"; 18 | 19 | /* Label and tooltip for the recording mode */ 20 | "Press keys now" = "Tryck ned tangenter nu"; 21 | 22 | /* Label for the value-less control */ 23 | "Record Shortcut" = "Registrera kortkommando"; 24 | 25 | /* Tooltip for the normal mode */ 26 | "Click to record shortcut" = "Klicka och spela in kommando"; 27 | 28 | /* Value for the NSLocalizedFailureReasonErrorKey key of validator's error */ 29 | "The \"%@\" shortcut can't be used!" = "Kortkommandot “%@“ kunde inte användas!"; 30 | 31 | /* Value for the NSLocalizedDescriptionKey key of validator's delegate error */ 32 | "The \"%@\" shortcut can't be used because %@." = "Kortkommandot “%@“ kunde inte användas, eftersom %@."; 33 | 34 | /* Default value for the NSLocalizedDescriptionKey key of validator's error */ 35 | "The \"%@\" shortcut is already in use." = "Kortkommandot “%@“ används redan."; 36 | 37 | /* Value for the NSLocalizedDescriptionKey key of validator's system shortcuts error */ 38 | "The \"%@\" shortcut can't be used because it's already used by a system-wide keyboard shortcut. If you really want to use this shortcut, most shortcuts can be changed in the Keyboard panel in System Preferences." = "Kortkommandot “%@“ kunde inte användas, eftersom det redan används av ett systemomspännande kortkommando. Om du verkligen vill använda det här kortkommandot kan du kanske ändra det systemomspännande till något annat i Tangentbord & Mus-panelen i Systeminställningar."; 39 | 40 | /* Value for the NSLocalizedDescriptionKey key of validator's menu error */ 41 | "The \"%@\" shortcut can't be used because it's already used by the \"%@\" menu item." = "Kortkommandot “%@“ kunde inte användas, eftersom det redan används av menyvalet “%@“."; 42 | 43 | /* Accessibility name of the Command modifier key */ 44 | "Command" = "Kommando"; 45 | 46 | /* VoiceOver name of the Option modifier key */ 47 | "Option" = "Alternativ"; 48 | 49 | /* VoiceOver name of the Shift modifier key */ 50 | "Shift" = "Skift"; 51 | 52 | /* VoiceOver name of the Control modifier key */ 53 | "Control" = "Kontroll"; 54 | 55 | /* VoiceOver name of the modifier keys delimiter */ 56 | "-" = "-"; 57 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/th.lproj/ShortcutRecorder.strings: -------------------------------------------------------------------------------- 1 | /* Literal for the Space key */ 2 | "Space" = "Space"; 3 | 4 | /* VoiceOver type of the object recorded by the control */ 5 | "Shortcut" = "ปุ่มลัด"; 6 | 7 | /* VoiceOver value for the value-less control */ 8 | "Not set" = "ไม่ได้ระบุ"; 9 | 10 | /* Tooltip for the cancel button when the control has a value */ 11 | "Use old shortcut" = "ใช้ปุ่มลัดเดิม"; 12 | 13 | /* Tooltip for the cancel button when the control has no value */ 14 | "Cancel recording" = "ยกเลิกการบันทึก"; 15 | 16 | /* Tooltip for the clear button */ 17 | "Delete current shortcut" = "ลบปุ่มลัดปัจจุบัน"; 18 | 19 | /* Label and tooltip for the recording mode */ 20 | "Press keys now" = "กดปุ่มตอนนี้"; 21 | 22 | /* Label for the value-less control */ 23 | "Record Shortcut" = "บันทึกปุ่มลัด"; 24 | 25 | /* Tooltip for the normal mode */ 26 | "Click to record shortcut" = "คลิกเพื่อกำหนดปุ่มลัด"; 27 | 28 | /* Value for the NSLocalizedFailureReasonErrorKey key of validator's error */ 29 | "The \"%@\" shortcut can't be used!" = "ใช้ปุ่มลัด \"%@\" ไม่ได้"; 30 | 31 | /* Value for the NSLocalizedDescriptionKey key of validator's delegate error */ 32 | "The \"%@\" shortcut can't be used because %@." = "ใช้ปุ่มลัด \"%@\" ไม่ได้ เพราะ %@"; 33 | 34 | /* Default value for the NSLocalizedDescriptionKey key of validator's error */ 35 | "The \"%@\" shortcut is already in use." = "ปุ่มลัด \"%@\" ถูกใช้ไปแล้ว"; 36 | 37 | /* Value for the NSLocalizedDescriptionKey key of validator's system shortcuts error */ 38 | "The \"%@\" shortcut can't be used because it's already used by a system-wide keyboard shortcut. If you really want to use this shortcut, most shortcuts can be changed in the Keyboard panel in System Preferences." = "ใช้ปุ่มลัด \"%@\" ไม่ได้ เพราะมันถูกใช้เป็นปุ่มลัดของระบบแล้ว (ถ้าต้องการใช้จริงๆ ปุ่มลัดส่วนใหญ่ของระบบสามารถปรับได้ใน \"การตั้งค่าระบบ\" ส่วนของ \"แป้นพิมพ์\")"; 39 | 40 | /* Value for the NSLocalizedDescriptionKey key of validator's menu error */ 41 | "The \"%@\" shortcut can't be used because it's already used by the \"%@\" menu item." = "ใช้ปุ่มลัด \"%@\" ไม่ได้ เพราะมันถูกใช้โดยตัวเลือกเมนู \"%@\" แล้ว"; 42 | 43 | /* Accessibility name of the Command modifier key */ 44 | "Command" = "Command"; 45 | 46 | /* VoiceOver name of the Option modifier key */ 47 | "Option" = "Option"; 48 | 49 | /* VoiceOver name of the Shift modifier key */ 50 | "Shift" = "Shift"; 51 | 52 | /* VoiceOver name of the Control modifier key */ 53 | "Control" = "Control"; 54 | 55 | /* VoiceOver name of the modifier keys delimiter */ 56 | "-" = " - "; 57 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/zh-Hans.lproj/ShortcutRecorder.strings: -------------------------------------------------------------------------------- 1 | /* Literal for the Space key */ 2 | "Space" = "空格键"; 3 | 4 | /* VoiceOver type of the object recorded by the control */ 5 | "Shortcut" = "快捷键"; 6 | 7 | /* VoiceOver value for the value-less control */ 8 | "Not set" = "未设定"; 9 | 10 | /* Tooltip for the cancel button when the control has a value */ 11 | "Use old shortcut" = "使用原来的快捷键"; 12 | 13 | /* Tooltip for the cancel button when the control has no value */ 14 | "Cancel recording" = "取消录制"; 15 | 16 | /* Tooltip for the clear button */ 17 | "Delete current shortcut" = "删除当前快捷键"; 18 | 19 | /* Label and tooltip for the recording mode */ 20 | "Press keys now" = "现在按下按键"; 21 | 22 | /* Label for the value-less control */ 23 | "Record Shortcut" = "录制快捷键"; 24 | 25 | /* Tooltip for the normal mode */ 26 | "Click to record shortcut" = "点按以录制快捷键"; 27 | 28 | /* Value for the NSLocalizedFailureReasonErrorKey key of validator's error */ 29 | "The \"%@\" shortcut can't be used!" = "无法使用快捷键“%@”!"; 30 | 31 | /* Value for the NSLocalizedDescriptionKey key of validator's delegate error */ 32 | "The \"%@\" shortcut can't be used because %@." = "无法使用快捷键“%@”,因为%@。"; 33 | 34 | /* Default value for the NSLocalizedDescriptionKey key of validator's error */ 35 | "The \"%@\" shortcut is already in use." = "快捷键“%@”已经被使用。"; 36 | 37 | /* Value for the NSLocalizedDescriptionKey key of validator's system shortcuts error */ 38 | "The \"%@\" shortcut can't be used because it's already used by a system-wide keyboard shortcut. If you really want to use this shortcut, most shortcuts can be changed in the Keyboard panel in System Preferences." = "快捷键“%@”已经被系统或另一个应用程序使用。请选取另一个快捷键或使用“键盘偏好设置”来自定其他的系统快捷键。"; 39 | 40 | /* Value for the NSLocalizedDescriptionKey key of validator's menu error */ 41 | "The \"%@\" shortcut can't be used because it's already used by the \"%@\" menu item." = "无法使用快捷键“%@”,因为已用于菜单项“%@”。"; 42 | 43 | /* Accessibility name of the Command modifier key */ 44 | "Command" = "Command"; 45 | 46 | /* VoiceOver name of the Option modifier key */ 47 | "Option" = "Option"; 48 | 49 | /* VoiceOver name of the Shift modifier key */ 50 | "Shift" = "Shift"; 51 | 52 | /* VoiceOver name of the Control modifier key */ 53 | "Control" = "Control"; 54 | 55 | /* VoiceOver name of the modifier keys delimiter */ 56 | "-" = "-"; 57 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/Resources/zh-Hant.lproj/ShortcutRecorder.strings: -------------------------------------------------------------------------------- 1 | /* Literal for the Space key */ 2 | "Space" = "空白鍵"; 3 | 4 | /* VoiceOver type of the object recorded by the control */ 5 | "Shortcut" = "快速鍵"; 6 | 7 | /* VoiceOver value for the value-less control */ 8 | "Not set" = "未設定"; 9 | 10 | /* Tooltip for the cancel button when the control has a value */ 11 | "Use old shortcut" = "使用舊的快速鍵"; 12 | 13 | /* Tooltip for the cancel button when the control has no value */ 14 | "Cancel recording" = "取消記錄"; 15 | 16 | /* Tooltip for the clear button */ 17 | "Delete current shortcut" = "刪除當前快速鍵"; 18 | 19 | /* Label and tooltip for the recording mode */ 20 | "Press keys now" = "現在按下按鍵"; 21 | 22 | /* Label for the value-less control */ 23 | "Record Shortcut" = "記錄快速鍵"; 24 | 25 | /* Tooltip for the normal mode */ 26 | "Click to record shortcut" = "按一下來記錄快速鍵"; 27 | 28 | /* Value for the NSLocalizedFailureReasonErrorKey key of validator's error */ 29 | "The \"%@\" shortcut can't be used!" = "無法使用快速鍵「%@」!"; 30 | 31 | /* Value for the NSLocalizedDescriptionKey key of validator's delegate error */ 32 | "The \"%@\" shortcut can't be used because %@." = "無法使用快速鍵「%@」,因為%@。"; 33 | 34 | /* Default value for the NSLocalizedDescriptionKey key of validator's error */ 35 | "The \"%@\" shortcut is already in use." = "快速鍵「%@」已經被使用。"; 36 | 37 | /* Value for the NSLocalizedDescriptionKey key of validator's system shortcuts error */ 38 | "The \"%@\" shortcut can't be used because it's already used by a system-wide keyboard shortcut. If you really want to use this shortcut, most shortcuts can be changed in the Keyboard panel in System Preferences." = "快速鍵「%@」正由系統或其他應用程式使用中。請選擇其他快速鍵或使用「鍵盤」偏好設定來自訂另外的系統快速鍵。"; 39 | 40 | /* Value for the NSLocalizedDescriptionKey key of validator's menu error */ 41 | "The \"%@\" shortcut can't be used because it's already used by the \"%@\" menu item." = "無法使用快速鍵「%@」,因為已被選單項目「%@」使用。"; 42 | 43 | /* Accessibility name of the Command modifier key */ 44 | "Command" = "Command"; 45 | 46 | /* VoiceOver name of the Option modifier key */ 47 | "Option" = "Option"; 48 | 49 | /* VoiceOver name of the Shift modifier key */ 50 | "Shift" = "Shift"; 51 | 52 | /* VoiceOver name of the Control modifier key */ 53 | "Control" = "Control"; 54 | 55 | /* VoiceOver name of the modifier keys delimiter */ 56 | "-" = "-"; 57 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/SRKeyEquivalentModifierMaskTransformer.m: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2012 ShortcutRecorder Contributors 3 | // CC BY 4.0 4 | // 5 | 6 | #import "ShortcutRecorder/SRKeyCodeTransformer.h" 7 | #import "ShortcutRecorder/SRRecorderControl.h" 8 | 9 | #import "ShortcutRecorder/SRKeyEquivalentModifierMaskTransformer.h" 10 | 11 | 12 | @implementation SRKeyEquivalentModifierMaskTransformer 13 | 14 | #pragma mark Methods 15 | 16 | + (instancetype)sharedTransformer 17 | { 18 | static dispatch_once_t OnceToken; 19 | static SRKeyEquivalentModifierMaskTransformer *Transformer = nil; 20 | dispatch_once(&OnceToken, ^{ 21 | Transformer = [SRKeyEquivalentModifierMaskTransformer new]; 22 | }); 23 | return Transformer; 24 | } 25 | 26 | #pragma mark NSValueTransformer 27 | 28 | + (BOOL)allowsReverseTransformation 29 | { 30 | return NO; 31 | } 32 | 33 | + (Class)transformedValueClass 34 | { 35 | return NSNumber.class; 36 | } 37 | 38 | - (NSNumber *)transformedValue:(NSDictionary *)aValue 39 | { 40 | if (![aValue isKindOfClass:NSDictionary.class] && ![aValue isKindOfClass:SRShortcut.class]) 41 | return nil; 42 | 43 | NSNumber *modifierFlags = aValue[SRShortcutKeyModifierFlags]; 44 | 45 | if (![modifierFlags isKindOfClass:NSNumber.class]) 46 | return nil; 47 | 48 | return modifierFlags; 49 | } 50 | 51 | @end 52 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/SRKeyEquivalentTransformer.m: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2012 ShortcutRecorder Contributors 3 | // CC BY 4.0 4 | // 5 | 6 | #import "ShortcutRecorder/SRKeyCodeTransformer.h" 7 | #import "ShortcutRecorder/SRRecorderControl.h" 8 | 9 | #import "ShortcutRecorder/SRKeyEquivalentTransformer.h" 10 | 11 | 12 | @implementation SRKeyEquivalentTransformer 13 | 14 | #pragma mark Methods 15 | 16 | + (instancetype)sharedTransformer 17 | { 18 | static dispatch_once_t OnceToken; 19 | static SRKeyEquivalentTransformer *Transformer = nil; 20 | dispatch_once(&OnceToken, ^{ 21 | Transformer = [SRKeyEquivalentTransformer new]; 22 | }); 23 | return Transformer; 24 | } 25 | 26 | #pragma mark NSValueTransformer 27 | 28 | + (BOOL)allowsReverseTransformation 29 | { 30 | return NO; 31 | } 32 | 33 | + (Class)transformedValueClass 34 | { 35 | return NSString.class; 36 | } 37 | 38 | - (NSString *)transformedValue:(NSDictionary *)aValue 39 | { 40 | if (![aValue isKindOfClass:NSDictionary.class] && ![aValue isKindOfClass:SRShortcut.class]) 41 | return nil; 42 | 43 | NSNumber *keyCode = aValue[SRShortcutKeyKeyCode]; 44 | 45 | if (![keyCode isKindOfClass:NSNumber.class]) 46 | return nil; 47 | 48 | NSNumber *modifierFlags = aValue[SRShortcutKeyModifierFlags]; 49 | 50 | if (![modifierFlags isKindOfClass:NSNumber.class]) 51 | modifierFlags = @(0); 52 | 53 | return [SRASCIISymbolicKeyCodeTransformer.sharedTransformer transformedValue:keyCode 54 | withImplicitModifierFlags:nil 55 | explicitModifierFlags:modifierFlags 56 | layoutDirection:NSUserInterfaceLayoutDirectionLeftToRight]; 57 | } 58 | 59 | @end 60 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/include/ShortcutRecorder/SRKeyBindingTransformer.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2019 ShortcutRecorder Contributors 3 | // CC BY 4.0 4 | // 5 | 6 | #import 7 | #import 8 | 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | /*! 13 | Transform Cocoa Text system key binding into a shortcut. 14 | 15 | @seealso https://developer.apple.com/library/archive/documentation/Cocoa/Conceptual/EventOverview/TextDefaultsBindings/TextDefaultsBindings.html 16 | */ 17 | NS_SWIFT_NAME(KeyBindingTransformer) 18 | @interface SRKeyBindingTransformer : NSValueTransformer 19 | 20 | /*! 21 | Shared transformer. 22 | */ 23 | @property (class, readonly) SRKeyBindingTransformer *sharedTransformer NS_SWIFT_NAME(shared); 24 | 25 | - (nullable SRShortcut *)transformedValue:(nullable NSString *)aValue; 26 | - (nullable NSString *)reverseTransformedValue:(nullable SRShortcut *)aValue; 27 | 28 | @end 29 | 30 | NS_ASSUME_NONNULL_END 31 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/include/ShortcutRecorder/SRKeyEquivalentModifierMaskTransformer.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2012 ShortcutRecorder Contributors 3 | // CC BY 4.0 4 | // 5 | 6 | #import 7 | #import 8 | 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | /*! 13 | Transform a shortcut or its dictionary representation into Cocoa's key equivalent modifier mask 14 | for objects like NSButton and NSMenuItem. 15 | */ 16 | NS_SWIFT_NAME(KeyEquivalentModifierMaskTransformer) 17 | @interface SRKeyEquivalentModifierMaskTransformer : NSValueTransformer 18 | 19 | /*! 20 | Shared transformer. 21 | */ 22 | @property (class, readonly) SRKeyEquivalentModifierMaskTransformer *sharedTransformer NS_SWIFT_NAME(shared);; 23 | 24 | - (nullable NSNumber *)transformedValue:(nullable SRShortcut *)aValue; 25 | 26 | @end 27 | 28 | NS_ASSUME_NONNULL_END 29 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/include/ShortcutRecorder/SRKeyEquivalentTransformer.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2012 ShortcutRecorder Contributors 3 | // CC BY 4.0 4 | // 5 | 6 | #import 7 | #import 8 | 9 | 10 | NS_ASSUME_NONNULL_BEGIN 11 | 12 | /*! 13 | Transform a shortcut or its dictionary representation into Cocoa's key equivalent 14 | for objects like NSButton and NSMenuItem. 15 | */ 16 | NS_SWIFT_NAME(KeyEquivalentTransformer) 17 | @interface SRKeyEquivalentTransformer : NSValueTransformer 18 | 19 | /*! 20 | Shared transformer. 21 | */ 22 | @property (class, readonly) SRKeyEquivalentTransformer *sharedTransformer NS_SWIFT_NAME(shared); 23 | 24 | - (nullable NSString *)transformedValue:(nullable SRShortcut *)aValue; 25 | 26 | @end 27 | 28 | NS_ASSUME_NONNULL_END 29 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/include/ShortcutRecorder/SRModifierFlagsTransformer.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2012 ShortcutRecorder Contributors 3 | // CC BY 4.0 4 | // 5 | 6 | #import 7 | 8 | 9 | NS_ASSUME_NONNULL_BEGIN 10 | 11 | @class SRLiteralModifierFlagsTransformer; 12 | 13 | /*! 14 | Don't use directly. Use SRLiteralModifierFlagsTransformer / SRSymbolicModifierFlagsTransformer instead. 15 | */ 16 | NS_SWIFT_UNAVAILABLE("use SRLiteralModifierFlagsTransformer / SRSymbolicModifierFlagsTransformer instead") 17 | @interface SRModifierFlagsTransformer : NSValueTransformer 18 | /*! 19 | Shared transformer. 20 | */ 21 | @property (class, readonly) SRModifierFlagsTransformer* sharedTransformer NS_SWIFT_NAME(shared); 22 | 23 | /*! 24 | Order modifier flags according to the user interface layout direction of the view. 25 | 26 | @param aDirection The layout direction to select an appropriate symbol or literal. 27 | */ 28 | - (nullable NSString *)transformedValue:(NSNumber *)aValue layoutDirection:(NSUserInterfaceLayoutDirection)aDirection; 29 | 30 | - (nullable NSString *)transformedValue:(nullable NSNumber *)aValue; 31 | 32 | @end 33 | 34 | 35 | /*! 36 | Transform modifier flags into a univesal symbolic string such as ⌘⌥. 37 | 38 | @note Allows reverse transformation. 39 | */ 40 | NS_SWIFT_NAME(LiteralModifierFlagsTransformer) 41 | @interface SRLiteralModifierFlagsTransformer: SRModifierFlagsTransformer 42 | @end 43 | 44 | 45 | /*! 46 | Transform modifier flags into a localized literal string such as Command-Option. 47 | */ 48 | NS_SWIFT_NAME(SymbolicModifierFlagsTransformer) 49 | @interface SRSymbolicModifierFlagsTransformer: SRModifierFlagsTransformer 50 | @end 51 | 52 | NS_ASSUME_NONNULL_END 53 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/include/ShortcutRecorder/SRShortcutFormatter.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2019 ShortcutRecorder Contributors 3 | // CC BY 4.0 4 | // 5 | 6 | #import 7 | 8 | 9 | NS_ASSUME_NONNULL_BEGIN 10 | 11 | /*! 12 | Format shortcut into a string. 13 | 14 | @discussion 15 | Reverse formatting is supported for literal ASCII transformers with left-to-right layout. 16 | */ 17 | NS_SWIFT_NAME(ShortcutFormatter) 18 | @interface SRShortcutFormatter : NSFormatter 19 | 20 | @property IBInspectable BOOL isKeyCodeLiteral; 21 | @property IBInspectable BOOL areModifierFlagsLiteral; 22 | @property IBInspectable BOOL usesASCIICapableKeyboardInputSource; 23 | @property IBInspectable NSUserInterfaceLayoutDirection layoutDirection; 24 | 25 | @end 26 | 27 | NS_ASSUME_NONNULL_END 28 | -------------------------------------------------------------------------------- /Sources/ShortcutRecorder/include/ShortcutRecorder/ShortcutRecorder.h: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2006 ShortcutRecorder Contributors 3 | // CC BY 4.0 4 | // 5 | 6 | #import 7 | #import 8 | #import 9 | #import 10 | #import 11 | #import 12 | #import 13 | #import 14 | #import 15 | #import 16 | #import 17 | #import 18 | #import 19 | -------------------------------------------------------------------------------- /Tests/ShortcutRecorderTests/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | $(DEVELOPMENT_LANGUAGE) 7 | CFBundleExecutable 8 | $(EXECUTABLE_NAME) 9 | CFBundleIdentifier 10 | $(PRODUCT_BUNDLE_IDENTIFIER) 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | $(PRODUCT_NAME) 15 | CFBundlePackageType 16 | BNDL 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleVersion 20 | 1 21 | 22 | 23 | -------------------------------------------------------------------------------- /Tests/ShortcutRecorderTests/SRKeyBindingTransformerTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2019 ShortcutRecorder Contributors 3 | // CC BY 4.0 4 | // 5 | 6 | import XCTest 7 | import ShortcutRecorder 8 | 9 | 10 | class SRKeyBindingTransformerTests: XCTestCase { 11 | func testTransform() { 12 | let cmd_a = Shortcut(keyEquivalent: "⌘A") 13 | let shift_cmd_a = Shortcut(keyEquivalent: "⇧⌘A") 14 | 15 | XCTAssertEqual(KeyBindingTransformer.shared.transformedValue("@a"), cmd_a) 16 | XCTAssertEqual(KeyBindingTransformer.shared.transformedValue("@A"), shift_cmd_a) 17 | XCTAssertEqual(KeyBindingTransformer.shared.transformedValue("$@a"), shift_cmd_a) 18 | XCTAssertEqual(KeyBindingTransformer.shared.transformedValue("$@A"), shift_cmd_a) 19 | } 20 | 21 | func testReverseTransform() { 22 | let cmd_a = Shortcut(keyEquivalent: "⌘A") 23 | let shift_cmd_a = Shortcut(keyEquivalent: "⇧⌘A") 24 | XCTAssertEqual(KeyBindingTransformer.shared.reverseTransformedValue(cmd_a), "@a") 25 | XCTAssertEqual(KeyBindingTransformer.shared.reverseTransformedValue(shift_cmd_a), "$@a") 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /Tests/ShortcutRecorderTests/SRKeyEquivalentModifierMaskTransformerTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2019 ShortcutRecorder Contributors 3 | // CC BY 4.0 4 | // 5 | 6 | import XCTest 7 | import AppKit 8 | 9 | import ShortcutRecorder 10 | 11 | 12 | class SRKeyEquivalentModifierMaskTransformerTests: XCTestCase { 13 | func testTransformFromShortcut() { 14 | let cmd_a = Shortcut(keyEquivalent: "⌘A")! 15 | let cmd_a_kemm = NSEvent.ModifierFlags(rawValue: KeyEquivalentModifierMaskTransformer.shared.transformedValue(cmd_a) as! UInt) 16 | XCTAssertEqual(cmd_a_kemm, NSEvent.ModifierFlags.command) 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /Tests/ShortcutRecorderTests/SRKeyEquivalentTransformerTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2019 ShortcutRecorder Contributors 3 | // CC BY 4.0 4 | // 5 | 6 | import XCTest 7 | 8 | import ShortcutRecorder 9 | 10 | 11 | class SRKeyEquivalentTransformerTests: XCTestCase { 12 | func testTransformFromShortcut() { 13 | let cmd_a = Shortcut(keyEquivalent: "⌘A")! 14 | let cmd_a_ke = KeyEquivalentTransformer.shared.transformedValue(cmd_a)! 15 | XCTAssertEqual(cmd_a_ke, "a") 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /Tests/ShortcutRecorderTests/SRModifierFlagsTransformerTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2019 ShortcutRecorder Contributors 3 | // CC BY 4.0 4 | // 5 | 6 | import XCTest 7 | 8 | import ShortcutRecorder 9 | 10 | class SRModifierFlagsTransformerTests: XCTestCase { 11 | func testSymbolicTransformerIsReversible() { 12 | let flags: NSEvent.ModifierFlags = [.control, .option, .shift, .command] 13 | let transformer = SymbolicModifierFlagsTransformer.shared 14 | let string = transformer.transformedValue(flags.rawValue as NSNumber)! 15 | let restoredFlags = NSEvent.ModifierFlags(rawValue: transformer.reverseTransformedValue(string) as! UInt) 16 | XCTAssertEqual(flags, restoredFlags) 17 | 18 | XCTAssertNil(transformer.reverseTransformedValue(string + string)) 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /Tests/ShortcutRecorderTests/SRShortcutFormatterTests.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2019 ShortcutRecorder Contributors 3 | // CC BY 4.0 4 | // 5 | 6 | import XCTest 7 | 8 | import ShortcutRecorder 9 | 10 | 11 | class SRShortcutFormatterTests: XCTestCase { 12 | func testFormatter() { 13 | let formatter = ShortcutFormatter() 14 | formatter.isKeyCodeLiteral = true 15 | formatter.usesASCIICapableKeyboardInputSource = true 16 | formatter.areModifierFlagsLiteral = false 17 | 18 | let label = NSTextField(frame: .zero) 19 | label.isEditable = false 20 | label.drawsBackground = false 21 | label.formatter = formatter 22 | label.objectValue = Shortcut.default 23 | 24 | XCTAssertEqual(label.stringValue, "⌥⌘A") 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /Tests/ShortcutRecorderTests/Utility.swift: -------------------------------------------------------------------------------- 1 | // 2 | // Copyright 2018 ShortcutRecorder Contributors 3 | // CC BY 4.0 4 | // 5 | 6 | import Foundation 7 | import XCTest 8 | 9 | import ShortcutRecorder 10 | 11 | 12 | extension Shortcut { 13 | class var `default`: Shortcut 14 | { 15 | return self.init(code: KeyCode.ansiA, 16 | modifierFlags: [.option, .command], 17 | characters: "å", 18 | charactersIgnoringModifiers: "a") 19 | } 20 | } 21 | 22 | 23 | extension TISInputSource { 24 | var identifier: String { 25 | return Unmanaged.fromOpaque(TISGetInputSourceProperty(self, kTISPropertyInputSourceID)).takeUnretainedValue() as String 26 | } 27 | 28 | static func withIdentifier(_ identifier: String) -> TISInputSource? { 29 | let properties: [CFString: CFTypeRef] = [ 30 | kTISPropertyInputSourceType: kTISTypeKeyboardLayout!, 31 | kTISPropertyInputSourceID: identifier as CFString 32 | ] 33 | 34 | let sources = TISCreateInputSourceList(properties as CFDictionary, true)!.takeRetainedValue() 35 | return CFArrayGetCount(sources) > 0 ? Unmanaged.fromOpaque(CFArrayGetValueAtIndex(sources, 0)).takeUnretainedValue() : nil 36 | } 37 | } 38 | 39 | 40 | extension NSEvent.ModifierFlags { 41 | var symbolic: String { 42 | return SymbolicModifierFlagsTransformer.shared.transformedValue(self.rawValue as NSNumber)! 43 | } 44 | } 45 | 46 | 47 | extension XCTestExpectation { 48 | convenience init(description: String, isInverted: Bool) { 49 | self.init(description: description) 50 | self.isInverted = isInverted 51 | } 52 | 53 | convenience init(description: String, assertForOverFulfill: Bool) { 54 | self.init(description: description) 55 | self.assertForOverFulfill = assertForOverFulfill 56 | } 57 | } 58 | --------------------------------------------------------------------------------