■
.vimperatorrcをいじってステータスバーにバッテリ残量と日付を表示するようにした(Vimperatorバージョン 1.1 on Firefox 3.0.1 on Linux)。バッテリの方はLinux限定。
参考
バッテリの残量はsmapiというものが入っているなら /sys/devices/platform/smapi/BAT0/remaining_percent をcatすればわかる(ディストリビューションによって違うかもしれないけど)。Vimperatorではliberator.io.readFileすればよいらしい。というわけで以下を.vimperatorrcに追加した。
:javascript << EOF (function(){ var battery_interval_sec = 180; var battery_status = document.createElement('statusbarpanel'); battery_status.setAttribute('id','battery-status'); document.getElementById('status-bar').insertBefore(battery_status, document.getElementById('security-button')); setTimeout(function(){ battery_status.setAttribute('label', '[' + liberator.io.readFile('/sys/devices/platform/smapi/BAT0/remaining_percent') + '%]'); setTimeout(arguments.callee, battery_interval_sec * 1000); }, 1000); })(); EOF
battery_interval_secは表示を更新する間隔(秒)で、上だと180秒、つまり三分に一回表示が更新される。
なんだかうまくいったので調子にのって日付も表示してみた。いままでFoxClocksというやつを入れて日付を表示していんだけど、自前でやれるならそっちの方がいいかな、と。というわけで以下を.vimperatorrcに追加した。
:javascript << EOF (function(){ var date_interval_sec = 60; var my_date = document.createElement('statusbarpanel'); my_date.setAttribute('id','my_date'); document.getElementById('status-bar').insertBefore(my_date, document.getElementById('security-button')); setTimeout(function(){ d = new Date(); de = [d.getMonth()+1, d.getDate(), d.getHours(), d.getMinutes()].map(function(e){return e < 10 ? '0'+e : e}); my_date.setAttribute('label', de[0]+'/'+de[1]+' '+de[2]+':'+de[3]); setTimeout(arguments.callee, date_interval_sec * 1000); }, 1000); })(); EOF
date_interval_secは日付を更新する間隔(秒)で、上だと60秒、つまり一分に一回表示が更新される。date_interval_secを1にして
d = new Date(); de = [d.getMonth()+1, d.getDate(), d.getHours(), d.getMinutes(), d.getSeconds()].map(function(e){return e < 10 ? '0'+e : e}); my_date.setAttribute('label', de[0]+'/'+de[1]+' '+de[2]+':'+de[3]+':'+de[4]);
とかすると秒も表示されて毎秒更新される。しかしなんだか無駄な気がしたので分までの表示にしておいた。