Mac には、Growl つって色んなアプリケーションからイベントを通知してくれるアプリがある。Windows も Growl と API が共通なアプリがあるにはあるんだが、vimperator で実装してみた。(Growlとは非互換)
まぁ、どれだけ天気予報が好きなんだって話なんだが。
Twitter や Wassr のつぶやきが現れては消えてゆき、はてなボトルが海の藻屑になっていくのを眺めているのも面白い。
実際の見た目はこんな感じ。
デフォルトでは 10秒 で消えるようになってる。
アプリの構成は
~/vimperator/plugin/_libly.js notifier.js notifier/growl.css observer_growl.js subject_hatelabo_bottle.js subject_twitter_scraper.js subject_wassr.js subject_weather_yahoo.js
みたいな感じで配置する。
それぞれのファイルの役割は、
- _libly.js
- 汎用ライブラリ
- notifier.js
- 変更通知framework
- growl.css
- 見た目
- observer_growl.js
- 変更通知を受けて Growl 風に通知するplugin
- subject_……
- 変更検知するplugin
になってる。
変更通知framework 自身のコマンドは、:notifierstart, :notifierrestart, :notifierstop がある。説明はそのままなので省略。
注意点として、subject_twitter_scraper.js は事前にブラウザでログインが必要。API 叩いてもいいけど、他の Twitter Client との兼ね合いで制限にかかっちゃうのもアレだから。
天気予報(subject_weather_yahoo.js)は、Yahoo!天気情報 のページで検索して、実際のピンポイント天気予報がある URL を以下のように設定する。
liberator.globalVariables.subject_weather_yahoo_urls = [ 'http://weather.yahoo.co.jp/weather/jp/27/6200/27127/5300001.html' ];
実は、observer_growl.js も
liberator.globalVariables.observer_growl_settings = { 'Hatelabo bottle': { life: 20, keyword: 'はてな' }, 'Weather forecast by Yahoo!': { sticky: true }, 'Wassr': { sticky: true } };
な感じで設定ができるんだけど、まだ life(消えるまでの時間) と、sticky(付箋のように×を押すまで張り付く) しか実装していない。
そのうち気が向いたらするかもしないかも。
追記
– 2008/12/30 23:04 twiter の通知はちょっと邪魔だ!
links
– /lang/javascript/vimperator-plugins/trunk/notifier.js – CodeRepos::Share – Trac
– /lang/javascript/vimperator-plugins/trunk/notifier – CodeRepos::Share – Trac
– /lang/javascript/vimperator-plugins/trunk/_libly.js – CodeRepos::Share – Trac