個人的にはUst見るときとかに無いとやってられないno-reading.jsですが
pentadactyl(スペルも名前も覚えにくい)でそのまま動かすことが出来ませんでした。
xul周りの仕様が違うからのようです。
"liberator.xul - vimperator-labs - Project Hosting on Google Code"
http://bit.ly/bqhA2o
<statusbar id="status-bar" liberator:highlight="StatusLine"> <hbox insertbefore="&liberator.statusBefore;" insertafter="&liberator.statusAfter;" id="liberator-statusline" flex="1" hidden="false" align="center"> <textbox class="plain" id="liberator-statusline-field-url" readonly="false" flex="1" crop="end"/> <label class="plain" id="liberator-statusline-field-inputbuffer" flex="0"/> <label class="plain" id="liberator-statusline-field-progress" flex="0"/> <label class="plain" id="liberator-statusline-field-tabcount" flex="0"/> <label class="plain" id="liberator-statusline-field-bufferposition" flex="0"/> </hbox> <!-- just hide them since other elements expect them --> <statusbarpanel id="statusbar-display" hidden="true"/> <statusbarpanel id="statusbar-progresspanel" hidden="true"/> </statusbar>
とか
"dactyl.xul - dactyl - Project Hosting on Google Code"
http://bit.ly/a7OG7X
<statusbar id="status-bar" dactyl:highlight="StatusLine"> <hbox insertbefore="&dactyl.statusBefore;" insertafter="&dactyl.statusAfter;" id="dactyl-statusline-field-status" flex="1" hidden="false" align="center"> <textbox class="plain" id="dactyl-statusline-field-url" readonly="false" flex="1" crop="end"/> <label class="plain" id="dactyl-statusline-field-inputbuffer" flex="0"/> <label class="plain" id="dactyl-statusline-field-progress" flex="0"/> <label class="plain" id="dactyl-statusline-field-tabcount" flex="0"/> <label class="plain" id="dactyl-statusline-field-bufferposition" flex="0"/> <label class="plain" id="dactyl-statusline-field-zoomlevel" flex="0"/> </hbox> <!-- just hide them since other elements expect them --> <statusbarpanel id="statusbar-display" hidden="true"/> <statusbarpanel id="statusbar-progresspanel" hidden="true"/> </statusbar>
とか。
で、出てるエラーは
Sourcing file: ~/.pentadactyl/plugins/no-reading.js:135: TypeError: sl is null
なので名前の変わったものをきちんとセットしようと言うことで
no-readings.jsの129行目あたりを純粋に置き換えて
// sl = document.getElementById('liberator-statusline'), sl = document.getElementById('dactyl-statusline-field-status'), // slfu = document.getElementById('liberator-statusline-field-inputbuffer') slfu = document.getElementById('dactyl-statusline-field-inputbuffer')
すればいけるかと思ったら
"document.getElementById('dactyl-statusline-field-status')"がnullでだめだった。
一方で"document.getElementById('dactyl-statusline-field-inputbuffer')"は
ちゃんと取れてくるみたい。
仕方ないんでその辺りから他のものを取ってきて(適当すぎる)
// sl = document.getElementById('liberator-statusline'), sl = document.getElementById('statusbar-progresspanel'),
したら一応動くように。
migrateの時もだったから
sl = document.getElementById('dactyl-statusline-field-container')
の方が良いのかな?
とにかくslにnullが渡ってこなければうまく動くような気もしてきた。
jsとかXULちゃんと勉強しないとだめだなぁ。。。