XULの要素の状態を保存、復元できます。それ以外の情報については、ユーザー設定で管理できます。
たとえばwindow要素のサイズを保存するならば、その要素にpersist属性を指定し、そこで保存したい属性の名前を空白区切りで列挙します。
<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" id="test-window" persist="width height">
こうするだけでウィンドウを閉じたときに指定した属性の値が保存され、再度ウィンドウを開いたときには、その値が属性に自動で設定されるようになります。
永続化の対象とできる要素や属性に制限はなく、すべての要素のすべての属性を保存できます。必要なのは、persist属性を設定する要素にid属性が設定されていることだけです。
データはプロファイル フォルダのlocalstore.rdfに、RDF形式で保存されます。Localstore.rdf - MozillaZine Knowledge Base
Firefox 34以降このlocalstore.rdfは、xulstore.jsonに置き換えられています。
<RDF:Description RDF:about="chrome://myPackage/content/sample.xul#test-window" width="300" height="200" />
Firefox 34以降では従来のlocalstore.rdfに代わり、xulstore.jsonにJSON形式で保存されるようになりました。
{"chrome://myPackage/content/sample.xul":{ "test-window":{ "width":"300", "height":"200"}}}