(かなり)以前、Evernote からランダムにノートを選ぶ AppleScript を作った。
その後、同じ趣旨のiPhoneアプリである EverShaker が登場し、やられたー!と思いながら、僕もDLして楽しく使っていた。(僕のスクリプトは6行の簡単なものなので、並べて語るのはおこがましい気もするが)
でもやっぱり、Mac上(Mac版Evernote上)で開くことができるのは具合がよい。
何がよいかというと、
1. 大きな画面で閲覧できる
2. その場で編集・削除できる
3. ローカルのファイルを開くので、レスポンスが良い
個人的には特に3. が便利だと思うのだけれど、以前書いたスクリプトには、Evernoteのメインウインドウが全面に出ていなければいけないという制約があった。
つまり、ランダムにノートを開いた時点で、もういちどメインウインドウをアクティブにしないと、次のノートを(ランダムに)開くことが出来ない。
僕は、ばしばしと連続で過去のノートを開いて眺めることで、現実逃避自己を見つめ直したいんだ!
ということで久しぶりに改造しました。
tell application "Evernote"
set exists_col_wd to false --コレクションウインドウが開いているかどうか
repeat with wd in every window
-- コレクションウインドウが開いていれば、
--そのウインドウでリストアップされた中からランダムにノートを開く
if (class of wd) is collection window then
set exists_col_wd to true
set col_wd to wd
end if
end repeat
-- コレクションウインドウが開いていなければ開く
-- ノートを開いた後、コレクションウインドウは再び閉じる
if not exists_col_wd then
set col_wd to open collection window
set visible of col_wd to false
end if
--ランダムにノートを開く
my openRandomWindow(col_wd)
-- ランダム検索用に開いたコレクションウインドウは閉じる
if not exists_col_wd then
close col_wd
end if
end tell
--ウインドウwdでリストアップされている中からランダムにノートを開く
on openRandomWindow(wd)
tell application "Evernote"
set query to query string of wd
set notelist to find notes query
set rand to random number from 1 to length of notelist
open note window with item rand of notelist
end tell
end openRandomWindow
僕は、Quicksilver に登録し、ホットキーで呼び出せるようにしている。(Quicksilver の使い方については、ここがわかりやすくて詳しい)
使ったことはないけれど、Alfred など他のランチャアプリでも同じようなことができると思う。
こうすることで、ホットキーの連発によって好きなだけランダムにノートを開くことができる。
なお、以前の記事でも書いているが、このスクリプトのポイントは、メインウインドウに表示されているリストを選択対象にすること。
つまり、ノートブックやタグを選択したり、テキストによる検索結果を表示しているときに使えば、それらの絞りこまれた対象からノートを選んでくれる。
例えば・・・
↓Evernote上で「制作過程」ノートブックを開いた状態でスクリプトを実行すると・・・
「制作過程」ノートブックの中から、ノートが開かれる。(懐かしい!)
さらにスクリプトを連続実行すれば、同じノートブックから大量のノートをランダムに開くことができる。
もしいらないノートがでてきたら削除すればいいし、編集もできるので、情報の整理に使うのもいいかも知れない。
[…] コードはこちらのサイトから入手できます。 Hirata Yodom […]
ありがとうございました。まさに欲しかったものでした。