IRC でよばれたら表示
なんで caution とかいわないで。なんとなく。
んで elisp は 33rpmさん に教えてもらって
(add-hook 'riece-keyword-notify-functions
(lambda (keyword message) (call-process "touch" nil nil nil "/tmp/riece")))
(add-hook 'riece-after-switch-to-channel-functions
(lambda (last) (call-process "rm" nil nil nil "/tmp/riece")))
こんな感じのを .riece/init においておく。これでIRCでキーワード流れると /tmp/riece ができる。 チャンネルかえると消える。
#!/usr/bin/perl
use strict;
use warnings;
$| = 1;
while (1) {
if (-e '/tmp/riece') {
print " Caution!! \n";
}
else {
print "\n";
}
sleep 1;
}
こんなんを riece.pl として .screenrc には
hardstatus alwayslastline "[%02c] %0`%-w%{=b bw}%n %t%{-}%+w %= %?%{=b rw}%2`%{-} %?%1`"
backtick 0 0 0 ${HOME}/.screen/backtick.pl
backtick 1 0 0 ${HOME}/.screen/netstat.pl
backtick 2 0 0 ${HOME}/.screen/riece.pl
こんな感じで。%?
でくくられてるところはそのなかのエスケープ文字(この場合 %2` )が展開されるときだけ中を表示するやつ。
んでこれ消すのにチャンネル変えなきゃいけないのはめんどいこともあるとおもうので
#/bin/sh
rm /tmp/riece
とかを delriece.sh とかにして screenrc に
bind r exec $HOME/.screen/delriece.sh
とかしといた。