Учебник по Electron.js

Создание меню

При создании окна автоматически создается стандартное меню приложения, которое содержит меню File, Edit, View, Window и Help. Каждое меню содержит основные команды. Например, в меню File присутствует пункт Exit, который позволяет завершить работу приложения. Если нужно удалить стандартное меню приложения, то в статический метод setApplicationMenu() класса Menu нужно передать значение null или объект пользовательского меню:

// const { Menu } = require('electron');
Menu.setApplicationMenu(null);

Для удаления меню конкретного окна следует использовать метод removeMenu():

win.removeMenu();

Шаблон меню

Итак. вместо удаления меню приложения мы можем прикрепить свое собственное меню. Для этого достаточно создать шаблон меню, передать его статическому методу buildFromTemplate(<Шаблон меню>) класса Menu, а затем прикрепить меню с помощью статического метода setApplicationMenu(<Меню>):

const menu = Menu.buildFromTemplate(templateMenu);
Menu.setApplicationMenu(menu);

Меню можно также прикрепить к конкретному окну, передав объект меню в метод setMenu(<Меню>):

const menu = Menu.buildFromTemplate(templateMenu);
win.setMenu(menu);

Если при создании окна передать опцию autoHideMenuBar со значением true, то строка меню будет по умолчанию скрываться и отображаться только при нажатии клавиши <Alt> (значение по умолчанию: false):

win = new BrowserWindow({
   autoHideMenuBar: true
});

Шаблон меню представляет собой массив объектов. Название пункта меню задается в объекте с помощью свойства label:

let templateMenu = [
   { label: 'Файл' },
   { label: 'Правка' },
   { label: 'Вид' },
   { label: 'Справка' }
];
if (process.platform === 'darwin') { // Для MacOS
   templateMenu.unshift({});
}
const menu = Menu.buildFromTemplate(templateMenu);
Menu.setApplicationMenu(menu);