macOS 14RCをさわって「システム設定」をAppleScriptから操作し、目的のPaneをIDで指定して表示できることを確認しました。
macOS 13に戻ってきて資料を作成(macOS 14を信用していないので)。「macOS 13でも動いてみたりして?」と、冗談半分にmacOS 14用のScriptを走らせたら……動いてしまいました。
各PaneのIDやnameを取得でき、指定IDのPaneを表示でき、現在表示中のPaneの情報を取得できます。
厳密に「いつから」この状態になっていたのかは不明ですが、macOS 13.5あたりでしょうか? 自分の環境はmacOS 13.6betaなので、13.5/13.5.1の状況は確認のしようがありませんが、OSのマイナーバージョンアップ時にこうしたまともな改修を行うなんて、前代未聞です。よほど、全世界的に文句を言われたのでしょう。
name | ID |
(ユーザーの名前) | com.apple.systempreferences.AppleIDSettings*AppleIDSettings |
ファミリー | com.apple.Family-Settings.extension*Family |
Wi‑Fi | com.apple.wifi-settings-extension |
Bluetooth | com.apple.BluetoothSettings |
ネットワーク | com.apple.Network-Settings.extension |
VPN | com.apple.NetworkExtensionSettingsUI.NESettingsUIExtension |
通知 | com.apple.Notifications-Settings.extension |
サウンド | com.apple.Sound-Settings.extension |
集中モード | com.apple.Focus-Settings.extension |
スクリーンタイム | com.apple.Screen-Time-Settings.extension |
一般 | com.apple.systempreferences.GeneralSettings |
外観 | com.apple.Appearance-Settings.extension |
アクセシビリティ | com.apple.Accessibility-Settings.extension |
コントロールセンター | com.apple.ControlCenter-Settings.extension |
SiriとSpotlight | com.apple.Siri-Settings.extension |
プライバシーとセキュリティ | com.apple.settings.PrivacySecurity.extension |
デスクトップとDock | com.apple.Desktop-Settings.extension |
ディスプレイ | com.apple.Displays-Settings.extension |
壁紙 | com.apple.Wallpaper-Settings.extension |
スクリーンセーバ | com.apple.ScreenSaver-Settings.extension |
省エネルギー | com.apple.Battery-Settings.extension*EnergySaverPreferences |
ロック画面 | com.apple.Lock-Screen-Settings.extension |
ログインパスワード | com.apple.Touch-ID-Settings.extension*TouchIDPasswordPrefs |
ユーザとグループ | com.apple.Users-Groups-Settings.extension |
パスワード | com.apple.Passwords-Settings.extension |
インターネットアカウント | com.apple.Internet-Accounts-Settings.extension |
Game Center | com.apple.Game-Center-Settings.extension |
キーボード | com.apple.Keyboard-Settings.extension |
マウス | com.apple.Mouse-Settings.extension |
ゲームコントローラ | com.apple.Game-Controller-Settings.extension |
プリンタとスキャナ | com.apple.Print-Scan-Settings.extension |
AppleScript名:すべてのPaneの情報を取得.scpt |
tell application "System Settings" set aList to properties of every pane –> {{class:pane, name:"外観", id:"com.apple.Appearance-Settings.extension"}, {class:pane, name:"ロック画面", id:"com.apple.Lock-Screen-Settings.extension"}, {class:pane, name:"キーボード", id:"com.apple.Keyboard-Settings.extension"}, {class:pane, name:"ファミリー", id:"com.apple.Family-Settings.extension*Family"}, {class:pane, name:"Wi‑Fi", id:"com.apple.wifi-settings-extension"}, {class:pane, name:"デスクトップとDock", id:"com.apple.Desktop-Settings.extension"}, {class:pane, name:"Bluetooth", id:"com.apple.BluetoothSettings"}, {class:pane, name:"壁紙", id:"com.apple.Wallpaper-Settings.extension"}, {class:pane, name:"SiriとSpotlight", id:"com.apple.Siri-Settings.extension"}, {class:pane, name:"マウス", id:"com.apple.Mouse-Settings.extension"}, {class:pane, name:"プライバシーとセキュリティ", id:"com.apple.settings.PrivacySecurity.extension"}, {class:pane, name:"機能拡張", id:"com.apple.ExtensionsPreferences"}, {class:pane, name:"プロファイル", id:"com.apple.Profiles-Settings.extension"}, {class:pane, name:"省エネルギー", id:"com.apple.Battery-Settings.extension*EnergySaverPreferences"}, {class:pane, name:"一般", id:"com.apple.systempreferences.GeneralSettings"}, {class:pane, name:"情報", id:"com.apple.SystemProfiler.AboutExtension"}, {class:pane, name:"ソフトウェアアップデート", id:"com.apple.Software-Update-Settings.extension"}, {class:pane, name:"ストレージ", id:"com.apple.settings.Storage"}, {class:pane, name:"AirDropとHandoff", id:"com.apple.AirDrop-Handoff-Settings.extension"}, {class:pane, name:"ログイン項目", id:"com.apple.LoginItems-Settings.extension"}, {class:pane, name:"言語と地域", id:"com.apple.Localization-Settings.extension"}, {class:pane, name:"日付と時刻", id:"com.apple.Date-Time-Settings.extension"}, {class:pane, name:"共有", id:"com.apple.Sharing-Settings.extension"}, {class:pane, name:"Time Machine", id:"com.apple.Time-Machine-Settings.extension"}, {class:pane, name:"転送またはリセット", id:"com.apple.Transfer-Reset-Settings.extension"}, {class:pane, name:"起動ディスク", id:"com.apple.Startup-Disk-Settings.extension"}, {class:pane, name:"集中モード", id:"com.apple.Focus-Settings.extension"}, {class:pane, name:"ゲームコントローラ", id:"com.apple.Game-Controller-Settings.extension"}, {class:pane, name:"スクリーンタイム", id:"com.apple.Screen-Time-Settings.extension"}, {class:pane, name:"長野谷隆昌", id:"com.apple.systempreferences.AppleIDSettings*AppleIDSettings"}, {class:pane, name:"VPN", id:"com.apple.NetworkExtensionSettingsUI.NESettingsUIExtension"}, {class:pane, name:"ディスプレイ", id:"com.apple.Displays-Settings.extension"}, {class:pane, name:"プリンタとスキャナ", id:"com.apple.Print-Scan-Settings.extension"}, {class:pane, name:"Game Center", id:"com.apple.Game-Center-Settings.extension"}, {class:pane, name:"インターネットアカウント", id:"com.apple.Internet-Accounts-Settings.extension"}, {class:pane, name:"コントロールセンター", id:"com.apple.ControlCenter-Settings.extension"}, {class:pane, name:"ネットワーク", id:"com.apple.Network-Settings.extension"}, {class:pane, name:"スクリーンセーバ", id:"com.apple.ScreenSaver-Settings.extension"}, {class:pane, name:"アクセシビリティ", id:"com.apple.Accessibility-Settings.extension"}, {class:pane, name:"サウンド", id:"com.apple.Sound-Settings.extension"}, {class:pane, name:"ユーザとグループ", id:"com.apple.Users-Groups-Settings.extension"}, {class:pane, name:"パスワード", id:"com.apple.Passwords-Settings.extension"}, {class:pane, name:"通知", id:"com.apple.Notifications-Settings.extension"}, {class:pane, name:"ログインパスワード", id:"com.apple.Touch-ID-Settings.extension*TouchIDPasswordPrefs"}, {class:pane, name:"SwiftDefaultApps", id:"cl.fail.lordkamina.SwiftDefaultApps"}, {class:pane, name:"SwitchResX", id:"fr.madrau.switchresx.prefpane"}} end tell |
AppleScript名:現在表示中のPaneの情報を取得.scpt |
tell application "System Settings" set aList to properties of current pane –> {class:pane, name:"外観", id:"com.apple.Appearance-Settings.extension"} end tell |
AppleScript名:WiFiのPaneを表示.scpt |
tell application "System Settings" reveal pane id "com.apple.wifi-settings-extension" end tell |