Si desea utilizar AppleScript para automatizar el cambio de un conjunto de preferencias del sistema, entonces La Guía del lenguaje de AppleScript es el punto de partida para aprender a usar AppleScript.
En cuanto a " una lista de referencia de elementos de configuración de secuencias de comandos " que mencionó en sus comentarios, según tengo entendido, no hay una lista de referencia unificada de elementos en las Preferencias del sistema que pueda configurarse mediante la interfaz de usuario de AppleScript Scripting. La lista, en sí misma, está justo frente a usted, es la propia interfaz de usuario de Preferencias del sistema y la consulta de la interfaz de usuario 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 Xcode instalado, 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 tenga su has scripting terminology
propiedad establecida en true
debería tener un Diccionario AppleScript que pueda abrir desde el Editor de secuencias de comandos > Ventana > Biblioteca y luego lea detenidamente para ver qué hay disponible para realizar una secuencia de comandos directamente con esa aplicación dada.
Con una aplicación determinada en ejecución si ejecuta el siguiente comando en el Editor de secuencias de comandos, por ejemplo,
tell application "System Events" to get has scripting terminology of process "System Preferences"
Devuelve 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, utilizando AppleScript, Necesito usar UI Scripting.
Como puede ver en el ejemplo del código de AppleScript a continuación, en su mayor parte utiliza scripts de UI, pero lo hace sin tener que tener visible la IU de Preferencias del Sistema. El problema principal con el UI Scripting puede ser agregar los comandos delay
según sea necesario en algunos lugares. Esto viene con experiencia pero también con necesidad cuando ejecuta un script, por ejemplo. en el editor de secuencias de comandos, y se produce un error. Insertar el delay
y el valor apropiado para que se convierta en una segunda naturaleza con el tiempo en la programación de las 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 aunque esto funcionó en mi sistema ejecutando macOS 10.12.5 tal como está y sin problemas, es posible que sea necesario realizar YMMY y algunos ajustes y / o manejo de errores adicionales, 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