注: Yosemiteから、Cocoa APIにアクセスするためのRuby 1.8がMacから撤去されてしまったので、以下のworkflowはYosemite以降では動作しません。その代わりJXAというJavaScriptベースのスクリプト環境がMacに追加され、そこからならCocoa API にアクセスできるようになったとのことです。そのうち https://github.com/dtinth/JXA-Cookbook/wiki あたりを参考にしてJSベースで作り直すかもしれません。
[Alfred 2からLogophileを検索するworkflow](http
://qiita.com/hachi8833/items/476923bd548c305cdd88)の続編。
Alfred 2 から Logophile の英語辞典を検索できるようになって非常に快適になった。
しかし LogoVista とかいう会社が出している研究社の英語辞典シリーズは辞典ごとに独立したアプリケーションになっていて、同じ会社の辞書同士をまとめて串刺し検索することすらできない。辞書データをLogophile にインポートすることもできない。今時こんな20世紀の商売は許しがたい。
そんな辞書を 2 冊も買ってしまった以上せめて Alfred 2 から Logophile と同時にこれらの辞書を呼び出して見かけ上の串刺し検索を実現することにする。ライセンス的にも合法のはず。
追記: せっかくなので、Mac OSに備え付けの辞書.appも一緒に串刺し表示できるようにしてみた。
Alfred 2 からの串刺し呼び出しを実現
Alfred 2 と有料のPowerPack、そして有料の Logophile が Mac にインストールされていることが前提。
- LogoVista の辞書アプリを App Store で購入・インストールしたら、コントロールパネルの [キーボード] > [ショートカット] > [サービス] を開き、アプリで検索する項目のチェックボックスをオンにする。
これで [サービス] メニューに辞書アプリで検索する項目が追加される。
-
拙作 Logophile.workflowページの [View Raw] をクリックし、ワークフローをダウンロードする。これをダブルクリックしてワークフローをインストールする。
-
一応この時点で動作を確認しておく。
?
の後に続けて語を入力するとLogophileが起動して語が検索される。
- Alfred 2の設定画面でLogophileワークフローを開く。最初は右の [Run NSAppleScript] がひとつしかない状態なので、これをクリックしてコピー・貼り付けすることでこのスクリプトを複製する。今回は辞書を3つ追加するので3回複製した (下図では2回しか複製していないが)。
-
[Run NSAppleScript]を複製したら、[Keyword]から線をドラッグしてつなぐ。ちなみに[Run NSAppleScript]は上から順に実行される。自分はLogophile呼び出しを一番下に置いた。
-
複製した[Run NSAppleScript]をダブルクリックして開き、下の図で選択されている部分をサービスメニュー項目に置き換えればよい。
- ここでひとつ罠があるので注意。実は上で置き換えるサービス項目名は英語版のそれでなければならないのだ。日本語表示のサービス項目名を一生懸命入力してもピクリとも動いてくれない。英語版のサービス名を知るには、何でもよいのでメニューが英語のアプリケーションを起動し、
Services
メニューを見てみる。以下はiTermで確認した例。makeReferenceToLVEDKENCOLLO.MAS
などというおぞましい名前になっているが、これがAppleScript的に正式な名前だったりする。
- これを[Run NSAppleScript]の2行目に以下のように反映してSaveすれば、めでたく動くようになる。
- (追伸)同じ要領でMac OSの辞書.appも串刺し検索表示の仲間に加えることができる。先に答えを書いてしまうとサービス名は
Look Up in Dictionary
とすればよい。
以下は実行例。