47 lines
1,000 B
JavaScript
47 lines
1,000 B
JavaScript
![]() |
const { app, BrowserWindow, Menu } = require('electron/main')
|
||
|
const { shell } = require('electron/common')
|
||
|
|
||
|
function createWindow () {
|
||
|
const win = new BrowserWindow()
|
||
|
win.loadFile('index.html')
|
||
|
}
|
||
|
|
||
|
function closeAllWindows () {
|
||
|
const wins = BrowserWindow.getAllWindows()
|
||
|
for (const win of wins) {
|
||
|
win.close()
|
||
|
}
|
||
|
}
|
||
|
|
||
|
app.whenReady().then(() => {
|
||
|
createWindow()
|
||
|
|
||
|
const dockMenu = Menu.buildFromTemplate([
|
||
|
{
|
||
|
label: 'New Window',
|
||
|
click: () => { createWindow() }
|
||
|
},
|
||
|
{
|
||
|
label: 'Close All Windows',
|
||
|
click: () => { closeAllWindows() }
|
||
|
},
|
||
|
{
|
||
|
label: 'Open Electron Docs',
|
||
|
click: () => {
|
||
|
shell.openExternal('https://electronjs.org/docs')
|
||
|
}
|
||
|
}
|
||
|
// add more menu options to the array
|
||
|
])
|
||
|
|
||
|
app.dock.setMenu(dockMenu)
|
||
|
|
||
|
app.on('activate', function () {
|
||
|
if (BrowserWindow.getAllWindows().length === 0) createWindow()
|
||
|
})
|
||
|
})
|
||
|
|
||
|
app.on('window-all-closed', function () {
|
||
|
if (process.platform !== 'darwin') app.quit()
|
||
|
})
|