UNPKG

remix-ide

Version:
147 lines (141 loc) 3.32 kB
const {Menu, shell, app} = require('electron') const os = require('os') const selectFolder = require('./selectFolder') const setFolder = require('./setFolder') module.exports = (remixd) => { const isMac = process.platform === 'darwin' const template = [ // { role: 'appMenu' } ...(isMac ? [{ label: app.name, submenu: [ { role: 'about' }, { type: 'separator' }, { role: 'services' }, { type: 'separator' }, { role: 'hide' }, { role: 'hideothers' }, { role: 'unhide' }, { type: 'separator' }, { role: 'quit' } ] }] : []), // { role: 'fileMenu' } { label: 'File', submenu: [ { label: 'Open Folder', click: async () => { selectFolder().then((folder) => { setFolder(remixd, folder) }).catch(console.log) } }, isMac ? { role: 'close' } : { role: 'quit' }, ] }, // { role: 'editMenu' } { label: 'Edit', submenu: [ { role: 'undo' }, { role: 'redo' }, { type: 'separator' }, { role: 'cut' }, { role: 'copy' }, { role: 'paste' }, ...(isMac ? [ { role: 'pasteAndMatchStyle' }, { role: 'delete' }, { role: 'selectAll' }, { type: 'separator' }, { label: 'Speech', submenu: [ { role: 'startspeaking' }, { role: 'stopspeaking' } ] } ] : [ { role: 'delete' }, { type: 'separator' }, { role: 'selectAll' } ]) ] }, // { role: 'viewMenu' } { label: 'View', submenu: [ // { role: 'reload' }, // { role: 'forcereload' }, { role: 'resetzoom' }, { role: 'zoomin' }, { role: 'zoomout' }, { type: 'separator' }, { role: 'togglefullscreen' } ] }, // { role: 'windowMenu' } { label: 'Window', submenu: [ { role: 'minimize' }, { role: 'zoom' }, ...(isMac ? [ { type: 'separator' }, { role: 'front' }, { type: 'separator' }, { role: 'window' } ] : [ { role: 'close' } ]) ] }, { role: 'help', submenu: [ { label: 'Learn More', click: async () => { shell.openExternal('https://remix-ide.readthedocs.io') } }, { label: 'Medium Posts', click: async () => { shell.openExternal('https://medium.com/remix-ide') } }, { label: 'Community Discussions', click: async () => { shell.openExternal('https://gitter.im/ethereum/remix') } }, { label: 'Remix in StackExchange.com', click: async () => { shell.openExternal('https://ethereum.stackexchange.com/questions/tagged/remix') } }, { label: 'Check Releases', click: async () => { shell.openExternal('https://github.com/ethereum/remix-desktop/releases') } }, { label: 'Report Bugs / Issues', click: async () => { shell.openExternal('https://github.com/ethereum/remix-ide/issues') } }, { role: 'toggledevtools' }, ] } ] const menu = Menu.buildFromTemplate(template) Menu.setApplicationMenu(menu) }