Как увеличить размер курсора программно?

3

Как программно увеличить размер курсора? я знаю как сделать это вручную , Есть ли скрипт, который может сделать это из командной строки, а не AppleScript, который делает это из графического интерфейса.

Зачем?

Я делаю много настроек для своего Mac, но я также постоянно создаю новых пользователей. Чтобы сэкономить время, я хотел бы программно достичь определенных настроек.

abbood
источник

Ответы:

3

К сожалению командная строка defaults, которые могут read и или write значение из mouseDriverCursorSize ключ в com.apple.universalaccess .plist файл, write команда например, defaults write com.apple.universalaccess mouseDriverCursorSize 2.5 не вступает в силу немедленно и может быть перезаписано до того, как изменения вступят в силу. Обратите внимание mouseDriverCursorSize ключ в com.apple.universalaccess .plist файл не существует, если значение по умолчанию ранее был изменен.

Пока ты сказал, что не хочешь идти графический интерфейс пользователя маршрут, например AppleScript как насчет того, чтобы разделить разницу и сделать это из командная строка с помощью osascript обрабатывать AppleScript код , который делает изменение от Системные настройки , но без перерыва посредством Системные настройки UI , На самом деле, предполагая, что Системные настройки Dock Tile все еще присутствует, как и по умолчанию, все, что вы увидите, это Системные настройки Dock Tile отказов один раз, и нет Системные настройки UI , (Это предполагает, что это не было открыто с самого начала.)

Если это приемлемо тогда следующее AppleScript код сохранен как исполняемый файл командной строки сделаем работу:

  • Замечания: значение показано для theCursorSize это то, что моя система в настоящее время настроена на.
#!/usr/bin/osascript

    -- # set theCursorSize between 1.0 and 4 (Valid intermediate values may run out 12 decimal places.)

set theCursorSize to 1.388884782791

    -- # Get the system minor version number, as an integer.

set theSystemVersion to system version of (system info)
set TID to AppleScript's text item delimiters
set AppleScript's text item delimiters to {"."}
set theMinorSystemVersion to text item 2 of theSystemVersion as integer
set AppleScript's text item delimiters to TID

    -- # Change the size of the mouse cursor.

tell application "System Preferences"
    reveal anchor "Seeing_Display" of pane id "com.apple.preference.universalaccess"
    delay 0.5   -- # Modify as/if necessary. Value is in seconds as a decimal number.
    tell application "System Events"
        if theMinorSystemVersion is equal to 8 then
            set value of value indicator 1 of slider 2 of group 1 of window "Accessibility" of application process "System Preferences" to theCursorSize
        else if theMinorSystemVersion is equal to 9 then
            set value of value indicator 1 of slider 2 of window "Accessibility" of application process "System Preferences" to theCursorSize
        else if theMinorSystemVersion is greater than 9 and theMinorSystemVersion is less than 13 then
            set value of value indicator 1 of slider 1 of window "Accessibility" of application process "System Preferences" to theCursorSize
        end if
    end tell
    quit
end tell

Замечания: Как закодировано, это скрипт работает с OS X 10.8 через macOS 10.12 , Я не проверял это под macOS High Sierra Однако, если ничего не изменилось между macOS 10.12 а также macOS 10.13 с этим конкретным объект тогда less than 13 then сегмент кода можно изменить на less than 14 thenили, если вы предпочитаете, сократить код чтобы просто:

else if theMinorSystemVersion is greater than 9 then

Чтобы создать исполняемый файл командной строки , содержащий вышеуказанное AppleScript код выполните следующие действия в Терминал :

touch cmcs
open cmcs
  • Скопируйте и вставьте выше AppleScript код в открытый cmcs документ.
  • Установить значение из theCursorSize на ваш предпочтительный размер курсора.
  • Сохраните документ, нажав: ⌘S

Вернуться в Терминал , делать cmcs исполнимый :

chmod u+x cmcs

Теперь cmcs исполняемый файл командной строки можно выполнить, набрав: ./cmcs

  • Замечания: Если вы разместите cmcs исполняемый файл командной строки в месте, определенном в пределах PATH переменная окружения Вы можете опустить ведущий ./и или необходимость ввода /path/to/cmcs, Также обратите внимание, что наименование, cmcs для изменить размер курсора мыши и может быть любым, каким вы хотите, чтобы было иначе.

Дополнительные примечания:

значение из mouseDriverCursorSize ключ в com.apple.universalaccess .plist файл хранится с округлением до шестого знака после запятой, например, 1.388884782791 сохраняется как 1.388885

Чтобы получить полный значение , в Редактор скриптов , запустите следующее скрипт :

set theSystemVersion to system version of (system info)
set TID to AppleScript's text item delimiters
set AppleScript's text item delimiters to {"."}
set theMinorSystemVersion to text item 2 of theSystemVersion as integer
set AppleScript's text item delimiters to TID

tell application "System Preferences"
    reveal anchor "Seeing_Display" of pane id "com.apple.preference.universalaccess"
    delay 0.5 -- # Modify as/if necessary. Value is in seconds as a decimal number.
    tell application "System Events"
        if theMinorSystemVersion is equal to 8 then
            get value of value indicator 1 of slider 2 of group 1 of window "Accessibility" of application process "System Preferences"
        else if theMinorSystemVersion is equal to 9 then
            get value of value indicator 1 of slider 2 of window "Accessibility" of application process "System Preferences"
        else if theMinorSystemVersion is greater than 9 and theMinorSystemVersion is less than 13 then
            get value of value indicator 1 of slider 1 of window "Accessibility" of application process "System Preferences"
        end if
    end tell
    quit
end tell

Обновление по адресу комментарий:

Если вы хотите запустить это каждый раз пользователь входит в Я бы сделал следующее:

В Automator создать новый Рабочий процесс приложения и добавить Запустите AppleScript действие к этому.

в Запустите AppleScript действие заменить (* Your script goes here *) а также return input со всеми, кроме притон ( #!/usr/bin/osascript ) первого AppleScript код , притон не является необходимым, так как это выполняется в Запустите AppleScript действие против Запустить Shell Script действие ,

Спасти Automator Рабочий процесс приложения как например Установить размер курсора мыши в /Приложения папка.

В Системные настройки , сделай две вещи ...

  • В Пользователи & amp; группы & GT; Выбрать цель пользователь & GT; Элементы входа и добавить Установить размер курсора мыши к списку Элементы входа ,

  • В Безопасность & amp; Конфиденциальность & GT; Конфиденциальность & GT; доступность , добавлять Установить размер курсора мыши к Разрешить приложениям ниже управлять вашим компьютером список.

    • Примечание: выше для OS X 10.9 и позже. Для OS X 10.8, доступность а также проверять Включить доступ для вспомогательных устройств флажок ,

Тогда каждый раз пользователь входит в , Установить размер курсора мыши будет работать и делать, как запрограммировано.

user3439894
источник
один комментарий: вы даете мне исполняемый скрипт ... но есть ли способ заставить этот скрипт выполняться по умолчанию при каждом входе пользователя в систему или что-то в этом роде? то есть, точно так же, как мой ~ / .bash_profile выполняет и делает мой терминал красочным и т. д. Есть ли способ заставить этот скрипт выполняться автоматически?
abbood
@abbood, пожалуйста, посмотрите Обновление по адресу комментарий: раздел. добавлено внизу оригинального ответа. чтобы ответить на ваш комментарий.
user3439894
вот следующий вопрос: apple.stackexchange.com/questions/299118/...
abbood