Как назначить сочетание клавиш для написанного мной AppleScript?


43

Как назначить сочетание клавиш для AppleScript? Я нашел скрипт для автоматического возврата в папку «Входящие» в Office 2011.


1
Как указывает этот ответ, сочетания клавиш, назначаемые через службы, не всегда согласованы.
Уильям

Ответы:


48

Это также возможно без платных сторонних приложений!
1. Откройте Automator.
2. Сделайте новое быстрое действие.
3. Убедитесь, что он не получает никакого ввода во всех программах.
4. Выберите «Запустить Apple Script» и введите свой код.
5. Сохранить!

Теперь перейдите в Системные настройки> Клавиатура> Ярлыки. Выберите Сервисы на боковой панели и найдите свой сервис. Добавьте ярлык двойным щелчком мыши (none).

Наконец, перейдите в Системные настройки> Безопасность> Конфиденциальность> Специальные возможности и добавьте Automator и предпочтительное приложение для запуска ярлыка.


2
Последний «Наконец» важен - пропустите его, и вы получите запутанное диалоговое окно «[...] обнаружена ошибка», просто предлагающее вам показать рабочий процесс, скорее всего, не сделав вас мудрее.
экманавт

Выяснил проблему, последний шаг отличается в моей ОС mizage.com/help/accessibility.html#10.7
Уильям

5
Что вы подразумеваете под предпочтительным приложением?
Уильям

Было бы неплохо, если бы был способ автоматизировать шаг "сейчас go to System Preferences > Keyboard > Shortcuts. Select Services from the sidebar and find your service. Add a shortcut by double clicking (none).". Это должно быть возможно, не знаю, как ...
Sancarn

3
@ Вильям, как если бы вы написали AppleScript для Finder, просто выберите «Automator» и «Finder» в настройках «Специальные возможности».
MegaCookie

15

В итоге вам нужно будет использовать:

  • Automator для создания сервиса, который запускает Apple Script
  • Системные настройки для назначения сочетания клавиш для службы

Ниже приведены шаги для каждого.

1. Создайте сервис с помощью Automator

  1. Запустить Automator (обычно находится в папке «Приложения»)
  2. Перейти к файлу> Новый
  3. Выберите Сервис и нажмите Выбрать
  4. В правом верхнем углу появившегося окна убедитесь, что в раскрывающемся списке « Служба » выбрано «Нет ввода».
  5. Убедитесь, что в раскрывающемся списке In отображается «Любое приложение»
  6. Во втором столбце, содержащем длинный список, найдите «Запустить AppleScript» и дважды щелкните по нему.
  7. Это добавит окно «Выполнить AppleScript» справа
  8. Теперь замените (* Ваш сценарий идет сюда *) на нужный сценарий
  9. Сохраните сервис под значимым именем (например, GoToInbox).

Теперь к следующему шагу.

2. Создание вашего ярлыка

  1. Перейдите в Системные настройки> Клавиатура> Сочетания клавиш
  2. Выберите Сервисы на боковой панели
  3. Найдите свой сервис (он будет в списке справа)
  4. Добавьте ярлык, дважды щелкнув по названию сервиса
  5. Теперь перейдите в Системные настройки> Безопасность и конфиденциальность> Конфиденциальность
  6. Выберите Доступность на боковой панели
  7. Нажмите на знак + (вам может понадобиться разблокировать замок, если он заблокирован)
  8. Добавить автоматор.
  9. Добавьте Finder (чтобы найти это, вам нужно перейти в /System/Library/CoreServices/Finder.app ).
  10. Выйдите из системных настроек.

Теперь вы должны быть в состоянии сделать две вещи:

1. Запустите службу из любого приложения, перейдя в список «Службы» в любом меню приложения (например, «Finder»> «Службы», «Safari»> «Службы», «TextEdit»> «Службы» и т. Д.) И выберите службу, которую вы только что создали.

2. Используйте сочетание клавиш для запуска службы.

ПРИМЕЧАНИЕ. Мне известно, что для некоторых пользователей сочетания клавиш не работают, даже если они были назначены службе. Это совсем другая тема, но если это происходит в вашем случае, по крайней мере, вы можете запустить службу из любого приложения, которое вы используете.

Дайте мне знать, как вы идете.


1
Почему я должен добавить Finder вручную и с какими приложениями это вообще не работает? Кажется, мне иногда приходится запускать сценарий в службах, чтобы заставить его зарегистрироваться, прежде чем он зарегистрирует сокращение клавиатуры, что является позором.
Уильям

