obsidian-advanced-slides icon indicating copy to clipboard operation
obsidian-advanced-slides copied to clipboard

feat: Prevent suspend during presentation w/ Screen Wake Lock API

Open batonac opened this issue 11 months ago • 0 comments

Is your feature request related to a problem? Please describe. Currently the screen can turn off and the computer suspend during a Advanced Slides presentation, which is problematic.

Describe the solution you'd like It seems easy enough to utilize the Screen Wake Lock API:

// Create a reference for the Wake Lock.
let wakeLock = null;

// create an async function to request a wake lock
try {
  wakeLock = await navigator.wakeLock.request("screen");
  statusElem.textContent = "Wake Lock is active!";
} catch (err) {
  // The Wake Lock request has failed - usually system related, such as battery.
  statusElem.textContent = `${err.name}, ${err.message}`;
}

Describe alternatives you've considered The computer can be set to disable suspend, but that's a cumbersome solution.

Additional context Secure context is required, but apparently localhost qualifies:

Locally-delivered resources such as those with http://127.0.0.1 URLs, http://localhost and http://*.localhost URLs (e.g. http://dev.whatever.localhost/), and file:// URLs are also considered to have been delivered securely.

batonac avatar Mar 25 '24 01:03 batonac