Назначение ярлыка для запуска скрипта в OS X

предоставляет ли OS X простой способ привязки комбинаций клавиш к командам, которые обычно выполняются в командной строке?

например, есть ли способ назначить Cmd Cmd+L в качестве глобального ярлыка для быстрой блокировки экрана, возможно, с помощью /System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine?

7
задан Stefan Lasiewski
15.04.2023 19:10 Количество просмотров материала 2731
Распечатать страницу

4 ответа

Да, вы можете сделать это с помощью AppleScript или Automator.

способ, которым я делал подобные вещи, - использовать Automator для создания Службы, доступной во всех приложениях. Служба может быть сделана для запуска сценария bash/zsh/ruby/whatever. Затем можно привязать комбинацию клавиш к службе в области клавиатуры системных настроек.

в конце этот подкаст MacBreak эта процедура показана подробно.

Edit: I просто заметил, что ты не используешь снежного барса. Я не думаю, что создание общесистемного сервиса так просто с 10.5.8. Я думаю, вы не можете обновить, так как это Powerbook. Возможно, вы захотите заглянуть в FastScripts, который позволяет назначить сочетания клавиш для applescripts (бесплатно использовать до 10 сочетаний клавиш) и использовать следующий Applescript:

do shell script "/System/Library/Frameworks/ScreenSaver.framework/Resources/ScreenSaverEngine.app/Contents/MacOS/ScreenSaverEngine"
21
отвечен ghoppe 2023-04-17 02:58

Я сейчас использую FastScripts. Она включает в себя все скрипты в ~/Library/Scripts/, Так что вам не нужно добавлять скрипты вручную. Он также поддерживает специфичные для приложения скрипты и имеет несколько функций, которые полезны с AppleScripts, например, он останавливает скрипт перед keystroke или key code команда, пока не будут освобождены клавиши-модификаторы.

если вы купили Powerpack для Альфред 2, вы можете создавать рабочие процессы, как это:

горячие клавиши имеют небольшую задержку по умолчанию, но вы можете уменьшить ее, изменив поведение триггера:

KeyRemap4MacBook также поддерживает запуск скриптов:

<?xml version="1.0"?>
<root>
  <vkopenurldef>
    <name>KeyCode::VK_OPEN_URL_SHELL_say_a</name>
    <url type="shell">say a</url>
  </vkopenurldef>
  <item>
    <name>test</name>
    <identifier>test</identifier>
    <autogen>__KeyToKey__ KeyCode::A, KeyCode::VK_OPEN_URL_SHELL_say_a</autogen>
  </item>
</root>

другие приложения, поддерживающие назначение ярлыков сценарии:

другой вариант, чтобы создать службу Automator:

  1. открыть Automator и выбрать шаблон сервиса.
  2. Регистрация что тип входных данных и область приложения являются правильными или измените "выбранный текст" на "нет входных данных", если служба не получает входных данных.
  3. добавьте сценарий запуска оболочки или выполните действие AppleScript для сценария.
  4. сохранить службу и дать ему ярлык "Системные настройки".

там была ошибка, так как 10.7, где ярлыки для услуг не всегда работают, пока вы не наведите курсор на меню услуги из строки меню. Ярлыки для служб не работает, если приложение, не имеющее меню служб (например, Tower), находится на переднем плане. Существует также заметная задержка перед запуском служб.

36
отвечен user495470 2023-04-17 05:15

Если вы используете BetterTouchTool можно назначить ярлык командной строки опции следующее действие: управление другими приложениями > выполнить команду терминала

1
отвечен alexeit 2023-04-17 07:32

вот пример KeePass.sh сценарий я сделал. Я просто получил информацию об этом и настроил его на работу с терминалом. После этого я создал псевдоним к нему на своем рабочем столе. Он бежит KeePass.sh скрипт внутри терминала, а затем после выхода из приложения, он убивает все открытые окна терминала. Вы можете настроить последнюю строку: -)

cd ~/Documents/KeePass
/Library/Frameworks/Mono.framework/Versions/current/bin/mono KeePass.exe 1>/dev/null 2>/dev/null
cd ~
killall Terminal

вам не нужно использовать ничего особенного, как в ответах всех остальных.

0
отвечен anon 2023-04-17 09:49

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх