¿Dónde está la referencia para saber cómo personalizar el comportamiento de mac [cerrado]

-3

Fondo

Esta pregunta pregunta cómo cambiar el tamaño del cursor mediante programación. De hecho, tengo una larga lista de elementos que me gustaría personalizar cada vez que creo un nuevo usuario en mac, y no estoy seguro de dónde encontrar la referencia para cada uno (es decir, para cambiarlos mediante programación)

Tengo macos sierra versión 10.12.6

la lista incluye:

  • haciendo que el mouse no se desplace naturalmente
  • hacer que el documento se oculte automáticamente
  • establece el valor mínimo / máximo de los íconos de la aplicación en ciertos valores como se muestra aquí:

  • eliminetodoslosíconosdeaplicacionespredeterminadosdeldocumentocomosemuestraaquí

  • cómodoseliminanelaccesodirectoEspacioparalabúsquedadeSpotlightcomosemuestraaquí:

  • etc

Pregunta

¿Puede alguien, por favor, mostrarme dónde puedo encontrar una referencia oficial en línea donde pueda averiguar dónde puedo programar tales cosas?

    
pregunta abbood 20.09.2017 - 20:44

1 respuesta

1

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
    
respondido por el user3439894 21.09.2017 - 11:06

Lea otras preguntas en las etiquetas