nautilusのソースを読んでいたら、2800行のファイル(src/file-manager/fm-icon-view.c 461KB)を読み込んだとき、メモリ不足で目的の関数を調べることができなかった。長いファイルを読み込むとメモリ不足になってどうともできなくなり、正直気兼ね無く使えるシロモノとは呼べない。レスポンスが悪いとか、タブ3つは使いにくいとかはまだある程度ゆるせるけど、簡単にメモリ不足に陥られては微妙。
後,GLOBALで生成したHTMLはファイルが多すぎてgimpのソース全部だと容量が足りなくなった。
とはいえ、PSPのワイド画面は思ったよりも見やすかった。PCで見る画面とほとんど変わらない感じで見れる。PSP用に対処する必要はあるけど(flashが使えない、あと上のように大きいファイルは読めない)、画面の大きさでは現行のモバイル機器の中では一番webブラウジングには向いているのかも知れない。
(追記)メモリ不足の件は、他に大きいファイルを開いていたのが原因のようだ、とはいえ1MB強のファイルを開く場合は単体でメモリ不足になる。
PSPのブラウザで何が使えて何が使えないのか、SCEI(Sony Computer Entertament Inc.)に問い合わせたら、PSPシステムソフトウェアアップデートの更新内容のその他にあるとの返信をもらった。どうも2.80から配布が始まっていた模様、いつもこのページ見ないでアップデートしてたから全然気がつかなかったorz
で、案の定appendChild、createElement、replaceChildの類はアウト、Layerも全てダメ。とか思ってたら、RegExpの$1,...,$9もダメなのか。むーむむー、思ったより厳しいなぁ。
使えない使えないと騒いでいたけどちゃんと使えたよorz。うーん、他のところで間違ってたのをinnerHTMLが原因だと勘違いしたんだろうなぁ...。さて、原因はどこだ。
innerHTMLのカウンタにPSPでアクセスすればちゃんとカウンタアップしていく。
まぁしかし、最低限のモノから一つ一つ確認するという初歩的な調査を怠った報いかな。
ちょっと前からちまちまと作業をしていた nautilus 上で TortoiseSVN みたいな事ができる拡張がある程度形になった。TortoiseSVN のようにファイルマネージャに統合された、1) 右クリックメニューで各種 svn コマンドが打てる、 2) 最新、要更新、コンフリクトがアイコンで表示される、というのが欲しかったけど、1) ができるのはあっても、2) 状態を表示するのが無かったので作ってみた。
nautilus-extension を python から制御する nautilus-python を利用してアイコンの更新を行い、pysvn を使って svn のやりとりを作った。
んが、nautilus-extension ではエンブレムの追加をする関数はあるのに、削除する関数が無かったので、結局そこに手を入れて削除する関数を追加。
今のところ、対象とできるディレクトリは一つ。最新、要更新、コンフリクトを表すアイコンの表示と表示の更新、右クリックメニューからコミット(複数可)ができる状態。まぁこれは nautilus-python のスクリプトをいじるだけなので、ちまちま進めよう。あぁ、 pygtk とか使ってダイアログも表示させないとなぁ、コミットコメント固定やし...。
とか思ってたら、既に作ってる人達がいたのか...。まぁ当たり前っちゃあ当り前やけども。でもこれだとディレクトリ開いてる状態で emblem の更新ができないはずなんだけどなぁ。...まぁ気にしない。
【追記 2009/2/5 8:03】ubuntu 8.10 の Nautilus 2.24.1 で試したら、emblem の更新で前に add_emblem した emblem が残らなくなっていた。問題の切り分けをまだやっていないけど、とりあえず上の patch は既に意味が無いものになっていると思われる。