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 で最後に開いていたタブを調べるには、

  1. type=0 かつ stack position=0 な項目の id を調べて、
  2. その数字を parent に持つ type=1 かつ stack position=0 な項目を調べて、
  3. history url の0番目を見る。

という方法で出来そう。


ところでこの autosave.win だけど、ページ遷移があったり、タブが開いたときにのみ更新されるらしい。(それからもちろん Opera 終了時)

異常終了したときに調べても意味無いかな。

ちょっとボツネタ気味だなあ。

まあ異常終了する時はページ遷移の時が多いと仮定するなら意味があるかも。

参考

これと組み合わせてちょっと遊んでる。