Vimperator, Mac | |
今の Firefox では *.sqlite を定期的に vacuum & reindex しないとどんどん遅くなるというのは常識となっている訳なんだけど、どうすれば一番楽なのか色々試行錯誤してた。
最初は cron で kill して vacuum & reindex してみたんだけど、いきなり Firefox が落ちて、タブの復元画面が出るってのは、設定した本人でもちょっと驚くし、ストレスを感じるので、そちらの方向は止めた。
MozRepl 使ってタブの復元画面が出ないようにすれば良いのかと考えたけど、本当に必要なとき以外は無効にしているので、常時有効にするのもちょっと遠回りな感じで嫌だなと。
というわけで、簡単な Shell Script と vimperator の map を組み合わせて、終了 -> vacuum -> reindex -> 起動という流れをワンストロークで出来るようにするのが一番楽かなという結論に達した。
map ,C :!cleanfox.sh &<CR>ZZ
cleanfox.sh 自体はこちら。
ZZ が後にきてるけど cleanfox.sh が Firefox 自体の終了を最大 60 秒ほど待つし fork してるおかげで、自分の環境では、タブの復元画面も出ずに快適。
あと、タグ付けしてるとおり Mac でしか動かないし、 cleanfox.sh 見ればわかるように pgrep とか sqlite3 入ってないとダメだったり、 Profile とか Cache の位置がへんな所にあっても動かない。
Mac 以外の Unix 系の OS だったら open のかわりに nohup とか使ったら動きそうだなーとか思います。 Windows だったらどうするのが楽かとかは考えたくないですね。