Как да активирате "истински тъмен режим" на OS X / macOS

ОТГОВОРНОСТ (МОЛЯ ПРОЧЕТЕТЕ): услугата, която съм написал, за да активирате тъмен режим в приложенията, е просто експеримент. Не бива да очаквате, че ще работи или работи надеждно. Няма да помогна на никого с това, това е просто доказателство за концепция.

ЗАБЕЛЕЖКА: За да работи тази услуга, трябва да имате деактивиран SIP и инсталирани инструменти за програмисти.

Вчера туитах някои екранни снимки, показващи определени приложения на OS X с активиран „реален тъмен режим“. Не отне много време на пресата да започне да пише за нея, базирана на оригиналната история на MacMagazine.

На първо място трябва да коригирам информация, публикувана от Cult of Mac. Казаха, че този тъмен режим е достъпен само в macOS Sierra, но всъщност тестовете ми бяха извършени на OS X El Capitan, така че това не е нова функция в Sierra.

Като изключим това, нека да видим как можем да продължим с разрешаването на този тъмен режим в системните приложения.

настойнически

Има три големи проблема с метода, който използвах за това:
- Не е постоянен (когато приложението се рестартира, тъмният режим отминава)
- Не е глобален (трябва да го активирате за всяко приложение поотделно)
- Тя изисква инжектиране на код, поради което трябва да деактивирате SIP, ако искате да го използвате в определени системни приложения

Предварителни изисквания:
- OS X El Capitan или по-нова версия
- Инсталирани инструменти за Xcode и команден ред
- SIP деактивиран, ако искате да го използвате в определени системни приложения

Отказ от отговорност 1: Моля, имайте предвид, че макар да имам деактивиран SIP на машината си, не го препоръчвам на никого, това е важна защитна характеристика и трябва да го деактивирате само ако знаете последствията.

Отказ от отговорност 2: Не нося отговорност за никакви проблеми, с които може да се сблъскате, докато изпробвате това. Ако компютърът ви взриви, не съм виновен.

Тествах това успешно със системни предпочитания, редактиране на текст, Finder и Safari. Колкото по-стандартната система контролира приложението, толкова по-добре ще поддържа тъмен режим (повече за това по-късно).

Изтеглете този zip файл и го извлечете в ~ / Библиотека / Услуги.

Сега отворете приложението, към което искате да приложите тъмен режим, в менюто изберете менюто на приложението> Услуги> Прилагане на тъмен режим.

След няколко секунди приложението трябва да е тъмно.

Докато приложението не бъде прекратено, всички негови прозорци ще приемат тъмния вид, за да деактивират тъмния вид, просто рестартирайте приложението. Ако сте го приложили към Finder, можете да го рестартирате, като стартирате killall Finder на Terminal.

Как работи?

Единственият ми пакет от кодове е да прилагам външен вид, наречен DarkAppearance на всички прозорци и UI контроли на активното приложение. Тази поява за първи път се появи на Yosemite и се намира в /System/Library/CoreServices/SystemAppearance.bundle/Contents/Resources/DarkAppearance.car. Ако искате да видите какво има в този файл, можете да използвате моето приложение Asset Catalog Tinkerer.

DarkAppearance се зарежда в каталога на активите Tinkerer, показващ активи за тъмните контроли, всички вградени в системните контроли имат тъмни версии.

Имах идеята да тествам това, след като гледах сесията „Crafting Modern Cocoa Apps“ от тазгодишния WWDC. Когато говори за системни изяви, презентаторът каза на разработчиците, че трябва да използват възможно най-много вградени контроли, за да накарат приложенията им да се адаптират към различни системни изяви. Ето защо от всички приложения, с които съм тествал това, System Preferences е този, който по-добре се адаптира към тъмен режим: използва само стандартни системни контроли.