2
Да, проблему, о которой я говорил в конце своей заметки, часто можно (но не всегда) устранить, сначала запустив службу (а иногда достаточно просто войти в меню «Службы») до того, как будет распознано сочетание клавиш. Это чрезвычайно раздражающая ошибка, которая существует уже давно, и я, безусловно, рекомендую вам отправить отчет об ошибке в Apple . Что касается того, почему вы должны добавить Finder вручную , просто потому, что он не добавлен по умолчанию. Наконец, я не понял, что вы имели в виду, под какими приложениями это вообще не работает ?
Monomeeth

Игнорирование моего вопроса о том, что приложение не работает в некоторых приложениях. Кажется, что запуск сценария один раз в меню «Сервис» устраняет эту проблему, а ваше объяснение объясняет проблему, с которой я столкнулся. Почему я должен добавить Automator Finder в список специальных возможностей, который, кажется, не имеет значения при выполнении команд (это был мой основной вопрос)?
Уильям

Хороший вопрос! Если вам не нужны шаги с 5 по 9 для создания ярлыка, это здорово. Тем не менее, я помог многим людям создавать сочетания клавиш для запуска пользовательских сценариев и обнаружил, что включение этих шагов часто позволяет избежать сообщения об ошибке (не вспоминайте, что это такое сейчас или при каких обстоятельствах оно может появиться). Возможно, мне не следует включать эти шаги по умолчанию, но это то, чем я занимаюсь уже несколько лет (хотя точные шаги будут отличаться в зависимости от вашей версии macOS - выше я включил шаги для El Capitan в соответствии с вашими Баунти).
Мономет

Шаги с 5 по 9 совершенно не нужны для назначения ярлыка, хотя они могут быть необходимы для бесперебойной работы запускаемого скрипта, если он использует функции автоматизации пользовательского интерфейса (симулированные щелчки мыши и нажатия клавиш). Тем не менее, этот последний случай является еще одной проблемой; Вы не должны смешивать два вопроса, включив эти шаги в свой ответ.
копишке

9

Вы не можете назначить сочетания клавиш для AppleScripts из коробки. Тем не менее, вы можете:

  1. используйте средство запуска, которое поддерживает установку глобальных горячих клавиш и выполнение сценариев AppleScripts ( Alfred , Keyboard Maestro , FastScripts - все, что вам нравится), или
  2. поместите сценарий в действие « Выполнить AppleScript» внутри службы Automator . Обратите внимание, что это должна быть служба, а не приложение или обычный рабочий процесс: службам можно назначать горячие клавиши в настройках клавиатуры «Системные настройки».


Какая у вас версия ОС, у моего Mac 10.6.5, похоже, нет опции «Выберите« Запустить Apple Script »и введите свой код»?
Уильям

1
Это не «Выбрать запуск AppleScript», это - как отмечено в моем ответе - действие « Запуск AppleScript» , которое необходимо добавить в службу Automator; просто перетащите его в область действия из библиотеки, и вы получите текстовое поле с функцией scaffold, в которую вы можете добавить свой код. Кроме того, я сомневаюсь, что настройки доступности в ответе @ MegaCookie необходимы - они относятся к UI Automation.
копище

3

Примечание: в macOS Mojave он был переименован из «Service» в «Quick Action» в Automator.

  1. cmd+ spaceи типа "автоматор"
  2. Выберите: Файл> Новый
  3. Выберите «Быстрые действия»
  4. Поиск в верхней части левого раздела для «applecript» или «shellscript» или «javascript»
  5. Перетащите желаемое действие в рабочий процесс справа
  6. Файл> Сохранить с нужным именем

Чтобы добавить нажатие клавиш в рабочий процесс:

  1. Настройки открытой системы
  2. Выберите Клавиатура> Ярлыки
  3. Выберите Услуги слева
  4. Найдите вновь созданный сервис и дважды щелкните «нет», чтобы добавить сочетание клавиш

Примечание: если вы не сделаете это Quick Action (например, вы сделаете это «Рабочим процессом»), то список ярлыков не обнаружит его.
Шридхар Сарнобат

-2

Вы можете перейти в Системные настройки -> Клавиатура -> Ярлыки -> добавить новый ярлык. Затем вы можете выбрать свой сценарий.

https://support.apple.com/kb/PH18418?locale=en_US


3
Это не сработает. Документ, на который вы ссылаетесь, описывает, как (повторно) назначить горячую клавишу для команды меню приложения .
копишке

Нерабочая ссылка, Apple уже давно отключила эту функцию одним щелчком мыши, заменив ее операцией в 90 нажатий, включающей сторонние приложения.
Эрик Лещинский
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.