Il menu può essere nascosto o auto-nascosto (come in Slack o VS Code : puoi premere Alt per mostrare / nascondere il menu).
Metodi rilevanti:
---- win.setMenu (menu) - Imposta il menu come barra dei menu della finestra, impostandolo su null rimuoverà la barra dei menu. ( Questo rimuoverà completamente il menu )
mainWindow.setMenu(null)
---- win.setAutoHideMenuBar (hide) - Imposta se la barra dei menu della finestra deve nascondersi automaticamente. Una volta impostata, la barra dei menu verrà
visualizzata solo quando gli utenti premono il singolo tasto Alt .
mainWindow.setAutoHideMenuBar(true)
Fonte: https://github.com/Automattic/simplenote-electron/issues/293
C'è anche il metodo per creare una finestra senza cornice come mostrato di seguito:
(nessun pulsante di chiusura, niente. Può essere quello che vogliamo (design migliore))
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
Modifica: (nuovo)
win.removeMenu()
Linux Windows Rimuovere la barra dei menu della finestra.
https://electronjs.org/docs/api/browser-window#winremovemenu-linux-windows
Aggiunto win.removeMenu () per rimuovere i menu dell'applicazione invece di usare win.setMenu (null)
Questo viene aggiunto dalla v5 come da:
https://github.com/electron/electron/pull/16570
https://github.com/electron/electron/pull/16657
Bug di Electron v7
Per Electron 7.1.1 utilizzare Menu.setApplicationMenu
invece diwin.removeMenu()
come da questa discussione:
https://github.com/electron/electron/issues/16521
E la nota importante è: devi chiamarlo prima di creare la BrowserWindow ! O non funzionerà!
const {app, BrowserWindow, Menu} = require('electron')
Menu.setApplicationMenu(null);
const browserWindow = new BrowserWindow({/*...*/});
UPDATE (Impostazione di autoHideMenuBar nella costruzione BrowserWindow)
Come da @kcpr commento! Possiamo impostare la proprietà e molti sul costruttore
È disponibile sull'ultima versione stabile di electron che è la 8.3!
Ma anche nelle vecchie versioni ho controllato per v1, v2, v3, v4!
È presente in tutte le versioni!
Come da questo link
https://github.com/electron/electron/blob/1-3-x/docs/api/browser-window.md
E per la v8.3
https://github.com/electron/electron/blob/v8.3.0/docs/api/browser-window.md#new-browserwindowoptions
Il collegamento alla documentazione
https://www.electronjs.org/docs/api/browser-window#new-browserwindowoptions
Dal documento per l'opzione:
autoHideMenuBar Boolean (opzionale): nasconde automaticamente la barra dei menu a meno che non venga premuto il tasto Alt. L'impostazione predefinita è false.
Ecco uno snippet per illustrarlo:
let browserWindow = new BrowserWindow({
width: 800,
height: 600,
autoHideMenuBar: true // <<< here
})
frame: false
l'ha fatto per me.