Automator-Dienst zum Einfügen von Text nur verfügbar, wenn Text ausgewählt ist

Ich versuche, einen Automator-Dienst zum Einfügen des aktuellen Datums zu erstellen. Ich habe eine, die funktioniert, aber sie ist nur im Menü „Dienste“ verfügbar, wenn Text ausgewählt ist . Ich brauche es, um verfügbar zu sein, wenn kein Text ausgewählt ist .

Hier ist das Automator Services-Skript:

Automator Script zum Einfügen des aktuellen Datums

Die Anwendung, mit der ich versuche, den Dienst zu verwenden, ist TextEdit. Ich sehe das gleiche Verhalten in anderen Anwendungen wie TextMate und Pages: wenige oder keine Einträge im Menü „Dienste“, bis ich etwas Text auswähle, dann viele verfügbare Dienste.

Vielleicht gibt es eine Möglichkeit, dies mit AppleScript zu tun, z. B. den Text in die Zwischenablage zu bringen und ein "Befehl-V" an die Anwendung zu senden. Aber ich bräuchte immer noch das AppleScript, um irgendwie im Menü Dienste verfügbar zu sein.

Ich glaube nicht, dass es eine Möglichkeit gibt, das Servicemenü ohne Eingabe anzuzeigen . Sie wären wirklich besser dran, eine Anwendung eines Drittanbieters zu verwenden. Wenn Sie hauptsächlich einen für solche Snippets möchten, ist TextExpander die beste Wahl. für mehr Vielseitigkeit Keyboard Maestro.

Antworten (1)

Die Antwort habe ich hier gefunden:

https://superuser.com/questions/589184/finder-not-enabling-use-of-services-when-changing-service-receives-s selected-in

OS X ignoriert manchmal Änderungen an Diensten, nachdem sie in Automator gespeichert wurden, möglicherweise aufgrund von Caching . Wenn der Dienst also als Textdienst begann, werden Ihre Änderungen wahrscheinlich nicht übernommen. Um dieses Problem zu umgehen, wählen Sie Datei » Duplizieren in Automator und speichern Sie den Dienst unter einem neuen Namen und versuchen Sie es erneut . Löschen Sie dann den ursprünglichen Dienst aus ~/Library/Services.

(Antwort kommt von Daniel Beck)

Ich habe mein Service-Skript (in Automator) wie oben vorgeschlagen dupliziert und jetzt wird es im Menü „Services“ angezeigt, ohne dass Text ausgewählt werden muss. Ich vermute, als ich das Skript zum ersten Mal erstellt habe, dass ich "Dienst empfängt Texteingabe" ausgewählt hatte und es später geändert habe. Beachten Sie, dass auch das Aktivieren von "Ausgabe ersetzt ausgewählten Text" nach dem ersten Speichern des Dienstes nicht geändert werden sollte.