vrubyで、次のようにしてウィンドウの位置と大きさを保存・復帰させてみたのですが、
起動と終了を繰り返すたびにウィンドウが小さくなってしまいます。
どうすれば正しくできるのでしょうか?

require 'vr/vruby'
require 'vr/vrhandler'
require 'pstore'

class Form1 < VRForm
  include VRClosingSensitive
  #include VRMessageHandler
 
  def construct
    @db = PStore.new("window.db")
    @db.transaction do
      pos = @db["pos"] || @db.abort
      p pos
      self.move(*pos)
    end
  end
 
  def self_close
    @db.transaction do
      @db["pos"] = [x, y, w, h]
    end
  end
end

VRLocalScreen.start(Form1)