LoginSignup
1
0

More than 5 years have passed since last update.

AppleScriptで画面を白黒・カラー反転表示する(メニューバーから実行可能)

Last updated at Posted at 2017-11-18

High Sierra対応。
2018-12-04追記:Mojave対応版
IMG_2509.jpg

  1. SystemUIServer.appによるコンピュータ制御を許可する。
  2. システム環境設定を操作して画面を白黒反転させるスクリプトを作る。
  3. 1.のスクリプトをメニューバーに登録する。

1. SystemUIServer.appによるコンピュータ制御を許可する

スクリプトによって画面を操作するには,
システム環境設定 -> セキュリティとプライバシー -> プライバシー -> アクセシビリティ
で,「下のアプリケーションにコンピュータの制御を許可」にUIを操作するアプリケーションを追加し有効にしておく必要がある。
メニューバーに登録したスクリプトから制御するため,SystemUIServer.appを登録しておく。
※SystemUIServer.appの場所:/System/Library/CoreServices/SystemUIServer.app

2. システム環境設定を操作して画面を白黒反転させるスクリプト

tell application "System Preferences"
    activate
    set current pane to pane "com.apple.preference.universalaccess"
    tell current pane
        reveal anchor "Seeing_Display"
    end tell
end tell

tell application "System Events"
    repeat 50 times #ハングアップ対策で,最大繰り返し回数を設定
        try
            tell group 1 of window 1 of process "System Preferences"
                click checkbox "カラーを反転"
                click checkbox "グレイスケールを使用"
                click checkbox "コントラストを上げる"
                click checkbox "カラー以外で区別"
            end tell
            exit repeat
        on error errMsg
            log ("ERROR: " & errMsg)
            delay 0.1
        end try
    end repeat
end tell

2018-12-04追記:
High SierraからMojaveになった際に,System Preferencesのメニュー構成が変更されたのか,window 1 of process "System Preferences"ではチェックボックスを取得できず,group1 of window 1 of process "System Preferences"から取り出すように変更しました。
ついでに,画面遷移が間に合っていない場合にエラーで終了していたので,repeatdelayを使って画面遷移を待つように変更しました。(イベントリスナー的な設計にできればベターなのですが…)

3. メニューバーへの登録

  1. スクリプトエディタ.appの 環境設定 -> 一般 で「メニューバーニスクリプトメニューを表示」にチェック
  2. メニューバーのスクリプトメニュー -> スクリプトフォルダを開く -> ユーザ・スクリプト・フォルダを開く で開かれるフォルダ(~/Library/Scripts/)に上記スクリプトを配置する。(※エイリアス可)
1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0