AppleScriptでディスプレイ検出

※ 2014/12/09にQiitaに投稿した記事です。現在そのまま使えるかは不明です。

前提

Macって外部ディスプレイを接続しているのに認識しないことよくありますよね。そんな時はシステム環境設定でoptionを押すと「ディスプレイを検出」ボタンが出てきて、それを押すと認識されるということがしばしばあります。この「ディスプレイを検出」をスクリプトから実行するのが今回紹介するAppleScriptです。

f:id:miso_engine:20200326144038p:plain

optionを押すと、画面の右下に「ディスプレイを検出」ボタンが出現しますが、これをGUI操作のスクリプトで押してやります。

スクリプト

delayを挟んで3つのブロックがありますが、最後はシステム環境設定のウィンドウを閉じるパートなので、お好みで削除してください。

tell application "System Preferences"
    activate
    reveal pane "com.apple.preference.displays"
end tell

delay 0.5

tell application "System Events"
    tell process "System Preferences"
        try
            key down option
            delay 0.2
            click button "Detect Displays" of window 1
            delay 0.2
            key up option
        on error
            key up option
        end try
    end tell
end tell

delay 0.5

tell application "System Preferences"
    activate
    close window 1
end tell