それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

Gmailが届いたらGrowlで通知する。Google Talkのような素早さで

MacBookAir買いました。Macはいろいろ不便で、情報を集め整理して、環境が整うまで時間がかかっている。メモの更新も滞ってる。

Google TalkのMac版がない。

Airで一番困ったこと。何をおいてもこれが困る。

Gmailのメール通知される手段がない。

Google Talkのメール通知の良いところ

プッシュ通知でなところ。POP/IMAPでチェックしてるわけじゃない。
XMPPというチャットプロトコルでメール通知される
・だから速い。

Gmail notify のダメなところ

もちろんGmailNotifyというGoogleのソフトウェアがある。

・POP/IMAPアクセス。通知はない。定期チェック。
・しかも時々動作がおかしくメールを取りそこねる。
・チェック間隔が15分以上開くことがある。
・ネットワーク切断・接続を繰り返すと絶望的に動かない。

ノートPCで接続切断が頻発するのでGmailNotifyは使い物にならない

だからXMPPにアクセスして、Gmail通知を書いた。

XMPPの通知をGmailが独自拡張している。それをRubyで拾うことにした。

ダウンロード

Github →takuya/GmaiNotification · GitHub

使い方
require 'gmailnotify.rb'

xmpp_client = GmailNotify.new("takuya.XXX@gmail.com", "++password++")
xmpp_client.start

通知はGrowl経由。

MacなのでもちろんGrowl経由で通知するよ!

必須

xmpp4r
gem install xmpp4r
growlnotify

Growlつうちは、コマンドラインのGrowlNotifyから。
本家にファイルがあるのでダウンロードして使う。

growl1.2系はこれ。→http://growl.info/extras.php#growlnotify
growl1.3x系はこっちから→http://growl.info/downloads#generaldownloads

growl通知はCocoaのAPIを呼べばいいんだけど、そんなの面倒くさいしMacrubyが必要なので、とりあえず、通知が出ればいいので。

常駐化

とりあえず screen で
→2011-12-15 常駐化した。詳しくは別記事

GmailXMPP拡張について

接続後に「talk.google.comに、Gmail通知くれ」とリクエストする。これでOK、リクエスト後はメールボックスに変化がある度に通知される。

そのうちやること

MacのApp形式にする。

2012-02-14 追記

1.3xのgrowlnotifyのダウンロードリンクを追加。