screenのstatuslineにいろいろ表示させてみる


Gmailの未読数とか、livedoor Readerの未読数とかを表示させてみた。



.screenrcはこんな感じ

hardstatus alwayslastline "[%02c] %`%-w%{=b bw}%n %t%{-}%+w %=[GMAIL:%2`][LDR:%1`]"
backtick 1 0 60 cat $HOME/tmp/ldrunread.txt
backtick 2 0 60 cat $HOME/tmp/gmailunread.txt

backtickにコマンドを直接書いてもいいけど、コマンドが実行されてる間重くなるので、cronで動かしてテキストファイルをcatする形にしている。


未読を取ってくるやつは適当に

ldrunread

#!/usr/local/bin/perl
use strict;
use warnings;

use LWP::Simple;

my $url = 'http://rpc.reader.livedoor.com/notify?user=username';
my $content = get($url);
my ($count) = $content =~ /\|(\d+)\|\|/;
print $count, "\n";

gmailunread

#!/usr/local/bin/perl
use strict;
use warnings;

use LWP::Simple;

my $url = 'https://username:password@mail.google.com/mail/feed/atom';
my $content = get($url);
my ($count) = $content =~ m!<fullcount>(.*?)</fullcount>!;
print $count, "\n";

で、crontabに

*/10 * * * * $HOME/bin/ldrunread > $HOME/tmp/ldrunread.txt 2>&1
*/10 * * * * $HOME/bin/gmailunread > $HOME/tmp/gmailunread.txt 2>&1

こんな感じで登録してる。


あんまり見ないので、すぐ消すかも・・・