Jeśli chcesz używać AppleScript do automatyzacji zmiany zestawu preferencji systemowych, wybierz Przewodnik językowy AppleScript gdzie zacząć się uczyć korzystania z AppleScript.
Tak daleko jak " lista referencyjna skryptowych elementów konfiguracji „Wspomniałeś w swoich komentarzach, według mojej wiedzy, nie ma zunifikowanej listy referencyjnej elementów w Preferencjach systemowych, które można skonfigurować za pomocą skryptów interfejsu AppleScript UI. i zapytanie o interfejs użytkownika za pośrednictwem zdarzeń systemowych i UI elements
aby uzyskać właściwości obiektu i ich hierarchię.
Przykłady:
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"
Jeśli masz zainstalowany Xcode, możesz użyć Inspektora ułatwień dostępu, aby uzyskać informacje o elementach interfejsu użytkownika i ich hierarchii.
Każdy proces aplikacji, który ma swój has scripting terminology
własność Ustawić true
powinien mieć słownik AppleScript, który można otworzyć z edytora skryptów & gt; Okno & gt; Biblioteka, a następnie prześledzić, aby zobaczyć, co jest dostępne do bezpośredniego skryptu z danej aplikacji.
Po uruchomieniu danej aplikacji, jeśli uruchomisz następujące polecenie w Edytorze skryptów, np.
tell application "System Events" to get has scripting terminology of process "System Preferences"
Wraca true
jednak w przypadku „Preferencji systemowych” istnieje mały zestaw poleceń, z których można korzystać bezpośrednio, jednak aby wprowadzić niektóre zmiany ustawień, o których wspomniałeś w OP, używając AppleScript, musisz użyć skryptów interfejsu użytkownika.
Jak widać w poniższym przykładzie kodu AppleScript, w większości wykorzystuje on skrypty interfejsu użytkownika, ale robi to bez konieczności wyświetlania interfejsu użytkownika preferencji systemowych. Podstawowym problemem związanym ze skryptami interfejsu użytkownika może być dodanie odpowiedniego delay
polecenia w razie potrzeby w niektórych miejscach. To przychodzi z doświadczeniem, ale także z koniecznością, gdy uruchamiasz skrypt, np. w edytorze skryptów, a to się nie powiedzie. Wstawianie delay
i właściwe wartość ponieważ z czasem staje się drugą naturą programowania skryptów interfejsu użytkownika.
Oto przykładowy kod AppleScript, który może okazać się przydatny w osiągnięciu celu automatyzacji ustawień dla nowego użytkownika.
Należy pamiętać, że podczas gdy działało to w moim systemie z systemem MacOS 10.12.5, tak jak jest i bez problemu, YMMY i niektóre korekty mogą wymagać wprowadzenia i / lub dodatkowej obsługi błędów itp.
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