1月
24
2009
0

Growl4Becky

言わずと知れた軽量&高機能メーラーBecky!
10年以上使っているとなかなか他のソフトに乗り換えるのは難しく,Becky!だけのためにVMWare Fusionを買ってWindowsを走らせてます
(まぁ組込み系の開発ツールやVMWare Infrastructureの管理ツールとかWindowsがないとどうにもならないことも多いので,助かってるけど・・・)

VMWare Fusionではご存じユニティモード(ParallelsでいうCoherence)が使えるので,WindowsのアプリをまるでMacのアプリのように扱うことができます
バージョン2からはURLの共有という超便利な機能が追加されて,メール内のURLをクリックするとMac側のSafariとかFirefoxで開くことができるようになり,もっとも不満だった点が解消されました

となると残りの大きな不満点は,「新着メールの通知」機能!!

普通のWindows環境ならタスクトレイのアイコンで着信に気づくことができるんですが,ユニティモードでタスクバーを隠しているとメールの着信が分からない・・・

ちょうど先日Beckrbを入れてみたので,Rubyスクリプトで適当にでっち上げてみました

require 'ruby-growl'
require 'rbuconv'

class Growl4Becky

	def initialize(ipaddr, pass)
		@g = Growl.new(ipaddr, 'Becky!', ['New Mail Landing'],
			 nil, pass)
	end

	def on_retrieve(message, mail)
		subject = mail.headers.slice(/^Subject: (.*)/, 1)
		from = mail.headers.slice(/^From: (.*)/, 1)
		@g.notify('New Mail Landing', Uconv.sjistou8(from.chomp),
			 Uconv.sjistou8(subject.chomp))
	end

end

# Edit ip address and password
Becky.add_callback Growl4Becky.new('192.168.46.1', 'password')

Becky!がメールを受信すると,Growlでお知らせしてくれます

使い方ですが,Beckrbが必要です
上記のRubyのスクリプトを作成して, scripts\startup フォルダにぶち込んでください
(コピペがめんどいって人はコレを保存してください)

Rubyのライブラリとしてruby-growlrbuconvを使っています
Growlへの通知はUTF-8で行う必要があるのですが,Ruby 1.8.1でUnicodeに変換するのはちょっと面倒です
システムにはできるだけ手を入れたくなかったので,ピュアRuby版Uconvのrbuconvを使いました
なので,これらのライブラリをDLして,Beckrbの lib\ruby\1.8 フォルダの中にぶち込んでください

あと,ネットワーク通知を使うので「システム環境設定」の「Growl」で「リモートアプリケーション登録を許可」しておく必要があります
パスワードも設定しておいた方がよいでしょう

あとは,スクリプトの最終行のIPアドレスと,パスワードを適宜変更するだけです

Becky!を再起動するとGrowlに登録されるので,お好みに応じて「システム環境設定」の「Growl」でBecky!からの通知に対して,表示スタイルやスティッキーなどを変更できます

VMware FusionとかParallelsを使ってて不便やなぁ・・・と思ってる方はぜひお試しください

#IMAPでの受信はうまく通知されません(Becky! APIの仕様と思われます)

Written by p0n in: PC | タグ: , ,
1月
21
2009
1

Beckrb

RubyでBecky!の機能を拡張することができるラッパープラグインBeckrb

先日たまたま見つけたが,もっと早く知ってれば・・・

ただRubyのバージョンは1.8.1

Unicodeの扱いなどを考えると1.8.2の壁は小さくないが,残念ながら最後の更新が2004年の5月なのでもうメンテナンスされていないみたい

とりあえずインストール方法をまとめておく

まず次の3点をダウンロード

Beckrbのインストール先は,

  • 全ユーザ共有のインストールディレクトリ
  • 各ユーザ専用のデータフォルダ

のどちらかを選ぶことができる

データフォルダさえ移せば簡単に環境が移せるのもBecky!のよいところなので,今回はデータフォルダにインストール

  1. beckrb-0.9.7.zip を展開して beckrb.dll(プラグインローダ) と bekrb.so(プラグイン本体) を Plugins フォルダにコピーする
  2. ruby-1.8.1-20040218_vc71.zip を展開して msvcrt-ruby18.dll(Rubyインタプリンタ) と lib フォルダ(Rubyライブラリ)をデータフォルダ直下にコピー
  3. msvcr71.zip を展開して msvcp71.dll(VC++ランタイムライブラリ) と msvcr71.dll(VC++ランタイムライブラリ) をデータフォルダ直下にコピー(システムディレクトリ C:\Windows\System32 などに置くのもアリ)
  4. Becky!を再起動してプラグインを組込む

メニューに「スクリプト」という項目が増えていれば成功

Beckrbは起動時に,インストールフォルダ直下の scripts/startup/*.rb,データフォルダ直下の scripts/startup/*.rb を順に実行するので,コールバックを利用するスクリプトはココに置いておく

とりあえず前から作ろうと思っていたプラグインを作ってみた

ソースも公開されているので最新版のRubyに対応させてみるのもおもしろいかもしれない

なんかJava版のBkJavaというものもあるみたい

Written by p0n in: PC | タグ: ,

TheBuckmaker WordPress Themes Webhosting, MP3, AAC & Co