22 lines
685 B
JavaScript
22 lines
685 B
JavaScript
const { spawn } = require('node:child_process')
|
|
const { join } = require('node:path')
|
|
|
|
// X11 нужен до запуска Electron, чтобы размещать показ на выбранном дисплее.
|
|
const child = spawn(
|
|
require('electron'),
|
|
[
|
|
...(process.platform === 'linux' ? ['--ozone-platform=x11'] : []),
|
|
process.argv[2],
|
|
...process.argv.slice(3),
|
|
],
|
|
{ cwd: join(__dirname, '..'), stdio: 'inherit' },
|
|
)
|
|
child.on('error', (error) => {
|
|
console.error(error.message)
|
|
process.exitCode = 1
|
|
})
|
|
child.on('exit', (code) => {
|
|
process.exitCode = code ?? 1
|
|
})
|
|
for (const signal of ['SIGINT', 'SIGTERM']) process.on(signal, () => child.kill(signal))
|