技術とかの雑なToday I Learnedメモ

AppleScriptとJXAに入門している

AppleScriptとJXAに入門している

AppleScript

今はMacbook Proを使っていて、日常的にNight Shiftという画面が暖色になる機能を使っている。

どういうわけか、外部モニターにつないでいる状態でスリープから復帰するとNight Shiftが切れるときがあり、そうなっていた場合にわざわざシステム環境設定→ディスプレイ→Night Shiftを一度オフ→Night Shiftをオン、という手順を踏まねばならず、非常にめんどくさい。

これをどうにか自動化したい……と思って色々ググっていたら、AppleScriptなるものがあることを知った。

MacでAppleScriptおよび「ターミナル」を使ってタスクを自動化する - Apple サポート (日本)

鳶嶋工房 / アップルスクリプティング(Apple Scripting)

AppleScriptについて色々記事を読んでいたが、かなり厳しいことが分かった。

そもそも専用のエディタであるスクリプトエディタというアプリを使って書かなければいけないのだが、このスクリプトエディタが実行環境を兼ねているので他のエディタで書いたものをこっちに移植して実行しなければいけない。

そして、Macのアプリケーションにアクセスする際にどういうオブジェクトがありどういう関数が用意されているかなどの説明が書いてある用語解説という機能があるのだが、これが本当に読みにくい。

というわけでほとんど活用できず、インターネットに頼りまくっている。

JXA

AppleScriptの書き味はかなり微妙っぽくて、これを書くのか……と悲観していたところ、どうやらJavaScriptでも書けるらしいということが分かった。

それがJavaScript for AutomationでJXAと呼ばれているものらしい。

鳶嶋工房 / AppleScript / JavaScript for Automation (JXA)

この鳶嶋工房さんにはかなり助けられている。

ひとまずJavaScriptで書けるならAppleScriptを書くよりだいぶマシだなと思いJXAを使い始めたが、書き方はJavaScriptにできるものの、アクセスすべきオブジェクトや関数に関してはまだかなり手探りでやっている。

2021/10 JXAでMac作業を効率化 - 株式会社クリエーション・ビュー

こういった記事を参考にさせてもらっているが、まだ時間がかかりそうだ。