2019-04-05 17:40:00 +09:00
|
|
|
'use strict'
|
|
|
|
|
2019-04-09 00:06:28 +09:00
|
|
|
import { pick } from 'lodash'
|
2019-04-06 20:38:17 +09:00
|
|
|
import {
|
2019-04-09 00:06:28 +09:00
|
|
|
app,
|
|
|
|
ipcMain,
|
|
|
|
protocol,
|
|
|
|
Event,
|
|
|
|
} from 'electron'
|
|
|
|
|
2019-04-06 20:38:17 +09:00
|
|
|
import ContextMenu from 'electron-context-menu'
|
2019-04-10 19:35:55 +09:00
|
|
|
|
|
|
|
import Application from './main/Application'
|
2019-04-22 18:39:16 +09:00
|
|
|
import ApplicationMenu from './main/ApplicationMenu'
|
2019-04-08 00:55:27 +09:00
|
|
|
|
2019-04-22 18:39:16 +09:00
|
|
|
export type PackageJson = typeof import('../package.json')
|
2019-04-22 15:57:51 +09:00
|
|
|
import { author, contributors, homepage } from '../package.json'
|
2019-04-09 00:06:28 +09:00
|
|
|
import TheDeskInfo from '../info.json'
|
2019-04-22 18:39:16 +09:00
|
|
|
export type TheDeskInfoObject = typeof TheDeskInfo
|
2019-04-06 00:38:20 +09:00
|
|
|
|
2019-04-09 00:06:28 +09:00
|
|
|
ipcMain.on('thedesk-info', (event: Event) => {
|
2019-04-09 00:38:04 +09:00
|
|
|
event.returnValue = Object.assign({
|
2019-04-09 00:06:28 +09:00
|
|
|
productName: app.getName(),
|
2019-04-22 15:29:48 +09:00
|
|
|
author: author,
|
2019-04-22 15:57:51 +09:00
|
|
|
contributors: contributors,
|
2019-04-09 00:06:28 +09:00
|
|
|
homePage: homepage,
|
2019-04-22 18:39:16 +09:00
|
|
|
versions: Object.assign(pick(process.versions, ['chrome', 'electron', 'node']), { internal: app.getVersion() }),
|
2019-04-09 00:06:28 +09:00
|
|
|
}, TheDeskInfo)
|
|
|
|
})
|
2019-04-05 17:40:00 +09:00
|
|
|
|
2019-04-22 18:39:16 +09:00
|
|
|
if (process.env.NODE_ENV !== 'production') {
|
2019-04-09 00:06:28 +09:00
|
|
|
if (process.platform === 'win32') {
|
|
|
|
process.on('message', data => {
|
|
|
|
if (data === 'graceful-exit') {
|
|
|
|
app.quit()
|
|
|
|
}
|
|
|
|
})
|
|
|
|
} else {
|
|
|
|
process.on('SIGTERM', () => {
|
|
|
|
app.quit()
|
|
|
|
})
|
|
|
|
}
|
|
|
|
}
|
2019-04-05 21:19:58 +09:00
|
|
|
|
2019-04-05 17:40:00 +09:00
|
|
|
protocol.registerStandardSchemes(['app'], { secure: true })
|
2019-04-06 20:38:17 +09:00
|
|
|
|
2019-04-10 19:35:55 +09:00
|
|
|
ContextMenu()
|
2019-04-09 00:06:28 +09:00
|
|
|
|
2019-04-10 19:35:55 +09:00
|
|
|
const TheDeskVueApp: Application = Application.shared
|
|
|
|
TheDeskVueApp.setApplicationMenu(ApplicationMenu.buildTemplate())
|