@kasumiiです。こんにちは。
最近、英語の記事をもっと読まなきゃーということで、わからない英単語をMacの辞書で検索する回数が増えてきました。
でも、せっかく検索した英単語もしばらくすると忘れてしまうので、どうせなら、
Macの標準辞書で調べた英単語の履歴をあとで単語帳みたいにして復習したい
— かすみ (@kasumii) 2013, 12月 19
と思うようになり、ざっくりと欲しい機能を実現したAlfred Workflowをつくってみました。
AlfredでDictionary.appの検索履歴とっといて、ランダム出題する単語帳っぽいオレオレワークフローできたー(∩´∀`)∩ワーイ
— かすみ (@kasumii) 2013, 12月 19
かなりオレオレ仕様で簡単なつくりのワークフローですが、少しカスタマイズできるようにしてみたので興味のある方はどうぞー。(Mac OS X 10.9.1 でしか動作確認していません。他の環境だと動かないかも。)
Tango は、Alfred.app 経由で辞書検索した単語をテキストファイルに保存しておき、それをランダム表示するというシンプルな仕組みになっています。
キーワードを辞書で調べる : tango キーワード
辞書の履歴を見る : tango
辞書の履歴をクリアする : tangoclear
辞書の履歴保存用テキストファイルを開く : tangoopen
tango
と入力すると履歴がランダム表示されるので、意味がわからない英単語があったらクリックすればもう一度辞書アプリで確認できます。新しい単語を調べるついでにちょこっと復習するのにいいかなと。
履歴を削除したいときは、tangoclear
で全件クリアするか、tangoopen
で履歴ファイル(/Users/hoge/tango_search_history.txt)が開くので、消したい単語の行を削除して保存します。
カスタマイズ方法
「Alfred Predrences」→「Workflows」→「Tango」を開き、一番上のScript Filterの部分をダブルクリックして編集モードへ。
以下の設定部分を書き換えれば、表示件数、表示順、表示条件を変更できるのでお好みでどうぞ。
//------------------------------- // 設定 //------------------------------- // 履歴の表示件数 $history_count = 5; // 履歴の表示順(0:ランダム順 1:最新順) $history_sort = 0; // 履歴の表示条件(0:すべて 1:英単語のみ) $history_type = 1; //-------------------------------
Tango Alfred Workflow をダウンロード
上記のファイルをダウンロードしてダブルクリックすればインストール完了です。(注意:AlfredのWorkflowsを使うには有料のPowerPackを導入する必要があります。)
Alfredを普段から活用しまくっている方は、以前つくったこちらのサイトとワークフローもぜひどうぞー。
【関連記事】[Mac] Alfred.app の使用回数ツイートをまとめて見られるHerokuアプリ「Alfred Stats」をつくりました
【関連記事】Alfred StatsのデータをAlfred.app内に表示するWorkflowをつくりました
Alfred 以外から検索した単語も履歴に残したい場合
以下のZipファイルをダウンロードして解凍し、中に入っている「Tango Search.workflow」をダブルクリックすると、Tango Searchがサービスとしてインストールされます。
https://github.com/kasumii/alfred-tango-workflow/archive/master.zip
例えばブラウザ上でテキストを選択して右クリックから「サービス」→「Tango Search」を選べば辞書を引いて履歴にも残すことができます。
サービスとして使えるということは、Macの環境設定からキーボードショートカットを割り当てられるということなので、さらに便利に使えますね!
作り方は、こちらの記事を参考にというか一部を変えただけでほとんどそのまま使わせていただきました。ありがとうございます。
【参考】辞書.appの検索履歴をテキストファイルに保存して、単語帳のように表示してみる – Macの手書き説明書
今回のような、Alfred.app で何かしたときの情報をテキストファイルに保存しておき、それをあとで利用するというパターンは他にもいろんな用途で使えそうだなーと思いました。また何か思いついたらこの方法を使ってみようと思います。