O menu pode ser oculto ou oculto automaticamente (como no Slack ou VS Code - você pode pressionar Alt para mostrar / ocultar o menu).
Métodos relevantes:
---- win.setMenu (menu) - Define o menu como a barra de menus da janela, definindo-o como nulo removerá a barra de menus. ( Isso removerá o menu completamente )
mainWindow.setMenu(null)
---- win.setAutoHideMenuBar (ocultar) - Define se a barra de menus da janela deve se ocultar automaticamente. Uma vez definida, a barra de menus só será
exibida quando os usuários pressionarem a única tecla Alt .
mainWindow.setAutoHideMenuBar(true)
Fonte: https://github.com/Automattic/simplenote-electron/issues/293
Também existe o método para fazer uma janela sem moldura, conforme mostrado abaixo:
(sem botão de fechar, nada. Pode ser o que queremos (design melhor))
const { BrowserWindow } = require('electron')
let win = new BrowserWindow({ width: 800, height: 600, frame: false })
win.show()
https://electronjs.org/docs/api/browser-window#winremovemenu-linux-windows
doc: https://electronjs.org/docs/api/frameless-window
Editar: (novo)
win.removeMenu()
Linux Windows Remova a barra de menu da janela.
https://electronjs.org/docs/api/browser-window#winremovemenu-linux-windows
Adicionado win.removeMenu () para remover menus de aplicativos em vez de usar win.setMenu (null)
Isso é adicionado a partir da v5 conforme:
https://github.com/electron/electron/pull/16570
https://github.com/electron/electron/pull/16657
Bug Electron v7
Para Electron 7.1.1, use em Menu.setApplicationMenu
vez dewin.removeMenu()
de acordo com este tópico:
https://github.com/electron/electron/issues/16521
E a grande observação é: você precisa chamá-lo antes de criar o BrowserWindow ! Ou não vai funcionar!
const {app, BrowserWindow, Menu} = require('electron')
Menu.setApplicationMenu(null);
const browserWindow = new BrowserWindow({/*...*/});
UPDATE (Configurando autoHideMenuBar na construção do BrowserWindow)
Como pelo comentário de @kcpr! Podemos definir a propriedade e muitas no construtor
Isso está disponível na última versão estável do elétron agora que é 8.3!
Mas também nas versões antigas eu verifiquei se há v1, v2, v3, v4!
Está disponível em todas as versões!
De acordo com este link
https://github.com/electron/electron/blob/1-3-x/docs/api/browser-window.md
E para a v8.3
https://github.com/electron/electron/blob/v8.3.0/docs/api/browser-window.md#new-browserwindowoptions
O link do documento
https://www.electronjs.org/docs/api/browser-window#new-browserwindowoptions
Do doc para a opção:
autoHideMenuBar Boolean (opcional) - Oculta automaticamente a barra de menus, a menos que a tecla Alt seja pressionada. O padrão é falso.
Aqui está um snippet para ilustrar isso:
let browserWindow = new BrowserWindow({
width: 800,
height: 600,
autoHideMenuBar: true // <<< here
})
frame: false
fez isso por mim.