■
http://d.hatena.ne.jp/nulll/20080729#p1 だと :so .vimperatorrc とかやると日付表示とバッテリ残量表示が重複して追加されてしまうので修正した。あと、曜日も表示してみた。
日付を表示する。
:javascript << EOF (function(){ var status_bar = document.getElementById('status-bar'); var insert_pos = document.getElementById('security-button'); var date_interval_sec = 60; var date_id = 'my-date'; var date = document.getElementById(date_id); if(date){ status_bar.removeChild(date); } date = document.createElement('statusbarpanel'); date.setAttribute('id',date_id); status_bar.insertBefore(date, insert_pos); setTimeout(function(){ var d = new Date(); var de = [d.getMonth()+1, d.getDate(), d.getHours(), d.getMinutes()].map(function(e){return e < 10 ? '0'+e : e}); var dd = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; var str = de[0]+'/'+de[1]+' '+de[2]+':'+de[3]+' '+dd[d.getDay()]; date.setAttribute('label', str); setTimeout(arguments.callee, date_interval_sec * 1000); }, 1000); })(); EOF
バッテリ残量を表示する。
:javascript << EOF (function(){ var status_bar = document.getElementById('status-bar'); var insert_pos = document.getElementById('security-button'); var bat_interval_sec = 180; var bat_file = '/sys/devices/platform/smapi/BAT0/remaining_percent'; var bat_id = 'bat-status'; var bat_status = document.getElementById(bat_id); if(bat_status){ status_bar.removeChild(bat_status); } bat_status = document.createElement('statusbarpanel'); bat_status.setAttribute('id',bat_id); status_bar.insertBefore(bat_status, insert_pos); setTimeout(function(){ var str = '[' + liberator.io.readFile(bat_file) + '%]'; bat_status.setAttribute('label', str); setTimeout(arguments.callee, bat_interval_sec * 1000); }, 1000); })(); EOF
曜日の表示やら日付の表示を変えたい場合は
var dd = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat']; var str = de[0]+'/'+de[1]+' '+de[2]+':'+de[3]+' '+dd[d.getDay()];
を
var dd = ['日', '月', '火', '水', '木', '金', '土']; var str = de[0]+'月'+de[1]+'日 '+de[2]+'時'+de[3]+'分 '+dd[d.getDay()];