Menu może być ukryte lub automatycznie ukryte (jak w Slack lub VS Code - możesz nacisnąć Alt, aby wyświetlić / ukryć menu).
Odpowiednie metody:
---- win.setMenu (menu) - Ustawia menu jako pasek menu okna, ustawienie go na null usunie pasek menu. ( Spowoduje to całkowite usunięcie menu )
mainWindow.setMenu(null)
---- win.setAutoHideMenuBar (hide) - Ustawia, czy pasek menu okna ma się ukrywać automatycznie. Po ustawieniu pasek menu będzie
wyświetlany tylko wtedy, gdy użytkownicy naciśną pojedynczy klawisz Alt .
mainWindow.setAutoHideMenuBar(true)
Źródło: https://github.com/Automattic/simplenote-electron/issues/293
Istnieje również metoda tworzenia okna bezramowego, jak pokazano poniżej:
(bez przycisku zamykania nic. Może być tym, czego chcemy (lepszy projekt))
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
Edycja: (nowe)
win.removeMenu()
Linux Windows Usuń pasek menu okna.
https://electronjs.org/docs/api/browser-window#winremovemenu-linux-windows
Dodano win.removeMenu () do usuwania menu aplikacji zamiast używania win.setMenu (null)
To jest dodawane od wersji 5 zgodnie z:
https://github.com/electron/electron/pull/16570
https://github.com/electron/electron/pull/16657
Błąd Electron v7
W przypadku Electron 7.1.1 użyj Menu.setApplicationMenu
zamiastwin.removeMenu()
zgodnie z tym wątkiem:
https://github.com/electron/electron/issues/16521
I ważna uwaga: musisz to wywołać przed utworzeniem BrowserWindow ! Albo to nie zadziała!
const {app, BrowserWindow, Menu} = require('electron')
Menu.setApplicationMenu(null);
const browserWindow = new BrowserWindow({/*...*/});
UPDATE (Ustawianie autoHideMenuBar w konstrukcji BrowserWindow)
Zgodnie z komentarzem @kcpr! Możemy ustawić tę właściwość i wiele w konstruktorze
To jest już dostępne w najnowszej stabilnej wersji electron, która jest teraz 8.3!
Ale także w starszych wersjach sprawdziłem v1, v2, v3, v4!
Jest we wszystkich wersjach!
Zgodnie z tym linkiem
https://github.com/electron/electron/blob/1-3-x/docs/api/browser-window.md
Oraz w wersji 8.3
https://github.com/electron/electron/blob/v8.3.0/docs/api/browser-window.md#new-browserwindowoptions
Link do dokumentu
https://www.electronjs.org/docs/api/browser-window#new-browserwindowoptions
Z dokumentu dotyczącego opcji:
autoHideMenuBar Boolean (opcjonalne) - Automatyczne ukrywanie paska menu do momentu naciśnięcia klawisza Alt. Wartość domyślna to false.
Oto fragment ilustrujący to:
let browserWindow = new BrowserWindow({
width: 800,
height: 600,
autoHideMenuBar: true // <<< here
})
frame: false
zrobił to dla mnie.