UNPKG

pooliot-client

Version:
41 lines (33 loc) 1.34 kB
import { fork } from 'child_process'; import getIPC from 'node-ipc-promise'; import { webPort } from './params'; import { get as getConfig } from './config'; import findNetworkInterface from './utils/networkInterface'; import { selfUpdate } from './update'; import * as display from './commands/display'; import * as screen from './commands/screen'; export const childServer = fork(require.resolve('../server'), [`--port=${webPort}`], { cwd: __dirname, stdio: 'inherit', }); const ipc = getIPC(childServer); ipc.register('getNetworkInterface', () => findNetworkInterface()); ipc.register('getScreenInfo', () => ({ state: screen.getCurrentScreenState() })); ipc.register('setScreenOn', () => { screen.on(); return { state: screen.getCurrentScreenState() }; }); ipc.register('setScreenOff', () => { screen.off(); return { state: screen.getCurrentScreenState() }; }); ipc.register('selfUpdate', () => selfUpdate()); ipc.register('getDisplayInfo', () => { const config = getConfig(); return { display: config.display, url: config.url }; }); ipc.register('startDisplay', () => display.start()); ipc.register('restartDisplay', () => display.restart()); ipc.register('stopDisplay', () => display.stop()); ipc.register('refreshDisplay', () => display.refresh()); ipc.register('setOpenboxStarted', () => display.openboxStarted());