Программное изменение строки меню OS X

Я искал решение сценария для изменения строки меню OS X на темную тему по умолчанию. Я знаю, что вы можете получить доступ к этому параметру, выбрав «Системные настройки»> «Общие»> «Использовать темную тему», но для меня открытие «Системных настроек» занимает слишком много времени. Кроме того, я обычно запускаю Flux ночью, но убиваю его днем, и Flux автоматически принудительно меняет строку меню на стиль освещения по умолчанию (вот почему я меняю его так часто, и почему мне нужно более быстрое решение) .

Я посмотрел man defaults на команды чтения / записи системы Apple OS X и, наконец, нашел соответствующий параметр:

$ defaults read "Apple Global Domain" AppleInterfaceStyle

возвращается либо

Dark

если установлен темный стиль, или

The domain/default pair of (kCFPreferencesAnyApplication, AppleInterfaceStyle) does not exist

если это не так (что кажется странным, по умолчанию будет просто пустой атрибут).

Итак, я попробовал:

$ defaults write "Apple Global Domain" AppleInterfaceStyle Dark

Эта команда «работает» (она возвращается без ошибок, код выхода 0, попытка defaults read утверждает, что установлена ​​«темная» тема), но не меняет визуально строку меню или стиль Шерлока на темную тему. Когда я проверяю Системные настройки> Общие, флажок все еще не установлен: даже повторный запуск Finder не перерисовывает строку меню с темной темой.

Есть ли другая команда, которую я должен использовать вместо этого? Я проверил defaults domains, но, похоже, нет других релевантных доменов, которые мне следовало бы изменять. Есть ли команда для принудительной перерисовки Finder, о которой я не знаю? Или это безнадежное дело?

Спасибо!


person APaul    schedule 19.08.2016    source источник


Ответы (1)


Для этого можно использовать AppleScript:

Вот команда для использования в Терминале (эта команда переключает между нормальным и темным режимами):

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

Другое решение:

  • См. эту страницу, чтобы включите сочетание клавиш (Command + Option + Control + t) для переключения между темным и светлым режимами.
person jackjr300    schedule 19.08.2016
comment
Спасибо! В итоге я стал использовать сочетание клавиш, потому что его было проще использовать чаще. - person APaul; 23.08.2016