Electron で Mac のコピー&ペーストを実装する

Electron で Mac 版のバイナリをビルドすると、標準ではショートカットキーが効かなくなるようです。以下の JavaScript を差し込むことにより、ショートカットが効くようになりコピー&ペーストなどが行えるようになります。

 var Menu = require("menu");

 // Create the Application's main menu
 var template = [{
     label: "Application",
     submenu: [
         { label: "About Application", selector: "orderFrontStandardAboutPanel:" },
         { type: "separator" },
         { label: "Quit", accelerator: "Command+Q", click: function() { app.quit(); }}
     ]}, {
     label: "Edit",
     submenu: [
         { label: "Undo", accelerator: "CmdOrCtrl+Z", selector: "undo:" },
         { label: "Redo", accelerator: "Shift+CmdOrCtrl+Z", selector: "redo:" },
         { type: "separator" },
         { label: "Cut", accelerator: "CmdOrCtrl+X", selector: "cut:" },
         { label: "Copy", accelerator: "CmdOrCtrl+C", selector: "copy:" },
         { label: "Paste", accelerator: "CmdOrCtrl+V", selector: "paste:" },
         { label: "Select All", accelerator: "CmdOrCtrl+A", selector: "selectAll:" }
     ]}
 ];

 Menu.setApplicationMenu(Menu.buildFromTemplate(template));