Comment créer un pop-up / alerte de terminal Mac? Le mot aux pommes?

Je veux pouvoir faire en sorte que mon programme affiche une alerte, un avis, peu importe ce qui affiche mon texte personnalisé. Comment ça se passe? En outre, est-il possible d’en créer un avec plusieurs boutons qui définissent une variable?

Similaire à batch: echo msgbox""<a.vbs&a.vbs

Utilisez osascript . Par exemple:

 osascript -e 'tell app "Finder" to display dialog "Hello World"' 

Remplacer “Finder” par n’importe quelle application que vous désirez. Notez que si cette application est en arrière-plan, la boîte de dialog apparaîtra également en arrière-plan. Pour toujours afficher au premier plan, utilisez «Événements système» comme application:

 osascript -e 'tell app "System Events" to display dialog "Hello World"' 

En savoir plus sur les astuces Mac OS X

Si vous utilisez une version de Mac OS X disposant de Notification Center, vous pouvez utiliser le joyau de notification de terminal . Installez-le d’abord (vous pourriez avoir besoin de sudo ):

 gem install terminal-notifier 

et puis simplement:

 terminal-notifier -message "Hello, this is my message" -title "Message Title" 

Voir aussi ce post OS X Daily .

Utilisez cette commande pour déclencher la notification du centre de notification depuis le terminal.

 osascript -e 'display notification "Lorem ipsum dolor sit amet" with title "Title"' 

Cela restaurera le focus sur l’application précédente et quittera le script si la réponse était vide.

 a=$(osascript -e 'try tell app "SystemUIServer" set answer to text returned of (display dialog "" default answer "") end end activate app (path to frontmost application as text) answer' | tr '\r' ' ') [[ -z "$a" ]] && exit 

Si vous aviez demandé aux événements système d’afficher la boîte de dialog, il y aurait un léger retard si elle ne fonctionnait pas auparavant.

Pour plus d’informations sur la boîte de dialog d’affichage, ouvrez le dictionnaire des compléments standard dans AppleScript Editor ou consultez le Guide du langage AppleScript .

Et mon 15 centimes. Un seul paquebot pour le terminal mac, etc.

 MIN=15 && for i in $(seq $(($MIN*60)) -1 1); do echo "$i, "; sleep 1; done; echo -e "\n\nMac Finder should show a popup" afplay /System/Library/Sounds/Funk.aiff; osascript -e 'tell app "Finder" to display dialog "Look away. Rest your eyes"' 

Un exemple de prime pour l’inspiration pour combiner plus de commandes; cela mettra un mac en veille sur le message aussi 🙂 le login sudo est nécessaire alors, une multiplication comme le 60 * 2 pendant deux heures se passe aussi bien

 sudo su clear; echo "\n\nPreparing for a sleep when timers done \n"; MIN=60*2 && for i in $(seq $(($MIN*60)) -1 1); do printf "\r%02d:%02d:%02d" $((i/3600)) $(( (i/60)%60)) $((i%60)); sleep 1; done; echo "\n\n Time to sleep zzZZ"; afplay /System/Library/Sounds/Funk.aiff; osascript -e 'tell app "Finder" to display dialog "Time to sleep zzZZ"'; shutdown -h +1 -s 

Une question et une réponse simulaires sont disponibles sur: https://superuser.com/questions/246353/how-to-make-the-terminal-do-a-pop-up-alert-in-osx

J’ai fait un script pour résoudre ce qui est ici . Vous n’avez pas besoin de logiciel supplémentaire pour cela. Installation:
brew install akashaggarwal7/tools/tsay
Usage:
sleep 5; tsay

N’hésitez pas à consortingbuer!