Si desea usar AppleScript para automatizar el cambio de un conjunto de preferencias del sistema, entonces la Guía del lenguaje AppleScript es donde comenzar a aprender cómo usar AppleScript.
En lo que respecta a " una lista de referencia de elementos de configuración programables " que mencionó en sus comentarios, que yo sepa, no hay una lista de referencia unificada de elementos en Preferencias del Sistema que se pueda configurar utilizando la secuencia de comandos UI de AppleScript. La lista, per se, está justo en frente de usted, es toda la IU de Preferencias del Sistema y la consulta de la IU a través de Eventos del Sistema y UI elements
para obtener las propiedades del objeto y su jerarquía.
Ejemplos:
tell application "System Events" to get every UI element of window 1 of application process "System Preferences"
tell application "System Events" to get properties of every UI element of window 1 of application process "System Preferences"
tell application "System Events" to get every UI element of scroll area 1 of window 1 of application process "System Preferences"
tell application "System Events" to get properties of every UI element of scroll area 1 of window 1 of application process "System Preferences"
Si tiene instalado Xcode, puede usar el Inspector de accesibilidad para obtener información sobre los elementos de la interfaz de usuario y su jerarquía.
Cualquier proceso de aplicación que tiene su has scripting terminology
propiedad conjunto a true
debe tener un diccionario de AppleScript que se puede abrir desde el Editor de secuencias> Ventana> Biblioteca y luego leer para ver lo que está disponible directamente a la escritura con la aplicación dada.
Con una aplicación determinada ejecutándose si ejecuta el siguiente comando en Script Editor, por ejemplo
tell application "System Events" to get has scripting terminology of process "System Preferences"
Regresa true
, sin embargo, en el caso de "Preferencias del sistema" hay un pequeño conjunto de comandos que puede usar directamente con él, sin embargo, para realizar algunos de los cambios de configuración que menciona en su OP, con AppleScript, debe usar secuencias de comandos de la interfaz de usuario.
Como puede ver en el ejemplo del código AppleScript a continuación, en su mayor parte utiliza secuencias de comandos de interfaz de usuario, pero lo hace sin tener que tener la interfaz de usuario de Preferencias del sistema visible. El problema principal con las secuencias de comandos de la interfaz de usuario puede ser agregar delay
comandos apropiados según sea necesario en algunos lugares. Esto viene con experiencia pero también con necesidad cuando ejecuta un script, por ejemplo, en Script Editor, y se produce un error. Insertar el valordelay
apropiado para él se convierte en una segunda naturaleza con el tiempo en la programación de secuencias de comandos de la interfaz de usuario.
Aquí hay un ejemplo de código AppleScript que puede ser útil para ayudarlo a lograr su objetivo de automatizar la configuración para un nuevo usuario.
Tenga en cuenta que si bien esto funcionó en mi sistema ejecutando macOS 10.12.5 tal como está y sin problemas, es posible que deba realizar YMMY y algunos ajustes y / o manejo adicional de errores, etc.
tell application "System Preferences"
if running then
quit
delay 0.5
end if
-- # General
reveal pane id "com.apple.preference.general"
delay 0.5
tell application "System Events"
-- # Automatically hide and show the menu bar
click checkbox 4 of window 1 of application process "System Preferences"
end tell
-- # Dock
reveal pane id "com.apple.preference.dock"
delay 0.5
tell application "System Events"
-- # Size (Valid values, 0.0 to 1.0)
set value of value indicator 1 of slider 1 of window 1 of application process "System Preferences" to 0.25
-- # Magnification
if value of checkbox "Magnification:" of window 1 of application process "System Preferences" is equal to 0 then
click checkbox "Magnification:" of window 1 of application process "System Preferences"
end if
-- # Min Max (Valid values, 0.0 to 1.0)
set value of value indicator 1 of slider 2 of window 1 of application process "System Preferences" to 1.0
-- # Automatically hide and show the Dock
click checkbox 2 of window 1 of application process "System Preferences"
end tell
tell current application
-- # Backup the original com.apple.dock.plist file before removing all default apps from the Dock.
do shell script "cp -a $HOME/Library/Preferences/com.apple.dock.plist $HOME/Library/Preferences/com.apple.dock.ORIGINAL.plist"
-- # Remove all default apps from the Dock. This removes everything but Finder and Trash, neither of which can be removed.
do shell script "defaults delete com.apple.dock persistent-apps; defaults delete com.apple.dock persistent-others; killall Dock"
-- # To restore the default Dock Tiles, use the following command.
-- do shell script "defaults delete com.apple.dock; killall Dock"
end tell
-- # The following commented code, between '(*' and '*)' directly manipulates the included Dock preferences.
-- # This is a more direct way then using the UI Scripting method on the Dock preferences above.
-- # See the System Events AppleScript Dictionary.
(*
tell application "System Events"
tell dock preferences
set minimize effect to genie
set magnification size to 1.0
set dock size to 0.5
set autohide to true
set animate to true
set magnification to true
set screen edge to bottom
end tell
end tell
*)
-- # Keyboard > Shortcuts
reveal anchor "shortcutsTab" of pane id "com.apple.preference.keyboard"
delay 0.5
tell application "System Events"
-- # Spotlight
select row 7 of table 1 of scroll area 1 of splitter group 1 of tab group 1 of window 1 of application process "System Preferences"
-- # Show Spotlight Search
click checkbox 1 of UI element 1 of row 1 of outline 1 of scroll area 2 of splitter group 1 of tab group 1 of window 1 of application process "System Preferences"
end tell
-- # Mouse
reveal pane id "com.apple.preference.mouse"
delay 0.5
tell application "System Events"
try
-- # Apple Magic Mouse
-- # Point & Click
click radio button 1 of tab group 1 of window 1 of application process "System Preferences"
-- # Scroll direction: Natural
click checkbox 1 of tab group 1 of window 1 of application process "System Preferences"
end try
try
-- # Generic Mouse
-- # Scroll direction: Natural
click checkbox 1 of window 1 of application process "System Preferences"
end try
end tell
quit
end tell
-- # Notify the User, changes have been made.
tell current application
display dialog "The custom settings have been applied." buttons {"OK"} default button 1 with icon note
end tell