Le menu peut être caché o auto-caché (comme dans Slack o Code VS - vous pouvez appuyez sur Alt pour afficher/masquer le menu).
Méthodes pertinentes :
---- win.setMenu(menu) - Définit le menu comme la barre de menu de la fenêtre, Si vous lui attribuez la valeur null, la barre de menu sera supprimée ( Cela supprimera complètement le menu )
mainWindow.setMenu(null)
---- win.setAutoHideMenuBar(hide) - Indique si la barre de menu de la fenêtre doit se cacher automatiquement. Une fois fixé la barre de menu ne fera que
montrer lorsque les utilisateurs presse l'unique Touche Alt .
mainWindow.setAutoHideMenuBar(true)
Source : https://github.com/Automattic/simplenote-electron/issues/293
Il existe également une méthode pour fabriquer une fenêtre sans cadre, comme indiqué ci-dessous :
(pas de bouton de fermeture, rien du tout. Peut être ce que nous voulons (meilleure conception))
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
Edit : (nouveau)
win.removeMenu()
Linux Windows Supprimez la barre de menu de la fenêtre.
https://electronjs.org/docs/api/browser-window#winremovemenu-linux-Windows
Ajout de win.removeMenu() pour supprimer les menus des applications au lieu d'utiliser win.setMenu(null)
C'est ajouté à partir de la v5 comme indiqué :
https://github.com/electron/electron/pull/16570
https://github.com/electron/electron/pull/16657
Bug d'Electron v7
Pour Electron 7.1.1, utilisez Menu.setApplicationMenu
au lieu de win.removeMenu()
conformément à ce fil de discussion :
https://github.com/electron/electron/issues/16521
Et la grande note est : vous devez l'appeler avant de créer la BrowserWindow ! Sinon, cela ne fonctionnera pas !
const {app, BrowserWindow, Menu} = require('electron')
Menu.setApplicationMenu(null);
const browserWindow = new BrowserWindow({/*...*/});
UPDATE (Définition de l'autoHideMenuBar lors de la construction de BrowserWindow)
Comme par le commentaire de @kcpr ! Nous pouvons définir la propriété et beaucoup sur le constructeur
C'est disponible sur la dernière version stable d'electron qui est maintenant la 8.3 !
Mais aussi dans les anciennes versions j'ai vérifié pour v1, v2, v3, v4 !
Il est présent dans toutes les versions !
Selon ce lien
https://github.com/electron/electron/blob/1-3-x/docs/api/browser-window.md
Et pour la v8.3
https://github.com/electron/electron/blob/v8.3.0/docs/api/browser-window.md#new-browserwindowoptions
Le lien vers le document
https://www.electronjs.org/docs/api/browser-window#new-browserwindowoptions
A partir du doc de l'option :
autoHideMenuBar Booléen (facultatif) - Masque automatiquement la barre de menu si la touche Alt n'est pas enfoncée. La valeur par défaut est false.
Voici un extrait pour l'illustrer :
let browserWindow = new BrowserWindow({
width: 800,
height: 600,
autoHideMenuBar: true // <<< here
})