MacのFlashを使いつつVMware FusionでFlashDevelopを使う場合にネックなのがパブリッシュ。いちいち画面を切り替えてパブリッシュするのがとても面倒だった。
しかぁし!ようやく簡単にパブリッシュが可能になった!準備は面倒だったが?。
参考サイトの中の人に感謝!
・memo kappa-lab.comさん
・議事ログさん
実現方法はMacにホットキーを登録してAppleScriptでパブリッシュ(Command+Enterを実行)させる。
これ思いついたのはすげーなーと思った。まずAppleScriptで諦めそうだけどmemoさんとこに置いてあった。
ではレッツラ。
・Quicksilver
今日の「AS(AppleScript)」
をダウンロードします。
詳しい内容はmemoさんとこに書いてあるので読んでください。
自分はAppleScriptをちと改造して使ってます。
monoさんのAppleScript
set uiScript to "keystroke \"s\" using {option down, command down}"
run script "tell application \"System Events\"
" & uiScript & "
end tell"
tell application "Adobe Flash CS3"
activate
end tell
set uiScript to "keystroke \"
\" using command down"
run script "tell application \"System Events\"
" & uiScript & "
end tell"]
改造したAppleScript
set uiScript to "keystroke \"s\" using {control down}"
run script "tell application \"System Events\"
" & uiScript & "
end tell"
delay 0.2
tell application "Adobe Flash CS3"
activate
end tell
delay 0.3
set uiScript to "keystroke \"
\" using command down"
run script "tell application \"System Events\"
" & uiScript & "
end tell"
ほんのちょこっと改造です。
理由は様々ですが自分の好きなようにしてます。
あとは好きなディレクトリに保存するなりリネームするなりしてください。
自分の場合は /Applications/AppleScript/CallFlashIDE.scpt としました。
「Command+Enterでホニャララする」みたいな。
Quicksilver ダウンロード先
議事ログさんとこ情報でIntelMacはUniversal版では駄目ということでした。
Universal版を試してはいないんですが、Quicksilverの公式サイトからダウンロードしたやつは駄目でした。駄目な理由は「Scope」機能が動かないからです。
これが効かないと後々面倒なことになります。
というわけでIntelMacの方はArchived/Intel版をダウンロードしましょう。
ダウンロードしたファイルを解凍し.appを叩けばインストールが始まるので指示にしたがってインストールします。
インストール後、「Quicksilverメニュー」→「Preferences」を選択。
Scope機能を有効にするため「Enable advanced features」をチェックします。次に保存したAppleScriptをCatalogに登録します。CatalogをクリックしCustomをクリック。
下にある「+」を押して「File & Folder Scanner」を選択し、保存したAppleScriptを選択します。
次にTriggerを登録します。アプリケーション起動に対するホットキーの登録ってことです。Trigger画面が表示されたら下にある「+」を押し「HotKey」を選択します。
次の画面が表示されたら保存したAppleScriptを登録します。保存したAppleScript名をタイプすると表示されます。Actionは「Run」を選択します。
次にHotKeyの設定を行います。
登録した行のCommandマークをクリックすると次の画面が表示されます。
「Hot Key」には「Command+Enter」を設定します。残りの設定はお好みで。
次にScopeの設定を行います。
HotKeyを受け付けるアプリケーションの登録設定です。VMware Fusionを使用時に動けばいいので入力欄に「VMware Fusion」と入力し、「Enabled in selected applications」を選択します。
この時点で「Command+Enter」を実行してみて何も動作しなければScopeが働いてるはずです。動作してしまう場合はScopeが働いていないのでAppleScriptが半永久にCallされます。
どういう事かというと?
Scopeが働かない場合
1. VMware Fusion上でCommand+Enter キーを押す。
2. Quicksilverで登録したホットキーでAppleScriptが呼び出される。
3. AppleScriptの処理でFlashをActiveにしCommand+Enterが自動実行される。
4. Command+Enterが実行されるがScopeが働かないのでQuicksilverがホットキーが押されたと勘違いして 1. に戻る。
Scopeが働く場合
1. VMware Fusion上でCommand+Enter キーを押す。
2. Quicksilverで登録したホットキーでAppleScriptが呼び出される。
3. AppleScriptの処理でFlashをActiveにしCommand+Enterが自動実行され、QuicksilverのScopeが働くがFlashがActiveになっているのでホットキー処理は無視され、そのままパブリッシュされる。
回りくどいけどこんな感じで伝わるかな?
まー、Scope設定しても動作しないならホットキーを別のキーにすればいいだけなんですが、やっぱ慣れたのがいいし誤作動防止もできるのでScopeを動作するバージョンを入れた方がいいです。
最終的にVMware Fusionの画面に切り替えて「Command+Enter」を実行すると自動的に画面が切り替わりパブリッシュされると思います。
自分がAppleScriptを改造してるのは保存とかを自動でしてくれる処理を変えてるだけです。
以上で設定は終わりっす!!おつかれさんでしたぁぁぁ!
よーーーっし!!これで楽々開発だ!
直し方は以下のファイルを削除する。
/Users/ユーザ名/Library/Application Support/Quicksilver/Triggers.plist
もちろんTriggerで登録した内容は消えますけどね。
2009/2/19 - 23:51 | Comments (0)




