obsidian-advanced-slides
obsidian-advanced-slides copied to clipboard
feat: Prevent suspend during presentation w/ Screen Wake Lock API
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.