Jak utworzyć wyskakujące okienko/alert terminala Mac? Applescript?
Chcę, aby mój program wyświetlał alert, powiadomienie, cokolwiek wyświetla mój niestandardowy tekst. Jak to się robi? Ponadto, czy jest możliwe, aby jeden z kilku przycisków, które ustawia zmienną?
Podobne do partii:
echo msgbox""<a.vbs&a.vbs
7 answers
Użycie osascript
. Na przykład:
osascript -e 'tell app "Finder" to display dialog "Hello World"'
Zastąpienie "Findera" dowolną aplikacją. Uwaga jeśli ta aplikacja jest tłoczona, okno dialogowe pojawi się również w tle. Aby zawsze pokazywać się na pierwszym planie, użyj "zdarzeń systemowych"jako aplikacji:
osascript -e 'tell app "System Events" to display dialog "Hello World"'
Czytaj więcej na Mac OS X podpowiedzi .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-09 13:54:46
Jeśli używasz dowolnej wersji systemu Mac OS X, która ma Centrum powiadomień, możesz użyć gem terminal-notifier . Najpierw go zainstaluj (możesz potrzebować sudo
):
gem install terminal-notifier
A potem po prostu:
terminal-notifier -message "Hello, this is my message" -title "Message Title"
Zobacz także Ten OS X Daily post .
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-04 03:22:30
Użyj tego polecenia, aby uruchomić powiadomienie Centrum powiadomień z terminala.
osascript -e 'display notification "Lorem ipsum dolor sit amet" with title "Title"'
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-07-07 08:10:32
To przywróci fokus do poprzedniej aplikacji i zakończy działanie skryptu, jeśli odpowiedź jest pusta.
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
Jeśli polecisz zdarzeniom systemowym, aby wyświetlały okno dialogowe, pojawi się małe opóźnienie, jeśli wcześniej nie było uruchomione.
Aby uzyskać dokumentację dotyczącą okna dialogowego wyświetlania, otwórz słownik standardowych dodatków w edytorze AppleScript lub zobacz AppleScript Language Guide.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-09-26 11:20:40
I moje 15 centów. Jeden liner dla terminala mac itp Po prostu ustaw min= na cokolwiek i wiadomość
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"'
Bonusowy przykład inspiracji do łączenia większej liczby komend; spowoduje to również uśpienie komputera mac na wiadomości:) potrzebne jest wtedy logowanie sudo, mnożenie jak 60*2 przez dwie godziny idzie równie dobrze
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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-26 15:40:15
Symulowane pytanie i odpowiedź jest dostępna na: https://superuser.com/questions/246353/how-to-make-the-terminal-do-a-pop-up-alert-in-osx
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-20 10:18:16
Zrobiłem skrypt, aby rozwiązać ten problem, który jest TUTAJ . Nie potrzebujesz do tego żadnego dodatkowego oprogramowania.
Instalacja:brew install akashaggarwal7/tools/tsay
Użycie:sleep 5; tsay
Zapraszam do współtworzenia!
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-15 15:11:21