/electron-default-menu

Default application menu for Electron apps

Primary LanguageJavaScript

electron-default-menu

A simple module that returns a default Electron menu template, similar to the one you'll get if you don't use Menu.setApplicationMenu() at all. You can modify the returned template before creating the application menu.

Based on the sample code supplied in the Electron menu documentation

Like the sample code, it checks the environment, and returns appropriate additional menus for Mac OS X, and sets the role for each menu accordingly.

Must be used from the Electron environment.

Example usage:

var defaultMenu = require('electron-default-menu')
var Menu = require('menu')
var app = require('app')
var dialog = require('dialog')

app.on('ready', function() {

  // Get template for default menu
  var menu = defaultMenu()

  // Add custom menu
  menu.splice(4, 0, {
    label: 'Custom',
    submenu: [
      {
        label: 'Do something',
        click: function(item, focusedWindow) {
          dialog.showMessageBox({message: 'Do something', buttons: ['OK'] })
        }
      }
    ]
  })

  // Set top-level application menu, using modified template
  Menu.setApplicationMenu(Menu.buildFromTemplate(menu));
})