InDesignのJavaScriptからGrowlに通知を出す【OSX】その2
InDesignCS3から任意のメニューに対してスクリプからイベントを追加できます。
それを利用して、JavaScriptのeventListenersで任意のmenuActionに対してイベントを追加して、Growlで通知させてみました。
下記のスクリプトはコピーとペーストとカットをするといちいち知らせてくれます。
ここまですると、ちょっといじくらしいかも?
操作説明してる時、
コマンド操作だと判りずらいので
こんな風に何をしたか画面に出ると
聞いてる方も、説明している方も幸せになれるかもです。
スクリプトは適当な名前をつけてスタートアップスクリプトに登録します。
InDesignのJavaScriptからGrowlに通知を出す【OSX】のスクリプトも'InDesignSendGrowlNotify.js'
として読み込んでいますので、気をつけて下さい。
#targetengine "session" //インクルードするファイルへのパス #includepath '/Users/hogehoge/Script/javascript/lib' //SendGrowlNotifyを読み込む。 #include 'InDesignSendGrowlNotify.js' //追加するイベントの定義 var menuActionsAddEventList = [ { 'key' : '$ID/&Copy', 'eventType' : 'beforeInvoke', 'Function' : function(){sendGrowlNotify('COMAND+C','コピーしました。');} }, { 'key' : '$ID/&Paste', 'eventType' : 'beforeInvoke', 'Function' : function(){sendGrowlNotify('COMAND+V','ペーストしました。');} }, { 'key' : '$ID/Cu&t', 'eventType' : 'beforeInvoke', 'Function' : function(){sendGrowlNotify('COMAND+X','カットしました。');} } ]; //イベントを追加 for(i = 0; i < menuActionsAddEventList.length; i ++){ app.menuActions.item(menuActionsAddEventList[i]['key']).eventListeners.add( menuActionsAddEventList[i]['eventType'], menuActionsAddEventList[i]['Function'], false ); }
副産物としてmenuActionに対応するkeyの一覧表も作ってみました。
menuActionのkeystring一覧表
jQueryで装飾しているのでブラウザによっては表示が違います。
menuActionについては、
お〜まちさんの表を挿入...のダイアログを横取り!罫線を指定して表を作成すると
せうぞーさんのShowTime+oneのBBSの過去ログを参考にしました。