Jadi saya tahu saya bisa menggunakannya open /System/Library/PreferencePanes/Keyboard.prefPane
untuk membuka preferensi Keyboard. Tetapi bagaimana saya bisa membuka tab 'Pintasan' secara khusus?
sumber
Jadi saya tahu saya bisa menggunakannya open /System/Library/PreferencePanes/Keyboard.prefPane
untuk membuka preferensi Keyboard. Tetapi bagaimana saya bisa membuka tab 'Pintasan' secara khusus?
Anda dapat menggunakan AppleScript dari Terminal menggunakan osascript:
osascript -e "tell application \"System Preferences\"" -e "set the current pane to pane id \"com.apple.preference.keyboard\"" -e "reveal anchor \" pintasTab \ "of pane id \" com.apple.preference.keyboard \ "" -e "aktifkan" -e "end tell"
Ganti ‘shortcutsTab’ dengan salah satu T keyboardTab ’,‘ InputSources ’,‘ shortcutsTab ’,‘ Text ’,‘ Dictation ’atau‘ keyboardTab_ModifierKeys ’untuk mengubah tab yang dibuka.
Untuk menemukan daftar tab yang tersedia di panel preferensi lain, gunakan
osascript -e "tell application \"System Preferences\"" -e "set the current pane to pane id \"com.apple.preference. nama \ "" -e "dapatkan nama setiap jangkar panel id \" com.apple.preference. nama "" -e "dan katakan"
di mana ‘nama’ adalah nama panel preferensi.
Untuk memilih kategori pintasan tertentu, Anda dapat menggunakan Acara Sistem untuk memilih baris dari tabel kiri.
osascript -e "tell application \"System Preferences\"" \ -e "set the current pane to pane id \"com.apple.preference.keyboard\"" \ -e "reveal anchor \"shortcutsTab\" of pane id \"com.apple.preference.keyboard\"" \ -e "end tell" \ -e "tell application \"System Events\"" \ -e "tell application process \"System Preferences\"" \ -e "repeat while not (window 1 exists)" \ -e "end repeat" \ -e "tell window 1" \ -e "repeat while not (row 1 of table 1 of scroll area 1 of splitter group 1 of tab group 1 exists)" \ -e "end repeat" \ -e "select row saya dari tabel 1 area gulir 1 grup pembagi 1 grup tab 1 "\ -e "end tell" " -e "end tell" " -e "end tell" " -e "beri tahu aplikasi \" System Preferences \ "" \ -e "aktifkan" \ -e "akhiri"
‘I’ adalah indeks (dihitung dari 1) dari baris di kolom kiri tab panel preferensi. Baris baru (menggunakan ‘\’ pada baris sebelumnya) dan spasi putih di luar tanda bicara hanya untuk memformat dan dapat dihilangkan.
Hati-hati dengan penggunaan 'repeat while not' yang menunggu System Preferences untuk membuka halaman yang diperlukan, namun ini membekukan kode sampai saat itu, dan jika System Preferences disibukkan dengan hal lain seperti masuk ke iCloud yang bisa ' t terganggu, ini akan membeku sampai Anda berhenti secara manual.
get the name of every anchor of pane id "com.apple.preference.name
applescript juga?Lebih jauh ke jawaban dari @grgarside (saya tidak memiliki reputasi yang cukup untuk memposting ini sebagai komentar, maaf) tidak semua ID cocok dengan pola
com.apple.preference.name
(Yang membuatku tersandung untuk sementara waktu).Pada macOS Sierra (10.12.2) ada 19 ID panel preferensi yang cocok dengan pola itu, 8 yang cocok dengan pola
com.apple.preferences.name
(perhatikan s) dan dua outlier (com.apple.prefs.backup
dancom.apple.Localization
).Untuk mendapatkan ID dari panel saat ini (yang sudah Anda buka di System Preferences) gunakan:
Untuk mendapatkan setiap ID yang tersedia, gunakan:
sumber