10/08 アプリケーション構成が変わったGrowl 1.3への対応
Mac OS X 10.0が出た頃から「こんなのがあったらいいのに」と思っていたAppleScript対応メッセージ表示ソフト「Growl」。長らくフリー配布されてきましたが、目下Mac OS X 10.7, Lion対応のGrowl 1.3がAppStoreから170円で絶賛発売中!

日常的に使用しているあらゆる自作のAppleScriptで、Growlにメッセージ表示や途中経過の報告を行わせており、サードパーティのアプリケーションのうち活用度はダントツではないかと思えるほど。なくなってもらっては困ります。
Growlバージョン1.2まではGrowl本体(Preferences Pane)とGrowlHelperAppという2つのアプリケーションに分かれており、AppleScriptからはGrowlHelperAppに対してメッセージを投げていました。
AppStoreで公開する場合に、Preferences Paneという形態ではAppleの承認が下りなかったのか、はたまたPreferences Paneの仕様が変わって自由度がなくなったのか(たぶん前者)……
バージョン1.3は、「Growl」というアプリケーションが1つ存在するという形態に変更になりました。
当然のように、Growlに対してAppleScriptからtellしてみると……当然のように動きます。バージョン1.3以降のGrowlを対象にAppleScriptを書く場合には、「GrowlHelperApp」ではなく「Growl」にtellするように書く必要があるというわけです。
従来のバージョン1.2用に書いたAppleScriptをオープンしようとすると「GrowlHelperAppはどれですか?」とAppleScriptエディタが尋ねてくるので、かわりに「Growl」を指定すれば大丈夫です。
気になるのが、バージョン1.2と1.3の間でGrowlAppHelper/GrowlのAppleScript用語辞書の内容がどの程度変更されているのか、という話。
AppleScript用語辞書を(ASDictionaryで)書き出してdiffツールで(Apple純正FileMergeを愛用中)比較してみると、25ヶ所も違っていると言われます。メジャーなアプリケーションのマイナーバージョンアップの割に、ずいぶんと変更されているものです。
ただ、個別に確認してみると、ほとんどが「string」を「text」に書き換えた箇所であり、気にするほどのものではありませんでした。
ここで「すべて」ではなく「ほとんど」と書いたのは、大きな変更点が2つあるためです。

1つは、「Growl Suite」の「notify」コマンドのオプション「PICT image」が廃止になったこと。64ビット環境ではPICTの表示はサポートされていないのと、「PICT? ナニソレ???」というぐらいにPICTの存在感がMac OS X環境では消え失せたので、ほぼ影響はないでしょう。
もう1つは機能追加。
新たに「Gworl Control」suiteが追加され、「close all notifications」「pause」「resume」「disabling incoming network」「enable incoming network」「show rollup」「hide rollup」の7つの命令が追加になりました。また、applicationのpropertyに「is paused」と「allows incoming network」の2つの、アプリケーションの状態を示す属性が追加されました。
概要はこんなところですが、じゃあ本当にバージョン1.2用に作ったAppleScriptが、バージョン1.3上で問題なく動くかというのは…………やはり実際に試して確認するほかないでしょう。多分、大丈夫だとは思いますけれども。

