コンテンツへスキップ

ブライトネス値を再現する方法

macOSは個人的には非常に体に馴染んだ使いやすいOSだと確信しているのですが、とは言ってもパーフェクトではありません。足りない機能やうまく動いてくれない面も常に抱えています。中期的に見ると改善はしている方向性にはありますが、短期的に見れば「macOSはダメだ」と安直に判断しかねない面もあります。足りないところはユーザーが各種仕組みを使って解決するのが本来のコンピュータとの接し方であることは改めて主張しておきたいところです。
さて、私が足りないと感じている機能の一つがMacBook Proのディスプレイブライトネスの値が正確に数値でいつでも再現できないところです。モニターの校正をする際には、ターゲットの環境に合わせてディスプレイ面の輝度を設定します。しかし、その後その明るさを再現するにも手立てがmacOSには用意されていません。そんな時には、AppleScriptの登場です。

AppleScriptは今も健在です

私の環境は最新版の10.15.2でこの記事を書いていますが、もしかしてAppleScriptと聞くとなぜ今更そんな古風な仕組みを使うのか?という印象を持たれる方が少なくないのではと心配してしまいます。または、そもそも「それ、何もの?」みたいな方も多いかもしれません。

AppleScriptは、歴史が長いmacOSの中だけで動くスクリプト環境です。プログラミング言語の一種なのでソースコードを必要としますが、文体が英語の文章を書くような厳格さをゆるくした構文です。そのために曖昧に感じるところが多々あって苦労することになるのですがね(笑)。これを利用すれば、日常的にマウスやキーボードを使って行っている操作を自動化できます。コンピュータの中の操作で繰り返し人力でやっていることがあれば、それは何らかの手段を使って自動化するように改善するのが私のMacライフの方向性です。

ブライトネス設定の仕組み

前説が長かったですが、下記に示したソースをmacOSのScript Editor.appの中にペーストしてアプリケーション形式で保存します。初回起動時のみ設定がありますが、2回目以降は一般的なツールと同じように手軽に使えます。

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

delay 0.5

tell application "System Events"
tell process "System Preferences"
tell group 1 of tab group 1 of window 1
set value of slider "Brightness:" to 0.75 as real
end tell
delay 1
tell application "System Preferences" to quit
end tell
end tell

初回の起動時にはこのようなアラートが出てくるのでOKで進みます。次のアラートは自動化するためにはセキュリティをアプリごとに解除する必要があり、実行しても大丈夫か?と問いかけているわけです。自作のスクリプトなので安全ですから、セキュリティはゆるくしても安全です。システム環境設定のPrivacyの中のAccessibilityのリストの中にアプリのアイコンをドロップしてチェックを入れておけば初回起動時の設定は完了です。

2回目以降では、自動的にシステム環境設定が起動してディスプレイが開きます。その中にあるブライトネスのスライダに0.75をセットします。この値は固定値なので使う方の好みで変更してください。もし起動する時によって値を変更したい場合には、起動時に値を入力する方法はありますが、今回はソースコードには盛り込みませんでした。

手前味噌ですが

実はこのような目的のために以前から小さなアプリケーションを作っていました。その名はBrival。ブライトネスバリューを操作するのでこのようなネーミングです。最新版はこちらから入手できます。去年まではAppStoreで$3で販売していましたが、今年からは公開は終了して、自前で無償版に変更して公開することにしました。Brivalにはシステム環境設定側のスライダを制御する機能は盛り込めなかったので、今回紹介したような他の方法が必要です。AppleScriptを使った方法はそのひとつです。

日常でブライトネスの設定で苦労されていた方はお試しください。またうまく動かないなどあればコメントいただければ可能な範囲で対応します。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

%d人のブロガーが「いいね」をつけました。