fix menu bar for macOS

This commit is contained in:
plebeius.eth
2023-06-26 09:38:17 +02:00
parent 31ce77d77d
commit af7fbda8cf
+15 -8
View File
@@ -175,6 +175,7 @@ const createMainWindow = () => {
e.preventDefault() e.preventDefault()
}) })
if (process.platform !== 'darwin') {
// tray // tray
const trayIconPath = path.join( const trayIconPath = path.join(
__dirname, __dirname,
@@ -205,6 +206,8 @@ const createMainWindow = () => {
tray.on('right-click', () => { tray.on('right-click', () => {
mainWindow.isVisible() ? mainWindow.hide() : mainWindow.show(); mainWindow.isVisible() ? mainWindow.hide() : mainWindow.show();
}); });
}
// close to tray // close to tray
if (!isDev) { if (!isDev) {
@@ -226,24 +229,28 @@ const createMainWindow = () => {
const originalAppMenuWithoutHelp = Menu.getApplicationMenu()?.items.filter( const originalAppMenuWithoutHelp = Menu.getApplicationMenu()?.items.filter(
(item) => item.role !== 'help' (item) => item.role !== 'help'
); );
const appMenuBack = new MenuItem({ const appMenu = new Menu();
appMenu.append(new MenuItem({role: 'appMenu'}));
appMenu.append(new MenuItem({
label: '←', label: '←',
enabled: mainWindow?.webContents?.canGoBack(), enabled: mainWindow?.webContents?.canGoBack(),
click: () => mainWindow?.webContents?.goBack(), click: () => mainWindow?.webContents?.goBack(),
}); }));
const appMenuForward = new MenuItem({ appMenu.append(new MenuItem({
label: '→', label: '→',
enabled: mainWindow?.webContents?.canGoForward(), enabled: mainWindow?.webContents?.canGoForward(),
click: () => mainWindow?.webContents?.goForward(), click: () => mainWindow?.webContents?.goForward(),
}); }));
const appMenuReload = new MenuItem({ appMenu.append(new MenuItem({
label: '⟳', label: '⟳',
role: 'reload', role: 'reload',
click: () => mainWindow?.webContents?.reload(), click: () => mainWindow?.webContents?.reload(),
}));
originalAppMenuWithoutHelp.forEach(item => {
appMenu.append(item);
}); });
const appMenu = [appMenuBack, appMenuForward, appMenuReload, ...originalAppMenuWithoutHelp]; Menu.setApplicationMenu(appMenu);
Menu.setApplicationMenu(Menu.buildFromTemplate(appMenu));
};
app.whenReady().then(() => { app.whenReady().then(() => {
createMainWindow(); createMainWindow();