Skip to content

Instantly share code, notes, and snippets.

@rockiger
Created August 9, 2019 09:03
Show Gist options
  • Save rockiger/47b411419add7b37ca68b3951e160c86 to your computer and use it in GitHub Desktop.
Save rockiger/47b411419add7b37ca68b3951e160c86 to your computer and use it in GitHub Desktop.
import { app, BrowserWindow, Menu, dialog } from 'electron';
...
mainWindow = null;
});
const showMessage = message => dialog.showMessageBox({
type: 'info',
message: `You activated action: "${message}"`,
buttons: ['Close'],
});
const menu = Menu.buildFromTemplate([
{
label: 'Preferences',
submenu: [
{
label: 'Prefer Dark Theme',
type: 'checkbox',
},
{
label: 'Hide Titlebar when maximized',
type: 'checkbox',
},
{
label: 'Color',
submenu: [
{
label: 'Red',
type: 'radio',
accelerator: 'CmdOrCtrl+R',
click: () => showMessage('Red'),
},
{
label: 'Green',
type: 'radio',
accelerator: 'CmdOrCtrl+G',
click: () => showMessage('Green'),
},
{
label: 'Blue',
type: 'radio',
accelerator: 'CmdOrCtrl+B',
click: () => showMessage('Blue'),
},
],
},
{
label: 'Shape',
submenu: [
{
label: 'Square',
type: 'radio',
accelerator: 'CmdOrCtrl+S',
click: () => showMessage('Square'),
},
{
label: 'Rectangle',
type: 'radio',
accelerator: 'CmdOrCtrl+R',
click: () => showMessage('Rectangle'),
},
{
label: 'Oval',
type: 'radio',
accelerator: 'CmdOrCtrl+O',
click: () => showMessage('Oval'),
},
],
},
{
label: 'Bold',
type: 'checkbox',
accelerator: 'CmdOrCtrl+Shift+B',
click: () => showMessage('Bold'),
},
],
},
{
label: 'Help',
submenu: [
{
label: 'About',
accelerator: 'CmdOrCtrl+A',
click: () => dialog.showMessageBox({
type: 'info',
title: 'about',
message: `GTK+ Code Demos
3.22.30
Running against GTK+ 3.22.30
Program to demonstrate GTK+ functions.
(C) 1997-2013 The GTK+ Team
This program comes with absolutely no warranty.
See the GNU Lesser General Public License,
version 2.1 or later for details.`,
buttons: ['Close'],
}),
},
],
},
]);
Menu.setApplicationMenu(menu);
...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment