J'ai créé un AppleScript, je l'ai enregistré comme fichier dans un dossier spécifique de mon disque dur. Maintenant, je veux lui attribuer un raccourci et il semble que je doive créer un service via Automator, mais la fonction Run AppleScript
me demande de mettre le code à l'intérieur, alors que je veux exécuter le fichier .scpt déjà existant. Comment faire ?
Réponses
Trop de publicités?Oui, Automator est la meilleure option ici. Pour créer le service, suivez ces étapes :
-
Ouvrez Automator et sélectionnez Service :
-
Recherchez "applescript" et faites glisser l'action vers le volet de droite :
-
Changement
Service receives selected text
aService receives no input
afin qu'il apparaisse toujours dans le menu Services : -
Remplacer
(* Your script goes here *)
avec :do shell script "/usr/bin/osascript /path/to/your/script.scpt"
si vous souhaitez exécuter votre
.scpt
fichier. Notez que osascript ne peut pas gérer l'interaction avec l'utilisateur comme l'affichage d'une fenêtre de dialogue :Pour surmonter cette limitation, il faut utiliser cette solution de contournement ou simplement remplacer
(* Your script goes here *)
avec le contenu de votre script. -
Sauvegardez-le :
-
Si vous le souhaitez, vous pouvez attribuer un raccourci à votre nouveau service. Sélectionnez Services>Préférences des services dans le Finder (ou toute autre application ouverte) :
-
Attribuez un raccourci pas si courant :
-
Votre service est maintenant accessible depuis n'importe quelle application grâce au raccourci que vous avez attribué à l'étape précédente :
Si jamais vous voulez vous débarrasser du service, ouvrez ~/Library/Services
supprimez le service et videz la corbeille :
Dans le script, ajoutez un on run
argument :
on run
-- do whatever the script does
end run
Vous pouvez ensuite utiliser l'action "Run Shell script" d'Automator, avec l'option osascript
commandement :
osascript /path/to/script.scpt
osascript
est une commande qui exécute AppleScript dans le shell. Vous avez besoin des lignes du script pour permettre l'exécution du script en dehors de l'éditeur AppleScript.
Peut-être voudriez-vous jeter un coup d'oeil à Ce service qui vous permet de "créer des services Mac OS X à partir de n'importe quel script".
Je ne recommanderais pas de créer des services Automator pour attribuer des raccourcis aux scripts. Il y a un bug dans les versions 10.7 et 10.8 où les raccourcis clavier pour les services Automator ne fonctionnent pas toujours jusqu'à ce que vous survoliez le menu des services depuis la barre de menu. Il y a également un délai relativement long (peut-être 0,1 à 1 s) avant que les services ne soient exécutés.
Voir cette réponse pour d'autres façons d'attribuer des raccourcis clavier aux scripts. J'utilise moi-même FastScripts et Alfred.
Vous pouvez exécuter le script existant avec un simple service d'automatisation comme celui-ci. Et assigner votre raccourci depuis les raccourcis clavier comme d'habitude. Rappelez-vous simplement que certaines applications peuvent avoir besoin d'être relancées avant qu'elles ne prennent en compte les raccourcis.
exemple.
sayHello script :
say "hello"
Service d'automatisation :
Qui dans cet exemple utilise :
- Pas d'entrée
- Toute application.
L'action est une Exécuter le Shell script Le code utilise simplement la commande unix osascript et le chemin d'accès au fichier. Passer l'entrée peut être à stdn o à l'argument
C'est tout, rien de spécial ne doit être fait au script.
Pour plus de détails sur le Commande osascript : consultez les pages de manuel pour cela. La page man donne un autre exemple où vous pouvez passer des arguments au script.
- Réponses précédentes
- Plus de réponses