Mastodon
Zdjęcie okładkowe wpisu Włączanie i wyłączanie Dark Mode za pomocą Keyboard Maestro w Mojave

Włączanie i wyłączanie Dark Mode za pomocą Keyboard Maestro w Mojave

3
Dodane: 6 lat temu

Jak już zapewne wiecie, macOS Mojave ma tryb ciemny, tzw. Dark Mode, którego implementacji Apple nie dopracowało tak fajnie, jak by mogło. Pomimo że zmiana tapety jest dynamiczna, to aż prosi się, aby ten tryb włączał i wyłączał się automatycznie na bazie czasu dnia lub wschodu i zachodu słońca, lub alternatywnie na podstawie czujnika natężenia światła. Niestety, takich opcji nie ma.

Włączyć lub wyłączyć Dark Mode można za pomocą poniższych trzech prostych AppleScriptów.

Włączenie Dark Mode

tell application "System Events"
    tell appearance preferences
        set dark mode to true
    end tell
end tell

Wyłączenie Dark Mode

tell application "System Events"
    tell appearance preferences
        set dark mode to false
    end tell
end tell

Przełączenie się na lub z Dark Mode na podstawie aktualnego ustawienia

tell application "System Events"
    tell appearance preferences
        set dark mode to not dark mode
    end tell
end tell

osascript

Można też do tego celu wykorzystać w Terminalu osascript, jeśli wolicie to zrobić w ten sposób… Poniższy skrypt możecie wykorzystać przykładowo w Alfredzie, jeśli z niego korzystacie.

osascript -e 'tell app "System Events" to tell appearance preferences to set dark mode to not dark mode'

Skrypt w Keyboard Maestro

Keyboard Maestro umożliwia wykorzystanie najprzeróżniejszych triggerów, aby wywołać jakiś ciąg zdarzeń. Przykładowo, mogę ustawić KM1, aby codziennie o godzinie 8:00 rano sprawdzał czy Dark Mode jest wyłączony i jeśli nie jest, to go wyłączy. To jednak problematyczne, bo jeśli włączę komputer o 8:10, to już nie zmieni mi trybu. Można zatem sprawdzać np. co 10 minut jego stan i włączyć lub wyłączyć, zależnie od pory dnia. Zakładam, że udałoby się też na bieżąco sprawdzać dzień wschodu i zachodu słońca, za pomocą jakiegoś serwisu, aby Dark Mode załączał i wyłączał się o odpowiedniej godzinie.

Sam zdecydowałem się na najprostsze możliwe rozwiązanie – za pomocą skrótu klawiszowego, na żądanie.

Skrypt jest banalnie prosty. Jako trigger wybrałem kombinację klawiszy. Wiele aplikacji już od lat korzysta ze skrótu ⌥⌘L, ale ten skrót w Finderze używany jest do otworzenia folderu Downloads, więc musiałem wybrać inny i zdecydowałem się na ⇧⌥⌘L.

Następnym krokiem jest wyzwolenie AppleScriptu, którego treść wkleiłem do odpowiedniego pola.

Macro jest ustawione jako globalne, więc będzie działało niezależnie od tego, gdzie w systemie jestem. Niestety, może blokować inne skróty klawiszowe, ale z tym konkretnym jeszcze nigdzie się nie spotkałem, więc liczę na to, że nie wpłynie to negatywnie na nic.

Jeśli korzystacie z Keyboard Maestro, to możecie pobrać poniższe macro i dodać sobie do swojej konfiguracji, jeśli nie chcecie go tworzyć ręcznie.


MacOS Mojave – Toggle Dark Mode.kmmacros

  1. Keyboard Maestro.

Wojtek Pietrusiewicz

Wydawca, fotograf, podróżnik, podcaster – niekoniecznie w tej kolejności. Lubię espresso, mechaniczne zegarki, mechaniczne klawiatury i zwinne samochody.

Zapraszamy do dalszej dyskusji na Mastodonie lub Twitterze .

Komentarze: 3