Я предпочитаю оттенки серого, а не инвертирование цвета при работе в условиях низкой освещенности, а также в целом, так как это меньше напрягает глаза. Но слишком много кликов для переключения настроек. Я знаю, что для инвертирования цвета дисплея используется ярлык Cmd+ Alt+ Ctrl+ 8. И откройте параметры специальных возможностей с помощью Cmd+ Alt+ F5, но в параметрах нет оттенков серого. Прямо сейчас я открываю «Доступность» через Spotlight, затем выбираю «Показать и переключаю флажок». Мне интересно, есть ли для этого какая-либо комбинация клавиш? Если нет, то можно ли сделать сочетание клавиш.
В следующем примере кода AppleScript будет переключаться состояние флажка «Использовать оттенки серого» в специальных возможностях в разделе «Системные настройки» в OS X Yosemite (проверено в версии 10.10.4) независимо от того, что было последним выбрано в разделе «Специальные возможности», поскольку он указывает Системным настройкам открываться непосредственно в расположение флажка «Использовать оттенки серого» и переключить его состояние.
tell application "System Preferences"
reveal anchor "Seeing_Display" of pane id "com.apple.preference.universalaccess"
tell application "System Events" to tell front window of application process "System Preferences"
with timeout of 5 seconds
repeat until (exists checkbox "Use grayscale")
delay 0.1
end repeat
click checkbox "Use grayscale"
end timeout
end tell
quit
end tell
Следующая проблема заключается в том, как вы хотите его выполнить. Проблема, связанная с настройкой его в качестве службы через Automator для использования сочетания клавиш без использования сторонней утилиты, заключается в том, что каждое приложение, которое получает комбинацию клавиш быстрого доступа, должно иметь разрешение на это, и это становится проблемой, если вы только не выберете, например Искатель вместо всех приложений. Поэтому без сторонней утилиты я бы либо сохранил его как сценарий в папке Users Script, а затем получил к нему доступ из меню Script в строке меню Apple или как приложение.
Настройки меню «Сценарий» в строке меню Apple находятся в настройках редакторов сценариев. Затем всего два щелчка мыши в любое время, когда вы хотите переключить состояние флажка «Использовать оттенки серого». Один, чтобы щелкнуть меню «Сценарии», а другой, чтобы щелкнуть имя сценария.
Как приложение его можно поместить в Dock, а затем одним щелчком мыши в любое время, когда вы хотите переключить состояние флажка «Использовать оттенки серого».
В любом из этих двух случаев вам нужно будет дать разрешение в разделе «Доступность» на вкладке «Конфиденциальность» в разделе «Безопасность и конфиденциальность» в Системных настройках, чтобы запустить его успешно.
В качестве примечания: если вы используете такую программу, как FastScripts , вам нужно только использовать пример кода AppleScript в виде .scpt , сохраненного в редакторе сценариев , а не создавать службу Automator , используя обходной путь, упомянутый в комментарии, и можете назначить сочетание клавиш в Настройки для FastScripts . _
Обратите внимание, что я не связан с разработчиком FastScripts, а просто доволен пользователем.
killall Finder
и killall Dock
получить новый файл .icns для отображения или цикл выхода из системы/входа в систему.Я нашел старую дискуссию Apple по этому поводу, и пользователь, ответивший на вопрос, опубликовал файл AppleScript, который будет включать и выключать оттенки серого. Я изменил исходный код, чтобы он работал с OS X Yosemite.
Откройте «Редактор сценариев» и в новом документе вставьте следующее:
tell application "System Preferences" to activate
delay 1
tell application "System Events"
tell process "System Preferences"
click the menu item "Accessibility" of the menu "View" of menu bar 1
delay 0.5
click the checkbox "Use grayscale" of window "Accessibility"
end tell
end tell
tell application "System Preferences" to quit
Щелкните молоток, чтобы скомпилировать его, а затем сохраните, но там, где в диалоговом окне сохранения указано «Формат файла», выберите «Приложение».
Перед запуском этого кода убедитесь, что в разделе «Доступность» выбрано «Дисплей», как показано на изображении ниже. Как только это будет сделано, вы можете выйти из Системных настроек.
При первом запуске приложения произойдет сбой, и OS X спросит, хотите ли вы разрешить приложению управлять компьютером с помощью специальных возможностей. Разрешите доступ, закройте приложение и перезапустите его.
Иногда это не сработает и вылетит с сообщением об ошибке. Если это произойдет, просто перезапустите его, и он будет работать нормально.
РЕДАКТИРОВАТЬ: Это может помочь сделать его сочетанием клавиш: Ссылка
Я использовал сценарий из ответа @CreeperzEdge, и на моем компьютере была небольшая задержка. Я немного изменил этот скрипт на:
tell application "System Preferences" to reveal anchor "Seeing_Display" of pane id "com.apple.preference.universalaccess"
tell application "System Preferences"
activate
tell application "System Events" to tell process "System Preferences"
click the checkbox "Use grayscale" of window "Accessibility"
end tell
end tell
tell application "System Preferences" to quit
Как-то
tell application "System Preferences" to reveal anchor "Seeing_Display" of pane id "com.apple.preference.universalaccess"
быстрее, чем
tell application "System Preferences"
activate
reveal anchor "Seeing_Display" of pane id "com.apple.preference.universalaccess"
end tell
Мне был бы интересен чужой опыт.
delay 1
строки. Сохранил как приложение с ярлыком через сервис Automator .Я обнаружил, что 1-секундная задержка необходима, чтобы заставить его работать на меня.
tell application "System Preferences"
activate
reveal anchor "Seeing_Display" of pane "com.apple.preference.universalaccess"
delay 1
tell application "System Events" to tell process "System Preferences"
click the checkbox "Use grayscale" of window "Accessibility"
end tell
end tell
tell application "System Preferences" to quit
Я создал приложение, чтобы упростить этот процесс. Он позволяет переключать отображение в градациях серого из строки состояния. Это оболочка для AppleScript, упомянутого в ответах, написанных с использованием PyObjC. Я протестировал его для работы на macOS Mojave.
Вы можете скачать его отсюда . Исходный код здесь .
Примечание . Из-за ограничений Apple для работы приложению необходимы три вида разрешений: а) разрешить открытие приложения от неизвестного разработчика б) разрешить доступ к системным событиям. в) права доступа.
Для тех, кто сталкивается с этой веткой на более новом Mac, я изменил AppleScript, чтобы он справился с новым пользовательским интерфейсом вкладки:
tell application "System Preferences"
set the current pane to pane id "com.apple.preference.universalaccess"
delay 0.7 #needs time to open universal access
tell application "System Events" to tell process "System Preferences" to tell window "Accessibility"
select row 5 of table 1 of scroll area 1 #open display preferences
click radio button "Color Filters" of tab group 1 of group 1
click checkbox "Enable Color Filters" of tab group 1 of group 1
end tell
end tell
tell application "System Preferences" to quit
Я также создал приложение, которое выполняет эту задачу одним щелчком мыши: Оттенки серого . Если кто-то хочет, чтобы я сделал версию для более старых версий (High Sierra и старше), напишите комментарий к этому посту.
Туманность