chore: Hide devtools in production menu
This commit is contained in:
2 files changed
+98
-1
No files matched your search
@@ -4,12 +4,14 @@ const {
|
||||
default: installExtension,
|
||||
EMBER_INSPECTOR,
|
||||
} = require('electron-devtools-installer');
|
||||
const { session, app, protocol, BrowserWindow, ipcMain } = require('electron');
|
||||
const { session, app, protocol, BrowserWindow, ipcMain, Menu } = require('electron');
|
||||
require('./handlers.js');
|
||||
|
||||
const origin = require('./origin.js');
|
||||
const { generateCSPHeader } = require('./content-security-policy.js');
|
||||
|
||||
const menu = require('./menu.js');
|
||||
|
||||
const isDev = require('electron-is-dev');
|
||||
|
||||
// Register the custom file protocol
|
||||
@@ -88,6 +90,12 @@ app.on('ready', async () => {
|
||||
}
|
||||
}
|
||||
|
||||
// Configure menu in prod env
|
||||
if(!isDev) {
|
||||
const menuTemplate = Menu.buildFromTemplate(menu.generateMenuTemplate());
|
||||
Menu.setApplicationMenu(menuTemplate);
|
||||
}
|
||||
|
||||
mainWindow = new BrowserWindow({
|
||||
width: 1024,
|
||||
height: 768,
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
const { shell } = require('electron')
|
||||
|
||||
const generateMenuTemplate = () => {
|
||||
return [
|
||||
// { role: 'appMenu' }
|
||||
{
|
||||
label: 'Boundary Desktop',
|
||||
submenu: [
|
||||
{ role: 'about' },
|
||||
{ type: 'separator' },
|
||||
{ role: 'services' },
|
||||
{ type: 'separator' },
|
||||
{ role: 'hide' },
|
||||
{ role: 'hideothers' },
|
||||
{ role: 'unhide' },
|
||||
{ type: 'separator' },
|
||||
{ role: 'quit' }
|
||||
]
|
||||
},
|
||||
// { role: 'fileMenu' }
|
||||
{
|
||||
label: 'File',
|
||||
submenu: [
|
||||
{ role: 'close' }
|
||||
]
|
||||
},
|
||||
// { role: 'editMenu' }
|
||||
{
|
||||
label: 'Edit',
|
||||
submenu: [
|
||||
{ role: 'undo' },
|
||||
{ role: 'redo' },
|
||||
{ type: 'separator' },
|
||||
{ role: 'cut' },
|
||||
{ role: 'copy' },
|
||||
{ role: 'paste' },
|
||||
{ role: 'pasteAndMatchStyle' },
|
||||
{ role: 'delete' },
|
||||
{ role: 'selectAll' },
|
||||
{ type: 'separator' },
|
||||
{
|
||||
label: 'Speech',
|
||||
submenu: [
|
||||
{ role: 'startSpeaking' },
|
||||
{ role: 'stopSpeaking' }
|
||||
]
|
||||
}
|
||||
]
|
||||
},
|
||||
// { role: 'viewMenu' }
|
||||
{
|
||||
label: 'View',
|
||||
submenu: [
|
||||
{ role: 'reload' },
|
||||
{ type: 'separator' },
|
||||
{ role: 'resetZoom' },
|
||||
{ role: 'zoomIn' },
|
||||
{ role: 'zoomOut' },
|
||||
{ type: 'separator' },
|
||||
{ role: 'togglefullscreen' }
|
||||
]
|
||||
},
|
||||
// { role: 'windowMenu' }
|
||||
{
|
||||
label: 'Window',
|
||||
submenu: [
|
||||
{ role: 'minimize' },
|
||||
{ role: 'zoom' },
|
||||
{ type: 'separator' },
|
||||
{ role: 'front' },
|
||||
{ type: 'separator' },
|
||||
{ role: 'window' }
|
||||
]
|
||||
},
|
||||
{
|
||||
role: 'help',
|
||||
submenu: [
|
||||
{
|
||||
label: 'Documentation',
|
||||
click: () => shell.openExternal('https://www.boundaryproject.io')
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
generateMenuTemplate: generateMenuTemplate
|
||||
};
|
||||
Reference in new issue
Block a user