Меню может быть скрыто или автоматически скрыто (как в Slack или VS Code - вы можете нажать Alt, чтобы показать / скрыть меню).
Соответствующие методы:
---- win.setMenu (меню) - Устанавливает меню в качестве строки меню окна, установка значения null приведет к удалению строки меню. ( Это полностью удалит меню )
mainWindow.setMenu(null)
---- win.setAutoHideMenuBar (hide) - Устанавливает, должна ли строка меню окна автоматически скрываться. После установки строка меню будет
отображаться только тогда, когда пользователи нажимают одну клавишу Alt .
mainWindow.setAutoHideMenuBar(true)
Источник: https://github.com/Automattic/simplenote-electron/issues/293
Существует также способ создания безрамного окна, как показано ниже:
(нет кнопки закрытия, ничего. Может быть, что мы хотим (лучший дизайн))
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
документ: https://electronjs.org/docs/api/frameless-window
Изменить: (новый)
win.removeMenu()
Linux Windows Удалите строку меню окна.
https://electronjs.org/docs/api/browser-window#winremovemenu-linux-windows
Добавлен win.removeMenu () для удаления меню приложений вместо использования win.setMenu (null)
Это добавлено из v5 согласно:
https://github.com/electron/electron/pull/16570
https://github.com/electron/electron/pull/16657
Электрон v7 ошибка
Для Electron 7.1.1 используйте Menu.setApplicationMenu
вместоwin.removeMenu()
согласно этой теме:
https://github.com/electron/electron/issues/16521
И главное примечание: вы должны вызвать его перед созданием BrowserWindow ! Или не пойдет!
const {app, BrowserWindow, Menu} = require('electron')
Menu.setApplicationMenu(null);
const browserWindow = new BrowserWindow({/*...*/});
ОБНОВЛЕНИЕ (настройка autoHideMenuBar при построении BrowserWindow)
Как прокомментировал @kcpr! Мы можем установить свойство и многие из них в конструкторе
Это доступно в последней стабильной версии Electron - 8.3!
Но и в старых версиях я проверял v1, v2, v3, v4!
Он есть во всех версиях!
По этой ссылке
https://github.com/electron/electron/blob/1-3-x/docs/api/browser-window.md
А для v8.3
https://github.com/electron/electron/blob/v8.3.0/docs/api/browser-window.md#new-browserwindowoptions
Ссылка на документ
https://www.electronjs.org/docs/api/browser-window#new-browserwindowoptions
Из документа для варианта:
autoHideMenuBar Boolean (необязательно) - автоматически скрывать строку меню, если не нажата клавиша Alt. По умолчанию - false.
Вот отрывок, чтобы проиллюстрировать это:
let browserWindow = new BrowserWindow({
width: 800,
height: 600,
autoHideMenuBar: true // <<< here
})
frame: false
сделал это для меня.