Как научить macOS Mojave менять цвет интерфейса по расписанию

Владимир Кузин avatar | 7
FavoriteLoading В закладки
Как научить 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 вечером.

1 Звезд2 Звезды3 Звезды4 Звезды5 Звезд (3 голосов, общий рейтинг: 5.00 из 5)
undefined
iPhones.ru
Неочевидный метод автоматического оживления системы.
Прокомментировать

🙈 Комментарии 7

  1. Чарли avatar
    Чарли27 июня 2018
    0

    Свистелки пирделки – все инновации операционной системы от apple после Стива Джобса. Докатились

    Alex Palko avatar
    Alex Palko28 июня 2018
    1

    @Чарли, напиши конкретно, что тебе не хватает в macOS?

  2. Astravod avatar
    Astravod27 июня 2018
    0

    Тут бы датчик освещенности в комнате оказался бы как раз кстати. Не всегда ведь темнеет в 8 вечера и рассветает в 7.

    alexmaru avatar
    alexmaru27 июня 2018
    0

    @Astravod, можно попробовать 1) привязать к night shift событию 2) посчитать положение солнца по координатам

    DastarD avatar
    DastarD30 июня 2018
    0

    @Astravod, для этого обои и просят геолокацию. Рассвет и закат для каждой определенной точки просчитан на несколько лет вперед — брауновский альманах.

  3. sosiskin avatar
    sosiskin28 июня 2018
    0

    Пользователь уже удалил свой пост, скрипт не работает – “Yeah I tested it and it doesn’t work :( I’ll delete the post and post it again when it works all the time, sorry”

  4. zuzuzia avatar
    zuzuzia29 июня 2018
    0

    не работает штучка) ну то есть работает но автоматически нет) пока н е нажмешь кнопку плей не заработает само и авто как по времени) ждем фикса)

Вы должны авторизоваться или зарегистрироваться для комментирования.

Нашли орфографическую ошибку в новости?

Выделите ее мышью и нажмите Ctrl+Enter.

Как установить аватар в комментариях?

Ответ вот здесь