Help us understand the problem. What is going on with this article?

Electron アプリのウィンドウサイズ&ポジションを復元する

More than 5 years have passed since last update.

Chrome はウィンドウを閉じた時のサイズとポジションを覚えてくれているので Electron でもそういう API があると期待したけれど,無かった ので自前実装したメモ.

アプリが終了する時にファイルに書き出す.ファイルはユーザデータのディレクトリあたりに適当な名前で保存する.

var info_path = path.join(app.getPath("userData"), "bounds-info.json");

ウィンドウを作成する際に保存された情報を読みに行き,あればそれを使うようにする.

var bounds_info;
try {
    bounds_info = JSON.parse(fs.readFileSync(info_path, 'utf8'));
}
catch(e) {
    bounds_info = {width: 800, height: 1000};  // デフォルトバリュー
}

mainWindow = new BrowserWindow(bounds_info);

最後に,ウィンドウを閉じる直前にファイルにウィンドウのサイズと位置を保存する.

mainWindow.on('close', function() {
    fs.writeFileSync(info_path, JSON.stringify(mainWindow.getBounds()));
});

書き込むのはウィンドウを閉じる直前のイベントである close であり,closed ではないことに注意.

Linda_pp
C++, Ruby.型付けは強いほうが好きで静的派.計算機言語つくったりデスクトップアプリつくったりエディタプラグインつくったりが楽しい.
http://d.hatena.ne.jp/rhysd/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away