Skip to main content

Usage

import { useScreenSleep } from 'node-fullykiosk';

function App() {
  const { isScreenOn, turnOff, turnOn } = useScreenSleep({
    screenOff: () => console.log('Screen turned off'),
    screenOn: () => console.log('Screen turned on'),
  });

  return (
    <div>
      <p>Screen is {isScreenOn ? 'on' : 'off'}</p>
      <button onClick={turnOff}>Turn Off</button>
      <button onClick={turnOn}>Turn On</button>
    </div>
  );
}

Parameters

config
ScreenSleepConfig
Configuration object for screen sleep callbacks.

Return Value

Returns an object with the following properties:
isScreenOn
boolean
Indicates whether the screen is currently on. Returns false if not running in Fully Kiosk Browser.
turnOff
() => void
Function to turn the screen off.
turnOn
() => void
Function to turn the screen on.
forceSleep
() => void
Function to force the device into sleep mode.
startScreensaver
() => void
Function to start the screensaver.
stopScreensaver
() => void
Function to stop the screensaver.
startDaydream
() => void
Function to start the Android Daydream (screensaver).
stopDaydream
() => void
Function to stop the Android Daydream.

Examples

Screen Power Controls

import { useScreenSleep } from 'node-fullykiosk';

function ScreenControls() {
  const { isScreenOn, turnOff, turnOn, forceSleep } = useScreenSleep();

  return (
    <div>
      <p>Screen Status: {isScreenOn ? 'On' : 'Off'}</p>
      <button onClick={turnOff}>Turn Off Screen</button>
      <button onClick={turnOn}>Turn On Screen</button>
      <button onClick={forceSleep}>Force Sleep</button>
    </div>
  );
}

Screensaver Management

import { useScreenSleep } from 'node-fullykiosk';

function ScreensaverControls() {
  const { startScreensaver, stopScreensaver } = useScreenSleep();

  return (
    <div>
      <button onClick={startScreensaver}>Start Screensaver</button>
      <button onClick={stopScreensaver}>Stop Screensaver</button>
    </div>
  );
}

Screen Event Monitoring

import { useScreenSleep } from 'node-fullykiosk';
import { useState } from 'react';

function ScreenMonitor() {
  const [events, setEvents] = useState<string[]>([]);

  const { isScreenOn } = useScreenSleep({
    screenOn: () => {
      setEvents(prev => [...prev, `Screen turned on at ${new Date().toLocaleTimeString()}`]);
    },
    screenOff: () => {
      setEvents(prev => [...prev, `Screen turned off at ${new Date().toLocaleTimeString()}`]);
    },
  });

  return (
    <div>
      <p>Current state: {isScreenOn ? 'On' : 'Off'}</p>
      <h3>Event Log:</h3>
      <ul>
        {events.map((event, i) => (
          <li key={i}>{event}</li>
        ))}
      </ul>
    </div>
  );
}

Build docs developers (and LLMs) love