Introduction
Les fenêtres de scripts se distinguent par leur fond coloré. Elles permettent d'éditer des scripts compilés, des applets (ce sont des scripts pouvant être lancés en tant qu'application), et des scripts associés à des objets de Smile (par exemple, un script associé à une fenêtre).
Une nouvelle fenêtre de script peut être créée via le menu Fichier ▸ Nouveau... ▸ Nouveau script.
Compiler et exécuter un script
Dans une fenêtre de script, le raccourci ^⌘R permet de compiler l'ensemble du script et éventuellement d'afficher les erreurs de compilation (⌥⌘R vérifie également la présence de variables non définies).
Un script contenu dans une fenêtre de script peut être exécuté de différentes manières :
En appuyant sur ⌘R lorsque cette fenêtre est au premier plan (ou en sélectionnant le menu Script > Exécuter le script ⌘R). Pour arrêter un script qui est en cours d'exécution, appuyez sur les touches ⌘. (commande-point) ou sur la touche esc. Il n'y a ni bouton ni menu permettant d'arrêter l'exécution d'un script.
S'il s'agit d'une applet, en la double-cliquant depuis le Finder.
S'il s'agit d'un script compilé enregistré dans un dossier User Scripts de Smile, son nom apparaîtra dans le menu User Scripts et le script sera exécuté dès lors que ce menu sera sélectionné par l'utilisateur. Pour plus d'information à ce propos, veuillez consulter la page concernant Le menu User Scripts.
Le menu Handlers
Le menu Handlers "procédures") dans la barre d'outils de la fenêtre liste les différentes fonctions définies dans le script. Pour afficher cette liste dans l'ordre alphabétique, sélectionnez ce menu tout en maintenant la touche ⌥ enfoncée. Vous pouvez afficher des commentaires dans le menu Handlers : les lignes de votre script commençant par -- mark afficheront le reste d ela ligne dans le menu. Si vous faites suivre mark par un simple tiret, vous obtenez dans le menu une ligne de séparation.
-- mark - -- mark interface handlers -- mark -
on do menu the_cmd to the_object
[...]
Pour masquer/afficher la barre d'outils de la fenêtre, cliquez sur le bouton allongé situé en haut et à droite de la barre de titre.
Enregistrement de scripts
-
Enregistrement d'un script compilé
-
our enregistrer un script, sélectionnez Fichier > Enregistrer ⌘S ou Fichier > Enregistrer sous ⇧⌘S. Quand vous enregistrez une fenêtre de script pour la première fois ou quand vous sélectionnez Enregistrer sous, le menu Format du dialogue d'enregistrement propose différentes options d'enregistrement.
Si le script contient des erreurs de syntaxe, Smile ne peut pas l'enregistrer tel quel. Pour l'enregistrer tout de même vous devez recopier le contenu de la fenêtre dans un terminal AppleScript et enregistrer cette copie (comme document texte).
-
Enregistrement comme applet ou droplet
-
AppleScript permet d'enregistrer un script comme application, applet ou droplet. Pour enregistrer un script comme applet, sélectionnez Format > Application dans le dialogue d'enregistrement. Comme dans Éditeur de script, si le script contient une procédure open, il s'enregistre comme droplet ; dans le cas contraire il s'enregistre comme applet. Quand l'utilisateur dépose l'icône d'un fichier ou d'un dossier sur l'icône d'un droplet, le droplet lance sa procédure open.
Lorsqu'on double-clique une applet, celle-ci lance l'exécution de sa procédure run (ou exécute l'ensemble du script), puis quitte. Pour que l'applet reste ouverte après l'exécution de la procédure run - éventuellement vide - choisissez Format > Application de tâche de fond en l'enregistrant. Une applet est elle-même une application scriptable : n'importe quel script peut appeler les procédures d'une applet en utilisant la construction tell [...] end tell.
-
Enregistrement sans le code source
-
Les trois derniers choix du menu Format du dialogue Enregistrer concernent l'enregistrement de scripts compilés en scripts non-modifiables : ils engistrent le script sans conserver son code source. Après avoir enregistré avec cette option, vous ne pourrez plus modifier ni même relire le script : soyez prudent et conservez une copie modifiable.
|