Sådan udløses en advarselsdialog pop-up fra kommandolinje i Mac OS

Har du nogensinde ønsket, at du kunne lave dialogbokseopslag på Mac ved hjælp af Terminal? Nå viser det sig, at du kan med den altid nyttige osascript-kommando, som tillader udførelse af AppleScript fra Terminal. For dem, der bruger meget tid på kommandolinjen i MacOS, kan det være et godt lille trick at underrette dig om, hvornår en bestemt opgave er afsluttet eller endda inkluderet som en del af et script. Dette er en slags visuel tilgang til et af mine foretrukne enkle Terminal-tricks, som er at mundtligt annoncere, når en kommandolinjeopgave har afsluttet.

Lad os se, hvordan avancerede Mac-brugere kan udløse alarmdialogbokse i MacOS GUI fra kommandolinjen. Du kan vælge at angive et specifikationsprogram for at udløse pop op-varslingen, der vises inden for, eller måske endnu bedre, udløse en advarselsdialog, uanset hvad den primære applikation i Mac OS X er.


Og ja det virker i hver version af MacOS eller Mac OS X, der har eksisteret, så der bør ikke være nogen kompatibilitetsproblemer her.

Sådan oprettes en dialogopdaterings pop-up i Mac OS

Måske er den mest nyttige dialogvarsel en, der er synlig fra hvor som helst og sendes således til det, der er den største applikation. Dette sikrer, at advarselsboksen ikke går glip af.

Syntaksen, der udløser en dialogboks for alarm i den forreste applikation på Mac, er som følger:

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

Den resulterende popup-oplysningsboks ser sådan ud:

For eksempel kan du bruge dette til at udløse en dialogboks i den forreste applikation, når en opgave på kommandolinjen er gennemført. Lad os sige, at vi kører et python-script og ønsker en advarselsboks til at underrette os, når den er færdig. Syntaxen til en sådan brugstilfælde kan se ud som følger:

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'

Dette eksempel ville udløse en dialogboks, der siger "Skriptet har afsluttet" med det gule advarselsikon til den forreste applikation i Mac OS X GUI efter at python er færdig med at køre 'MagicScript.py'. Du kan vælge andre ikoner som stop, note, forsigtighed eller endda angive en sti til et brugerdefineret ikon, hvis det ønskes.

Mens du kan angive en applikation, Systemhændelser eller SystemUIServer, vælger du den bredere frontmost applikation, at advarselsdialogvinduet kan vises på skærmen, uanset hvilket program der er i forkant. Lad os dække udløser dialogvarsler i bestemte apps, da det også kan være ønskeligt.

Trigger en dialogvarsling i specifik applikation

Hvis du vil sende en dialog eller en advarsel til et bestemt program, skal du blot angive det pågældende appnavn, som det er:

Udløs en advarselsdialog i Mac OS Finder ved hjælp af kommandolinjen:
osascript -e 'tell app "Finder" to display dialog "Hello from osxdaily.com"'

Udløser en advarselsdialog i Terminal-app via kommandolinje:
osascript -e 'tell app "Terminal" to display dialog "Hello from osxdaily.com"'

Udløs en advarselsdialog i Safari via kommandolinje:
osascript -e 'tell app "Safari" to display dialog "Hello from osxdaily.com"'

Trigger en advarselsdialog til System Events ved hjælp af kommandolinjen:
osascript -e 'tell app "System Events" to display dialog "Howdy Doo"'

Du kan angive en hvilken som helst applikation for at sende advarslen på denne måde, men for mange af os er den bredere frontmost eller System Events sandsynligvis det mere nyttige valg.

Hvis en generel popup-dialog-udløser er for påtrængende, kan du sætte pris på at sende varsler til meddelelsescenteret på Mac med terminal-anmelder. Terminal-anmelder er en tredjepartsløsning, der tillader kommandolinjebeskeder at blive vist i det generelle meddelelsescenter for Mac OS. En endnu mindre invasiv mulighed ville være at udløse et notifikationsmærke på Terminal Dock-ikonet, selv om det måske er for subtilt, fordi mange brugere har brug for det.

Alligevel er dette et grundlæggende overblik over udløser visuelle advarselsdialoger i den grafiske grænseflade af Mac OS ved hjælp af kommandolinjen. Du kan gå meget dybere end dette hvis du ønsker det gennem mere komplekse anvendelser af AppleScript og osascript, herunder at have interaktioner med dialogboksen, påvirker hvad der sker næste gang, men det nærmer sig et mere komplekst emne, som bedre kunne tjene i sin egen artikel. Brugere, der er interesseret i at lære mere om scripting med AppleScript, kan gennemgå den dokumentation, der følger med Script Editor-appen, som er ret grundig og detaljeret.

Har du nogle interessante måder at bruge dette tip på, eller kender du til en anden metode til at udløse dialogbokse i GUI i Mac OS fra kommandolinjen? Lad os vide i kommentarerne.