macOS sierraから、「エネルギー消費が激しいアプリケーション」に「ディスプレイの輝度」が出るようになった。なんのことはない、75%以上だと、75%に下げてくれるという機能。
えーそれなら、普段から、さくっと75%に切り替えられるようにしたいー。と思って、いろいろ試してみた。
トライ1:Automatorで記録
⇒ メニューバー項目を拾っているだけ。機能しない。
トライ2:Automatorで、マウスクリックを記録
⇒ 遅くて格好悪いし、上手く動かないことも多い。
トライ3:Automatorで、AppleScriptを実行
⇒ うまくいかない(勘違いであることが後でわかる)
トライ4:AppleScriptで頑張る
⇒ かなりいろいろうまく行かなかったのだけれども
なんとかなった
on run {input, parameters}
tell application "System Preferences"
set current pane to pane "com.apple.preference.displays"
end tell
tell application "System Events"
if UI elements enabled then
tell process "System Preferences"
tell radio button "ディスプレイ" of tab group 1 of window 1 to if value is 0 then
repeat until value is 1
click
end repeat
end if
end tell
tell slider 1 of group 1 of tab group 1 of window 1 of application process "System Preferences"
set value to 0.75
end tell
quit application "System Preferences"
else
tell application "System Preferences"
activate
set current pane to pane "com.apple.preference.security"
display dialog "UI element スクリプティングが有効になっていません。 「プライバシー」タブの「下のアプリケーションにコンピュータの制御を許可」にチェックを入れて下さい。"
end tell
end if
end tell
return input
end run
苦労した備忘録ポイントは……
1)「UI element スクリプティングを有効」にするのは、今は「セキュリティとプライバシー」になっている。昔は「ユニバーサル」だったらしいんだけど。古い情報が多くて、意外とこれを発見するのに時間がかかった
2)上手く行くときとうまく行かないときがあって、その違いがわからず苦労。どうも「システム環境設定」で「ディスプレイ」を開いているときと、そうじゃないときで挙動が違う。ちゃんとわかってないけど「tell radio button "ディスプレイ"〜end tell」のところで、「システム環境設定」>「ディスプレイ」ペイン>「ディスプレイ」タブを明示的に選ぶようにして、上手く行くようになったっぽい
3)AppleScriptをアプリケーション(アプレット)にして保存して実行すると、毎回「コンピュータの制御を許可」がオフになる。理由はわからなかった。追究せず ※注1※
4)2017/05/07追記:75%より暗いときはそのままにすることにした
tell slider 1 of group 1 of tab group 1 of window 1 of application process "System Preferences"
if value > 0.75 then
set value to 0.75
end if
end tell
トライ5:Automatorで、AppleScriptを実行(に戻ってきた)
⇒ Automatorで、「AppleScriptを実行」だけのworkflowをつくって、アプリケーションとして書き出し。「kido75%.app」として保存し、Spotlightから「kido」で起動することにした。
おわり。
Automator、おもしろそうなんだけど、あまり解説がなくて(読解力が弱くて)、もっと遊べそうなんだけどなー。
※注1※ ということだそうである