Как научить macOS Mojave менять цвет интерфейса по расписанию
В macOS Mojave появилась долгожданная темная цветовая тема. Единственное «но»: пользоваться ею днем не совсем комфортно, а вот в темное время суток она бы пришлась как раз кстати.
Один из пользователей Reddit написал скрипт, который автоматически меняет тему в зависимости от времени суток.
Задействовать его несложно.
Шаг 1. Открываем редактор скриптов и выбираем Новый документ.
Шаг 2. Копируем и вставляем приведенный ниже код в текстовое окно:
on run
set myPath to path to me -- this part of the script adds the script itself to the login items so it runs when your mac starts
tell application "System Events"
make new login item at end of login items with properties {name:"Change to Dark Mode", path:myPath, hidden:true}
end tell
idle -- make it run the idle part of the script on start
end run
on idle
if ((hours of (current date)) ≥ 20) then --check if current time is 8 PM or later, if it is, change system appearance to dark mode
tell application "System Events"
tell appearance preferences
set dark mode to true
end tell
end tell
else if ((hours of (current date)) ≥ 7) then -- if it's 7 AM or later, but earlier than 8 PM, change system appearance to light mode
tell application "System Events"
tell appearance preferences
set dark mode to false
end tell
end tell
end if
--run every 60 seconds
return 60
end idle
После чего нажмите Play.
*Примечание: Если после нажатия Play получите ошибку, не закрывая Редактор скриптов, откройте Настройки —> Учетная запись и перейдите на вкладку Объекты входа.
Шаг 3. Сохраните скрипт назвав его по вашему желанию. По умолчанию он сохраняется в программы.
Шаг 4. В настройках Объекты входа добавьте только что сохраненный скрипт.
На этом настройки окончены. Теперь в автоматическом режиме темы будут меняться в зависимости от времени суток.
К слову, скрипт можно немного поправить. Строки для правки:
else if ((hours of (current date)) ≥ 7)
и
if ((hours of (current date)) ≥ 20)
Числа 7 и 20 — время в часах. То есть 7:00 утром и 20:00 вечером.