Dove si trova il riferimento per scoprire come personalizzare il comportamento mac [chiuso]

-3

Sfondo

Questa domanda chiede come modificare a livello di codice la dimensione del cursore. In realtà ho una lunga lista di elementi che vorrei personalizzare ogni volta che creo un nuovo utente su mac, e non sono sicuro di dove trovare il riferimento per ciascuno (cioè per cambiarli a livello di codice)

Ho macos sierra versione 10.12.6

l'elenco include:

  • facendo in modo che il mouse non scorra in modo naturale
  • fai nascondere automaticamente il documento
  • imposta il valore minimo / massimo delle icone dell'app su determinati valori come illustrato qui:

  • rimuovitutteleiconedelleapppredefinitedaldocumentocomeillustratoqui

  • inchemodorimuoverelascorciatoiaSpazioperlaricercaspotlightcomeillustratoqui:

  • etc

Domanda

Qualcuno può mostrarmi dove posso trovare un riferimento ufficiale online dove posso scoprire dove posso programmare queste cose?

    
posta abbood 20.09.2017 - 20:44
fonte

1 risposta

1

Se desideri utilizzare AppleScript per automatizzare la modifica di una serie di preferenze di sistema, allora AppleScript Language Guide è il punto di partenza per imparare a utilizzare AppleScript.

Per quanto riguarda " un elenco di riferimento di elementi di configurazione scriptable " menzionato nei commenti, per quanto ne so, non esiste un elenco di riferimento unificato di elementi in Preferenze di sistema che possono essere configurati utilizzando l'interfaccia utente di AppleScript Scripting. L'elenco, di per sé, è proprio di fronte a te, è l'intera UI delle Preferenze di Sistema e l'interrogazione dell'interfaccia utente tramite Eventi di sistema e UI elements per ottenere le proprietà dell'oggetto e la loro gerarchia.

Esempi:

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"

Se hai installato Xcode, puoi utilizzare Accessibility Inspector per ottenere informazioni sugli elementi dell'interfaccia utente e sulla loro gerarchia.

Qualsiasi processo di applicazione che ha la sua has scripting terminology proprietà impostata su true dovrebbe avere un dizionario AppleScript che puoi aprire da Script Editor > Window > Libreria e poi esaminare per vedere ciò che è disponibile per lo script direttamente con quella determinata applicazione.

Con una determinata app in esecuzione se si esegue il seguente comando in Script Editor, ad es.

tell application "System Events" to get has scripting terminology of process "System Preferences"

Restituisce true , tuttavia nel caso di "Preferenze di Sistema" c'è un piccolo insieme di comandi che puoi usare direttamente con esso, tuttavia per fare alcune delle modifiche alle impostazioni che menzioni nel tuo OP, usando AppleScript, tu è necessario utilizzare UI Scripting.

Come puoi vedere dal codice AppleScript di esempio di seguito, nella maggior parte dei casi utilizza UI Scripting ma lo fa senza dover visualizzare l'interfaccia utente delle Preferenze di sistema. Il problema principale con UI Scripting può aggiungere delay appropriati comandi come necessario in alcuni punti. Questo viene fornito con esperienza ma anche con necessità quando si esegue uno script, ad es. in Script Editor, ed errori. Inserire la delay e il valore appropriato per esso diventa una seconda natura con il tempo nella programmazione di UI Scripting.

Ecco un esempio di codice AppleScript, che potresti trovare utile per raggiungere il tuo obiettivo di automatizzare le impostazioni per un nuovo utente.

Si noti che mentre questo ha funzionato sul mio sistema con macOS 10.12.5 così com'è e senza problemi, YMMY e alcune regolazioni potrebbero dover essere apportate eo gestione degli errori aggiuntiva, ecc.

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
    
risposta data 21.09.2017 - 11:06
fonte

Leggi altre domande sui tag