はじめに
hkob の雑記録の第79回目は、Alfred Workflow の Run NSAppleScript action を解説します。
Run NSAppleScript action
Run NSAppleScriptは Actions の 11 番目にあります。

このオブジェクトの解説として、英語のマニュアルが用意されています。
この Run NSAppleScript action は私のワークフローでは使っていません。JavaScript 版の Apple Script は記載することがありますが、通常の Apple Script はほとんど書かないためです。

Run NSAppleScript action の設定
Run NSAppleScript action は以下のような設定画面になっています。この画面を Notion AI に解説してもらいましょう。

このRun NSAppleScriptアクションのダイアログでは、以下の設定が可能です:
- スクリプト入力エリア: AppleScriptコードを直接入力できる領域です。コードは「on alfred_script(q)」から始まり「end alfred_script」で終わる形式で記述します。
- 警告メッセージ: 画面上部に表示される青色のメッセージは、このアクションがNSAppleScriptを使用し、Alfredのメインスレッドをブロックする可能性があることを警告しています。代わりに/usr/bin/osascriptを使用したRun Scriptアクションの使用を推奨しています。
- Cache compiled AppleScript: 右下のチェックボックスで、スクリプトをコンパイルしてキャッシュするかどうかを設定できます。これを有効にすると実行速度は向上しますが、より多くのメモリを使用します。
- 操作ボタン:
- Cancel: 変更を破棄して設定を終了
- Save: 変更を保存して設定を完了
おわりに
Run NSAppleScript はコンパイル済の AppleScript を利用することができるので、昨日の Run Script よりも効率がよいようです。ただし、メモリを多少消費することと、メインスレッドをブロッキングしてしまうとのことで、高速でブロッキングのないスクリプトにのみ使用するようにマニュアルに書いてありました。