Cлужба, которую я написал для включения темного режима в приложениях — это просто эксперимент. Вы не должны ожидать, что она будет работать или работать надежно. Я никому не помогу, это просто концепт.

ПРИМЕЧАНИЕ: Чтобы эта служба работала, вы должны отключить SIP и установить инструменты разработчика.

Все действия производятся на свой страх и риск.

Вчера я твитнул несколько скриншотов, демонстрирующих определенные приложения OS X с включенным «реальным темным режимом». Для прессы не потребовалось много времени, чтобы начать писать об этом, судя по оригинальной истории MacMagazine.

Прежде всего, я должен поправить информацию, опубликованную Cult of Mac. Они сказали, что этот темный режим доступен только на macOS Sierra, но на самом деле мои тесты были выполнены на OS X El Capitan, так что это не новая функция в Sierra.

Давайте посмотрим, как мы можем включить этот темный режим в системных приложениях.

Руководство

Есть три большие проблемы с методом, который я использовал для этого:
— Это временно (когда приложение перезапускается, темный режим уходит)
— Это не глобально (вы должны включить его для каждого приложения отдельно)
— Это требует ввода кода, поэтому вам нужно отключить SIP, если вы хотите использовать его в определенных системных приложениях

Требования:
— OS X El Capitan или более поздняя версия
— Xcode и инструменты командной строки должны быть установлены
— SIP отключен, если вы хотите использовать его в определенных системных приложениях

Дисклеймер 1: Пожалуйста, обратите внимание, что, хотя у меня отключен SIP на моей машине, я никому не рекомендую это делать, это важная функция безопасности, и вы должны ее отключать, только если вы знаете последствия.

Дисклеймер 2: Я не несу ответственность за любые проблемы, с которыми вы можете столкнуться, пытаясь это сделать. Если ваш компьютер взорвется, это не моя вина.

Я успешно проверил это с помощью Системных настроек, TextEdit, Finder и Safari. Чем более стандартную систему элементов управления использует приложение, тем лучше будет поддерживаться темный режим (подробнее об этом позже).

Скачайте этот zip-файл и распакуйте его в ~/Library/Services.

Теперь откройте приложение, к которому вы хотите применить темный режим, в меню выберите app menu > Services > Apply Dark Mode.

Через несколько секунд приложение должно стать темным.

Применение темного режима к системным настройкам

Пока приложение не будет закрыто, все его окна примут темный вид, чтобы отключить темный внешний вид, просто перезапустите приложение. Если вы применили его к Finder, его можно перезапустить, выполнив команду killall Finder в Terminal.

Как это работает?

Весь мой пакет кода направлен на применение внешнего вида под названием DarkAppearance для всех окон и элементов управления интерфейса активного приложения. Этот вид впервые появился в операционной системе Yosemite и находится в /System/Library/CoreServices/SystemAppearance.bundle/Contents/Resources/DarkAppearance.car. Если вы хотите посмотреть, что находится в этом файле, вы можете использовать мое приложение Asset Catalog Tinkerer.

Asset Catalog Tinkerer
DarkAppearance загружается в Asset Catalog Tinkerer, показывающий активы для темных элементов управления, все встроенные системные элементы управления имеют темные версии
У меня была идея проверить это после просмотра сеанса session «Создание современных Cocoa приложений» на WWDC в этом году. Говоря о внешнем виде системы, ведущий сказал разработчикам, что они должны использовать как можно больше встроенных элементов управления, чтобы их приложения могли адаптироваться к различным представлениям системы. Вот почему из всех приложений, которые я тестировал, системные настройки лучше всего адаптируются к темному режиму: они используют только стандартные системные элементы управления.