|
1 | 1 | const electron = require('electron')
|
2 |
| -const {BrowserWindow, Menu, MenuItem} = electron |
| 2 | +const BrowserWindow = electron.BrowserWindow |
| 3 | +const Menu = electron.Menu |
| 4 | +const MenuItem = electron.MenuItem |
3 | 5 | const ipc = electron.ipcMain
|
| 6 | +const app = electron.app |
4 | 7 |
|
5 |
| -let menu = new Menu() |
6 |
| - |
| 8 | +const menu = new Menu() |
7 | 9 | menu.append(new MenuItem({ label: 'Hello' }))
|
8 | 10 | menu.append(new MenuItem({ type: 'separator' }))
|
9 | 11 | menu.append(new MenuItem({ label: 'Electron', type: 'checkbox', checked: true }))
|
10 | 12 |
|
11 |
| -// Show when the window is right clicked. |
12 |
| -// Adds event listener to all created windows. |
13 |
| -for (const win of BrowserWindow.getAllWindows()) { |
| 13 | +app.on('browser-window-created', function (event, win) { |
14 | 14 | win.webContents.on('context-menu', function (e, params) {
|
15 | 15 | menu.popup(win, params.x, params.y)
|
16 | 16 | })
|
17 |
| -} |
| 17 | +}) |
18 | 18 |
|
19 |
| -// Show when the renderer asks for a menu. |
20 |
| -ipc.on('show-context-menu', function () { |
21 |
| - menu.popup(BrowserWindow.getFocusedWindow()) |
| 19 | +ipc.on('show-context-menu', function (event) { |
| 20 | + const win = BrowserWindow.fromWebContents(event.sender) |
| 21 | + menu.popup(win) |
22 | 22 | })
|
0 commit comments