pooliot-client
Version:
41 lines (33 loc) • 1.34 kB
JavaScript
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());