123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127 |
- const {BrowserWindow, Menu, app, shell, dialog} = require('electron')
- let template = [{
- label: 'Edit',
- submenu: [{
- label: 'Lol',
- accelerator: 'CmdOrCtrl+Z',
- role: 'undo'
- }, {
- label: 'Redo',
- accelerator: 'Shift+CmdOrCtrl+Z',
- role: 'redo'
- }, {
- type: 'separator'
- }, {
- label: 'Cut',
- accelerator: 'CmdOrCtrl+X',
- role: 'cut'
- }, {
- label: 'Copy',
- accelerator: 'CmdOrCtrl+C',
- role: 'copy'
- }, {
- label: 'Paste',
- accelerator: 'CmdOrCtrl+V',
- role: 'paste'
- }, {
- label: 'Select All',
- accelerator: 'CmdOrCtrl+A',
- role: 'selectall'
- }]
- }, {
- label: 'View',
- submenu: [{
- label: 'Reload',
- accelerator: 'CmdOrCtrl+R',
- click: (item, focusedWindow) => {
- if (focusedWindow) {
- // on reload, start fresh and close any old
- // open secondary windows
- if (focusedWindow.id === 1) {
- BrowserWindow.getAllWindows().forEach(win => {
- if (win.id > 1) win.close()
- })
- }
- focusedWindow.reload()
- }
- }
- }, {
- label: 'Toggle Full Screen',
- accelerator: (() => {
- if (process.platform === 'darwin') {
- return 'Ctrl+Command+F'
- } else {
- return 'F11'
- }
- })(),
- click: (item, focusedWindow) => {
- if (focusedWindow) {
- focusedWindow.setFullScreen(!focusedWindow.isFullScreen())
- }
- }
- }, {
- label: 'Toggle Developer Tools',
- accelerator: (() => {
- if (process.platform === 'darwin') {
- return 'Alt+Command+I'
- } else {
- return 'Ctrl+Shift+I'
- }
- })(),
- click: (item, focusedWindow) => {
- if (focusedWindow) {
- focusedWindow.toggleDevTools()
- }
- }
- }, {
- type: 'separator'
- }, {
- label: 'App Menu Demo',
- click: function (item, focusedWindow) {
- if (focusedWindow) {
- const options = {
- type: 'info',
- title: 'Application Menu Demo',
- buttons: ['Ok'],
- message: 'This demo is for the Menu section, showing how to create a clickable menu item in the application menu.'
- }
- dialog.showMessageBox(focusedWindow, options, function () {})
- }
- }
- }]
- }, {
- label: 'Window',
- role: 'window',
- submenu: [{
- label: 'Minimize',
- accelerator: 'CmdOrCtrl+M',
- role: 'minimize'
- }, {
- label: 'Close',
- accelerator: 'CmdOrCtrl+W',
- role: 'close'
- }, {
- type: 'separator'
- }, {
- label: 'Reopen Window',
- accelerator: 'CmdOrCtrl+Shift+T',
- enabled: false,
- key: 'reopenMenuItem',
- click: () => {
- app.emit('activate')
- }
- }]
- }, {
- label: 'Help',
- role: 'help',
- submenu: [{
- label: 'Learn More',
- click: () => {
- shell.openExternal('http://electron.atom.io')
- }
- }]
- }];
- const menu = Menu.buildFromTemplate(template);
- Menu.setApplicationMenu(menu);
|