Изменение поведения копирования и вставки для всей системы

Я хотел бы улучшить глобальное поведение копирования/вставки дополнительным действием. В частности, я часто использую Growl для отображения настраиваемых уведомлений. Из командной строки я могу использовать growlnotifyисполняемый файл для отображения чего-то вроде этого:

$ growlnotify -a "Google Chrome" -m "Text Copied" "Google Chrome"

введите описание изображения здесь

Я хотел бы каким-то образом изменить поведение глобального копирования/вставки, чтобы создать уведомление Growl, подобное этому, независимо от того, где я выполняю операцию и независимо от того, что я копирую (текст, файлы и т. д.). Возможно ли это с помощью Automator/AppleScript (я лишь смутно знаком с AppleScript)? Или что-то другое?

Ответы (1)

Вы можете использовать такие приложения, как Keyboard Maestro (мое предпочтение), FastScripts , Spark , для запуска скрипта, который отображает уведомление каждый раз, когда вы нажимаете Cmd+C или Cmd+V. Ниже приведен сценарий копирования, который публикует уведомление в Growl. Хотя вы также можете опубликовать их в центре уведомлений OS X.

tell application "System Events"
    set foremostApplication to name of first process where it is frontmost
end tell
tell application "Growl"
    register as application "Pasteboard Notifier" all notifications {"Copied", "Pasted"} default notifications {"Copied"}
    notify with name "Copied" title "Copied!" description "New Clipboard Item" application name "Pasteboard Notifier" icon of application foremostApplication
end tell

Я попытался создать службу через Automator и привязать ее к Cmd+C; это не сработало. Вам лучше использовать приложение, созданное для такой работы.

Редактировать: 11.05.15

Я заметил, что сервис, созданный указанным выше способом, работал в Steam, но не в других приложениях. Я думаю, потому что в нем нет меню «Правка», следовательно, нет элементов «Вырезать», «Копировать» и «Вставить». Ярлыки приложений, вероятно, имеют приоритет над службами, связанными с теми же ярлыками.