riece の notificationを Snarl で行う。

Windows上での作業が多いため、Emacs はもっぱら Windows上の Xming経由で操作しています。
そんな関係上、riece(IRCクライアント)のポップアップもWindows上で受け取りたい。

そこで、Snarlの登場です。
Snarl とは Windowsのポップアップメッセンジャーで、何個か試した中で一番使い勝手が良かったツールです。


1.Snarlのインストール
full phat products – > stuff_happens: know_about_it より最新版をダウンロード & インストール
特に躓く要素は無いでしょう。


2.snarl-snpのインストール
snarl-snp とは、Linux から Windows 上の Snarl にメッセージを送るRuby用のライブラリです。
本家ページ http://d.hatena.ne.jp/kitamomonga/20100427/ruby_snarl_snp に詳しい説明があります

riece用に用意したファイルは、↓こんな感じ

#!/usr/bin/ruby
require 'rubygems'
require 'snarl/snp'
require 'nkf'

title = ARGV.shift
message = NKF.nkf('-s', ARGV.join("\n"))
Snarl::SNP.open('xxx.xxx.xxx.xxx') do |snp|
  snp.register('Ruby-Snarl')
  snp.notification(title, message)
end


3.rieceの設定
キーワードが出現したときに、Snarlにメッセージを送る設定。

(add-to-list 'riece-addons 'riece-keyword)
(setq riece-keywords '("foo" "bar" "baz"))
(add-hook 'riece-keyword-notify-functions
          (lambda (keyword message)
            (progn
              (call-process-shell-command (concat "path/to/snarl-snp.rb riece \"" (riece-message-text message) "\"" ))
              (message (riece-message-text message)))))