Wyświetlanie powiadomień przy użyciu aplikacji Terminal
Jestem ostatnio na etapie tworzenia prostych skryptów zarówno tych stricte uniksowych, jak i AppleScript. Jakiś czas temu szukałem, jak w prosty sposób można utworzyć powiadomienie wyświetlane w systemowym Centrum Powiadomień. Znalazłem narzędzie, które Wam również może się przydać.
Mowa mianowicie o mini-narzędziu terminal-notifier
, za pomocą którego w łatwy sposób wyświetlimy powiadomienie o dowolnej treści. Jego instalacja jest dość prosta – w Terminalu (który jak zawsze znajdziemy w folderze /Applications/Utilities
) wystarczy wpisać:
sudo gem install terminal-notifier
Będziemy następnie poproszeni o podanie hasła administratora, a po chwili wszystko zostanie automatycznie zainstalowane. Aby więc stworzyć powiadomienie, posługujemy się poniższym schematem:
terminal-notifier -message "Wiadomość" -title "Tytuł powiadomienia" -subtitle "Podtytuł powiadomienia" [inne opcje]
Powyższe powiadomienie będzie wyglądać tak:
Warto zaznaczyć, że spośród wymienionych preferencji -message
jest jedyną wymaganą. Jeśli zaś chodzi o [inne opcje]
, to warto wymienić dwie z nich:
-open URL
– ta opcja sprawi, że po kliknięciu powiadomienia otwarty zostanie konkretny adres URL. Oprócz standardowych adresów przekierowujących na strony www można również użyć tzw. URL schemes, które pozwalają na wykonywanie akcji na konkretnych aplikacjach (np. macappstore://showUpdatesPage przeniesie nas do zakładki z aktualizacjami Mac App Store).-execute KOMENDA
– wywoła konkretną komendę (w shell script) po kliknięciu na powiadomienie.
Więcej opcji można znaleźć na stronie projektu tego narzędzia – github.com/alloy/terminal-notifier.
Oczywiście powyższego narzędzia możemy również użyć w AppleScript dzięki zastosowaniu kodu do shell script
i podaniu powyższej komendy.
Niestety ze względu na ograniczenia API udostępnionego przez Apple do tworzenia powiadomień, ich ikona będzie zawsze „terminalową”.
Źródło: GitHub
Komentarze: 1
No, pięknie. Ale czy, i jezeli tak to jak, zastosowac to do powiadomien sieciowych? Bardzo mi brakuje windowsowego netsend…