MarshallOfSound/Google-Play-Music-Desktop-Player-UNOFFICIAL-

View on GitHub
src/main/features/core/sleepPreventor.js

Summary

Maintainability
A
0 mins
Test Coverage
import { powerSaveBlocker } from 'electron';

let currentBlocker = null;

const block = () => {
  if (currentBlocker !== null && powerSaveBlocker.isStarted(currentBlocker)) return;
  currentBlocker = powerSaveBlocker.start('prevent-display-sleep');
};

const unblock = () => {
  if (currentBlocker !== null && powerSaveBlocker.isStarted(currentBlocker)) {
    powerSaveBlocker.stop(currentBlocker);
  }
  currentBlocker = null;
};

Settings.onChange('preventDisplaySleep', (shouldPrevent) => {
  if (shouldPrevent) {
    block();
  } else {
    unblock();
  }
});

if (Settings.get('preventDisplaySleep')) block();