Mac App для компиляции и ссылки на сочетания клавиш

2

Я ищу приложение для Mac, которое может позволить пользователю скомпилировать сочетания клавиш и триггеры вкладок для нескольких приложений и ссылаться на них на лету.

Я разработчик, и у многих приложений, которые я использую, есть много полезных сочетаний клавиш или триггеров табуляции, включая саму OS X. Проблема в том, что, пока я изучаю их все, нет удобного способа ссылаться на них. Конечно, есть веб-страницы со списками ярлыков или списками в самих приложениях, а также PDF-файлы, которые можно загрузить и оставить открытыми, но все эти решения не оптимизированы в рабочем процессе.

Я представляю себе приложение, которое находится в строке меню, в которое можно вводить различные сочетания клавиш и т. Д., И которое можно упорядочивать и искать по приложению, ключевому слову и т. Д. Таким образом, когда вы работаете и вам нужно запомнить ярлык, все нужно сделать, это щелкнуть в строке меню и выполнить поиск, вместо того, чтобы открывать и искать в PDF или чем-то еще.

Какие-либо предложения? Полагаю, со временем я смогу создать свой собственный ... но ты знаешь ...

stefmikhail
источник

Ответы:

4

Я не знаю, видели ли вы KeyCue , но он в основном отображает список ярлыков в самом переднем приложении, когда вы удерживаете команду.

Я также написал AppleScript, который сохраняет текстовые файлы для пунктов меню и их ярлыков. Я никогда не нуждался в этом сам, хотя - легче просто искать ярлыки из строки меню.

set procs to {"TextEdit"}
repeat with proc in procs
    activate application proc
    tell application "System Events" to tell process proc
        set out to ""
        repeat with v in menu bar items 2 thru -1 of menu bar 1
            set out to out & name of v & linefeed
            repeat with w in menu items of menu 1 of v
                try
                    set nme to name of w
                    set sc to my getshortcut(proc, w)
                    if nme is not missing value and sc is not missing value then
                        set out to out & "  " & sc & "  " & nme & linefeed
                    end if
                end try
                try
                    set mi to menu items of menu 1 of w
                    set subout to "  " & name of w & linefeed
                    set appendsubout to false
                    repeat with x in mi
                        try
                            set nme to name of x
                            set sc to my getshortcut(proc, x)
                            if nme is not missing value and sc is not missing value then
                                set subout to subout & "  " & "  " & sc & "  " & nme & linefeed
                                set appendsubout to true
                            end if
                        end try
                    end repeat
                    if appendsubout then set out to out & subout
                end try
            end repeat
        end repeat
    end tell
    try
        set vers to " " & version of application proc
    on error
        set vers to ""
    end try
    do shell script "echo " & quoted form of out & " > ~/Desktop/" & quoted form of (proc & vers & ".txt")
end repeat

on getshortcut(proc, x)
    set text item delimiters to space
    set menuglyphs to text items of "2 ⇥ 3 ⇤ 4 ⌤ 9 ␣ 10 ⌦ 11 ↩ 16 ↓ 23 ⌫ 24 ← 25 ↑ 26 → 27 ⎋ 28 ⌧ 98 ⇞ 99 ⇪ 100 ← 101 → 102 ↖ 104 ↑ 105 ↘ 106 ↓ 107 ⇟ 111 F1 112 F2 113 F3 114 F4 115 F5 116 F6 117 F7 118 F8 119 F9 120 F10 121 F11 122 F12 135 F13 136 F14 137 F15 140 ⏏ 143 F16 144 F17 145 F18 146 F19"
    set cmdmods to text items of "⌘ ⇧⌘ ⌥⌘ ⌥⇧⌘ ⌃⌘ ⌃⇧⌘ ⌃⌥⌘ ⌃⌥⇧⌘ - ⇧ ⌥ ⌥⇧ ⌃ ⌃⇧ ⌃⌥ ⌃⌥⇧"
    tell application "System Events" to tell process proc
        set c to ""
        try
            set n to value of attribute "AXMenuItemCmdModifiers" of x
            set modifier to item (n + 1) of cmdmods
            if modifier is "-" then set modifier to ""
            try
                set c to (value of attribute "AXMenuItemCmdChar" of x)
                c as text
                return modifier & c
            on error
                set glyph to (value of attribute "AXMenuItemCmdGlyph" of x) as text
                repeat with i from 1 to (count menuglyphs)
                    if item i of menuglyphs is glyph then
                        return modifier & item (i + 1) of menuglyphs
                    end if
                end repeat
            end try
        end try
    end tell
    return missing value
end getshortcut
Lri
источник
Спасибо большое Lri. Я проверю оба из них, однако для многих приложений, о которых я думаю, ярлыки не отображаются в строке меню. Например, в Textmate все ярлыки и триггеры вкладок находятся в связках, и в Gitярлыки определены в shell scripts, Но в любом случае я очень ценю совет. На данный момент я использую приложение для заметок под названием Scrawl это действительно живет в строке меню. Это доступно для поиска, но не любым форматируемым способом. Мне кажется, это хорошая идея для приложения, не так ли?
stefmikhail
Хорошо, я изменяю свой оригинальный комментарий ... KeyCue может просто сработать! До его установки я не осознавал, что вы можете настроить пользовательские ярлыки, которые не включены в меню. Есть даже предопределенные описания ярлыков, которые можно импортировать. Так что спасибо большое, друг мой. Это выглядит даже лучше, чем я думал!
stefmikhail