screen の caption に期日までの残り時間を表示する
仕事の期日やイベントまであと何日みたいなのが表示されてたら便利かなと思い立って、なんとなく出来たのでメモ。
このままだとだいぶ使いにくい状態ですが、スクリプト呼んで結果を表示してるのでいかようにも出来ますね。
呼ばれるスクリプト ~/bin/screen-remain.pl
#!/usr/bin/perl
# screen-remain.pl - remain time for screen
# $Id$
use strict;
use Time::Local;
my ($year,$month,$day) = (2012,1,1);
our $target = timelocal(0,0,0,$day,$month-1,$year-1900);
$| = 1;
while($target > time){
my $r = $target - time + 59;
my $d = int($r/86400);
my $h = int(($r - $d*86400)/3600);
my $m = int(($r - ($d*86400 + $h*3600))/60);
my $s = 1 == $d ? "day" : "days";
printf("[%d%s %02d:%02d]\n", $d, $s, $h, $m);
sleep(1);
}
print "\n";
あまりを引く方がスマートだった気がしてきた。
そして .screenrc
の設定
# caption always "%w %=%y/%m/%d %c"
caption always "%w %=%0` %y/%m/%d %c"
backtick 0 0 0 ${HOME}/bin/screen-remain.pl
man 1 screen
に詳しく載っていますが、%0` がこの後に出てくる backtick の結果になります。
backtick 行の1つめの 0 が id で、%0` の 0 と対応しています。
ディスカッション
コメント一覧
まだ、コメントがありません