Comment déclencher une fenêtre de dialogue d'alerte à partir de la ligne de commande sous Mac OS

Avez-vous déjà souhaité pouvoir faire apparaître une alerte de dialogue sur le Mac par l'intermédiaire du Terminal ? Et bien il s'avère que vous le pouvez avec la commande osascript, toujours utile, qui permet l'exécution d'AppleScript depuis le Terminal. Pour ceux qui passent beaucoup de temps à la ligne de commande de MacOS, cela peut être une bonne petite astuce pour vous avertir lorsqu'une tâche spécifique est terminée, ou même pour être inclus dans un script. C'est une sorte d'approche visuelle d'un de mes trucs simples préférés du Terminal qui consiste à annoncer verbalement quand une tâche de la ligne de commande est terminée.

Voyons comment les utilisateurs avancés de Mac peuvent déclencher des boîtes de dialogue d'alerte dans l'interface graphique de MacOS à partir de la ligne de commande. Vous pouvez choisir de spécifier une application de spécification pour déclencher l'apparition de l'alerte contextuelle ou, mieux encore, déclencher une boîte de dialogue d'alerte dans l'application la plus importante de Mac OS X.

Et oui, cela fonctionne dans toutes les versions de MacOS ou de Mac OS X qui ont existé, il ne devrait donc pas y avoir de problèmes de compatibilité ici.

Comment créer un pop-up d'alerte de dialogue sous Mac OS

L'alerte de dialogue la plus utile est peut-être celle qui est visible de n'importe où et qui est donc envoyée à l'application la plus importante. Cela permet de s'assurer que la boîte d'alerte n'est pas manquée.

La syntaxe pour déclencher une boîte de dialogue d'alerte dans l'application la plus en pointe sur le Mac est la suivante :

osascript -e 'tell application (path to frontmost application as text) to display dialog "Hello from iphonologie.fr" buttons {"OK"} with icon stop'

La boîte d'alerte contextuelle qui en résulte ressemble à ceci :

Par exemple, vous pouvez l'utiliser pour déclencher une boîte de dialogue dans l'application la plus en amont lorsqu'une tâche en ligne de commande est terminée. Supposons que nous exécutions un script python et que nous voulions qu'une boîte d'alerte nous avertisse lorsqu'elle est terminée, la syntaxe d'un tel cas d'utilisation pourrait ressembler à ce qui suit :

Lire aussi :  Téléchargement de la mise à jour iOS 16.3 disponible dès maintenant

python MagicScript.py && osascript -e 'tell application (path to frontmost application as text) to display dialog "The script has completed" buttons {"OK"} with icon caution'

Cet exemple déclencherait une boîte de dialogue qui dirait "Le script est terminé" avec l'icône jaune d'avertissement à l'application la plus en amont dans l'interface graphique de Mac OS X après que python ait fini d'exécuter "MagicScript.py". Vous pouvez choisir d'autres icônes comme "stop", "note", "caution", ou même spécifier un chemin vers une icône personnalisée si vous le souhaitez.

Bien que vous puissiez spécifier une application, System Events ou SystemUIServer, le fait de choisir l'application la plus large au premier plan permet à la fenêtre de dialogue d'alerte d'apparaître à l'écran, quelle que soit l'application au premier plan. Couvrons le déclenchement d'alertes de dialogue dans des applications spécifiques, car cela peut également être souhaitable.

Déclencher une alerte de dialogue dans une application spécifique

Pour envoyer un dialogue ou une alerte dans une application spécifique, il suffit de spécifier le nom de l'application en question, comme cela :

Déclenchement d'un dialogue d'alerte dans Mac OS Finder au moyen de la ligne de commande:

osascript -e 'tell app "Finder" to display dialog "Hello from iphonologie.fr""

Déclenchement d'un dialogue d'alerte dans l'application Terminal via la ligne de commande:

osascript -e 'tell app "Terminal" to display dialog "Hello from iphonologie.fr""

Déclenchement d'un dialogue d'alerte dans Safari via la ligne de commande:

osascript -e 'tell app "Safari" to display dialog "Hello from iphonologie.fr""

Déclencher un dialogue d'alerte aux événements du système par le biais de la ligne de commande:

Lire aussi :  Comment supprimer le bouton Emoji du clavier de l'iPhone et de l'iPad

osascript -e 'tell app "System Events" to display dialog "Howdy Doo""

Vous pouvez spécifier n'importe quelle application pour envoyer l'alerte de cette façon, mais pour beaucoup d'entre nous, le choix le plus utile est probablement celui de l'alerte de front ou des événements du système.

Si le déclenchement d'une fenêtre de dialogue générale est trop intrusif, vous pourriez apprécier d'envoyer des alertes au centre de notification sur Mac avec terminal-notifier, terminal-notifier est une solution tierce qui permet aux messages en ligne de commande d'apparaître dans le centre de notification général de Mac OS. Une option encore moins intrusive serait de déclencher un badge de notification sur l'icône du terminal-notifiant, bien que cela puisse être trop subtil pour les besoins de nombreux utilisateurs.

Quoi qu'il en soit, il s'agit d'un aperçu de base du déclenchement de dialogues d'alerte visuelle dans l'interface graphique de Mac OS au moyen de la ligne de commande. Vous pouvez aller beaucoup plus loin si vous le souhaitez grâce à des utilisations plus complexes d'AppleScript et d'osascript, y compris en faisant en sorte que les interactions avec la boîte de dialogue aient un impact sur ce qui se passe ensuite, mais cela aborde un sujet plus complexe qui serait mieux servi dans son propre article. Les utilisateurs qui souhaitent en savoir plus sur l'écriture de scripts avec AppleScript peuvent consulter la documentation fournie avec l'application Script Editor, qui est très complète et détaillée.

Avez-vous des façons intéressantes d'utiliser cette astuce, ou connaissez-vous une autre méthode pour déclencher des boîtes de dialogue dans l'interface graphique de Mac OS à partir de la ligne de commande ? Faites-le nous savoir dans les commentaires.

Click to rate this post!
[Total: 0 Average: 0]

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *