Mastodon

Czasowe wyłączenie Powiadomień w OS X

0
Dodane: 11 lat temu

Jedną z najlepszych funkcji według mnie, jakie wprowadził iOS 6 było Nie przeszkadzać. Jeszcze większym ułatwieniem jest możliwość automatycznego włączania tejże (np. w godzinach nocnych). Kiedy podobna opcja zawitała do OS X 10.8 również myślałem, że można będzie określić ramy czasowe jej działania. Niestety, ktoś najwidoczniej o tym nie pomyślał, aczkolwiek po „wyciszeniu” powiadomień na OS X, uruchomią się one po 12 godzinach. Jeśli jednak nie boicie się poświęcić paru minut na „podłubanie” w Automatorze, Apple Script i Kalendarzu, to chciałbym podzielić się rozwiązaniem umożliwiającym automatyczne ustawienie okresu, w jakim powiadomienia nie będą wyświetlane.

Zacznijmy od napisania, co chcemy osiągnąć. Utworzymy dwa zadania w kalendarzu, które będą powtarzane codziennie (lub według własnej woli). Pierwsze z nich zablokuje przychodzenie powiadomień o konkretnej godzinie. Analogicznie drugie odblokuje je również o zadanej godzinie.

Jak większość rozwiązań „na około” tak i to ma swoje wady. Pomijając czas, jaki trzeba poświęcić na utworzenie takich zadań, nie zadziałają, jeśli nasz komputer będzie w czasie ich wywołania wyłączony lub uśpiony. Na szczęście wystarczy wtedy ręcznie wyłączyć/włączyć powiadomienia, a reszta będzie dalej działać według swojego przeznaczenia.

Dość już tego przydługiego wstępu, czas zatem zabrać się do pracy.

Wyłączanie powiadomień

Pierwszym krokiem będzie uruchomienie aplikacji Automator. Tam z kolei wybieramy Powiadomienie kalendarza.

Następnie wyszukujemy akcji Uruchom AppleScript i dwukrotnie na nią klikamy, co doda ją do kolejki czynności.

W polu edycji AppleScript wklejamy poniższy skrypt, który ma za zadanie wyłączyć powiadomienia i następnie zrestartować aplikację Powiadomienia, by wprowadzić zmiany w życie:

do shell script "defaults write ~/Library/Preferences/ByHost/com.apple.notificationcenterui.*.plist doNotDisturb -boolean true"
set theDate to quoted form of (do shell script "date +\"%Y-%m-%d %I:%M:%S +0000\"")
do shell script "defaults write ~/Library/Preferences/ByHost/com.apple.notificationcenterui.*.plist doNotDisturbDate -date " & theDate
do shell script "killall NotificationCenter"

Teraz możemy już zapisać naszą akcję pod stosowną nazwą.

Automatycznie zostanie uruchomiona aplikacja Kalendarz z dodanym nowym zadaniem przypisanym do nowego kalendarza Automator.

Edytujemy je tak, by wskazać w jakie dni i o jakiej godzinie ma być uruchomiona funkcja wyłączenia powiadomień.

Przywracanie powiadomień

Teraz zajmijmy się drugim zadaniem, które w odpowiedniej porze przywróci działanie powiadomień. W zasadzie wszystko będzie wyglądać bardzo podobnie do wcześniejszej metody, czyli uruchamiamy Automator, wybieramy Powiadomienia kalendarza, dodajemy czynność Uruchom AppleScript, tam natomiast wklejamy poniższy skrypt:

do shell script "defaults write ~/Library/Preferences/ByHost/com.apple.notificationcenterui.*.plist doNotDisturb -boolean false"
try
do shell script "defaults delete ~/Library/Preferences/ByHost/com.apple.notificationcenterui.*.plist doNotDisturbDate"
end try
do shell script "killall NotificationCenter"

Zapisujemy akcję (np. jako Włącz powiadomienia) a w Kalendarzu ustawiamy te same dni użyte w przypadku wyłączenia powiadomień oraz godzinę, o której mają być włączone.

Od tej pory będziemy mogli się cieszyć pseudo trybem Nie przeszkadzać również w OS X.

Źródło: TUAW

Maciej Skrzypczak

Użytkownik sprzętu z nadgryzionym jabłkiem, grafik komputerowy, Redaktor iMagazine.pl. Mastodon: mcskrzypczak@c.im

Zapraszamy do dalszej dyskusji na Mastodonie lub Twitterze .