Operaで最後に見てたページを知る
Opera を終了させた後で、Opera で最後に見てたページ (タブ) を知りたいと思うことがあるかもしれない。
Opera はセッション情報を autosave.win というファイルに保存しているので、これを見る。
ファイルの形式は端折るけど、テキストファイルで↓みたいなことが書かれている。(「:」は不特定数行の省略の意味)
[1] : stack position=0 : type=0 : id=174 : [2] : stack position=0 : type=1 : parent=174 : [2history url] count=1 0=http://www.google.com :
[1] とか [2] とかはウィンドウとタブに振られる番号。type=0 がウィンドウで、type=1 がタブとなっている。
それぞれには id=174 などという個別の番号が振られていて、type=1 (タブ) の場合は、parent=174 と親ウィンドウの番号を保存している。
stack position=0 というのは、履歴上の順番が一番最初という意味。ウィンドウの履歴とタブの履歴があるので、stack position=0 は2つ存在する。
最後に、[2history url] という項目を見ると、履歴の新しい順に URL が並んでいる。
というわけで、Opera で最後に開いていたタブを調べるには、
- type=0 かつ stack position=0 な項目の id を調べて、
- その数字を parent に持つ type=1 かつ stack position=0 な項目を調べて、
- history url の0番目を見る。
という方法で出来そう。
ところでこの autosave.win だけど、ページ遷移があったり、タブが開いたときにのみ更新されるらしい。(それからもちろん Opera 終了時)
異常終了したときに調べても意味無いかな。
ちょっとボツネタ気味だなあ。
まあ異常終了する時はページ遷移の時が多いと仮定するなら意味があるかも。
参考
これと組み合わせてちょっと遊んでる。