みかづきブログ・カスタム

基本的にはちょちょいのほいです。

Electronアプリ起動中にスリープモードに入らないようにする 💤

www.electronjs.org

例えば、動画を再生するアプリを制作するときなど、長時間入力がなくてもPCをスリープモードに入らせないようにしたい場合があります。
そんなときは、electron.powerSaveBlockerを使えば、スリープモードに入ることを防ぐことができます。

const { powerSaveBlocker } = require('electron');

powerSaveBlocker.start('prevent-display-sleep'); // スリープ防止

解除したい場合は、powerSaveBlocker.startの戻り値をpowerSaveBlocker.stopに渡してあげればOKです。

const { powerSaveBlocker } = require('electron');

const id = powerSaveBlocker.start('prevent-display-sleep'); // スリープ防止

powerSaveBlocker.stop(id); // スリープ防止解除

設定方法と解除方法が、window.setIntervalとwindow.clearIntervalに似た感じですね。

開発中はスリープを防止したくない場合は、electron-is-devを使って、

const { powerSaveBlocker } = require('electron');
const isDev = require('electron-is-dev');

if (!isDev) {
  powerSaveBlocker.start('prevent-display-sleep'); // スリープ防止
}

という感じに設定できます。

www.npmjs.com