LoginSignup
40
42

More than 5 years have passed since last update.

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

Posted at

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 ではないことに注意.

40
42
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
40
42