Ändern Sie das Verhalten beim Kopieren und Einfügen systemweit

Ich möchte das globale Copy/Paste-Verhalten um eine zusätzliche Aktion erweitern. Insbesondere verwende ich Growl oft, um benutzerdefinierte Benachrichtigungen anzuzeigen. Von der Befehlszeile aus kann ich die growlnotifyausführbare Datei verwenden, um so etwas anzuzeigen:

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

Geben Sie hier die Bildbeschreibung ein

Ich möchte das globale Kopier-/Einfügeverhalten irgendwie ändern, um eine Growl-Benachrichtigung wie diese zu erstellen, egal wo ich die Operation durchführe und egal was ich kopiere (Text, Dateien usw.). Ist dies mit Automator/AppleScript möglich (ich bin mit AppleScript nur vage vertraut)? Oder etwas anderes?

Antworten (1)

Sie können Anwendungen wie Keyboard Maestro (meine Präferenz), FastScripts , Spark verwenden , um ein Skript auszuführen, das jedes Mal eine Benachrichtigung anzeigt, wenn Sie Cmd+C oder Cmd+V drücken. Unten ist das Kopierskript, das eine Benachrichtigung in Growl veröffentlicht. Sie können diese jedoch auch im Benachrichtigungszentrum von OS X posten.

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

Ich habe versucht, einen Dienst über Automator zu erstellen und diesen an Cmd + C zu binden. es schien nicht zu funktionieren. Sie sollten besser eine App verwenden, die für diese Art von Arbeit entwickelt wurde.

Änderung: 11.05.15

Mir ist aufgefallen, dass der mit der obigen Methode erstellte Dienst in Steam funktioniert, nicht jedoch in anderen Anwendungen. Ich denke, weil es kein Bearbeiten-Menü hat, also auch keine Elemente zum Ausschneiden, Kopieren und Einfügen. Die Anwendungsverknüpfungen haben wahrscheinlich Vorrang vor Diensten, die mit denselben Verknüpfungen verknüpft sind.