forked from cerebral/overmind
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.js
More file actions
93 lines (85 loc) · 2.6 KB
/
main.js
File metadata and controls
93 lines (85 loc) · 2.6 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
const electron = require('electron')
const app = electron.app
const appVersion = app.getVersion()
const BrowserWindow = electron.BrowserWindow
const path = require('path')
const ConnectionManager = require('./ConnectionManager')
process.env.ELECTRON_DISABLE_SECURITY_WARNINGS = 'true'
function createWindow() {
const mainWindow = new BrowserWindow({
icon: path.resolve('icons', 'icon.png'),
height: 768,
width: 768,
minHeight: 768,
minWidth: 768,
})
const connectionManager = new ConnectionManager(mainWindow)
mainWindow.on('closed', () => app.quit())
if (process.env.NODE_ENV === 'production') {
mainWindow.loadFile(path.join(__dirname, '..', 'dist', 'index.html'))
} else {
mainWindow.webContents.openDevTools()
mainWindow.loadFile(path.join(__dirname, 'dev.html'))
}
electron.Menu.setApplicationMenu(
electron.Menu.buildFromTemplate([
{
label: 'Application',
submenu: [
{ label: 'Overmind Devtools v' + appVersion },
{ type: 'separator' },
{
label: 'Learn More',
click() {
require('electron').shell.openExternal(
'https://cerebraljs.com/docs/introduction/debugger.html'
)
},
},
{
label: 'Release Notes',
click() {
require('electron').shell.openExternal(
'https://github.com/cerebral/cerebral-debugger/releases/tag/v' +
appVersion
)
},
},
{
label: 'License',
click() {
require('electron').shell.openExternal(
'https://github.com/cerebral/cerebral-debugger/blob/master/LICENSE'
)
},
},
{ type: 'separator' },
{ role: 'quit' },
],
},
{
label: 'Edit',
submenu: [
{ role: 'undo' },
{ role: 'redo' },
{ type: 'separator' },
{ role: 'cut' },
{ role: 'copy' },
{ role: 'paste' },
{ role: 'selectall' },
],
},
])
)
electron.ipcMain.on('relaunch', () => {
app.relaunch()
app.quit()
})
electron.ipcMain.on('message', connectionManager.onDevtoolsMessage)
electron.ipcMain.on('port:add', connectionManager.onAddPort)
electron.ipcMain.on('port:remove', connectionManager.onRemovePort)
}
// This method will be called when Electron has finished
// initialization and is ready to create browser windows.
// Some APIs can only be used after this event occurs.
app.on('ready', createWindow)