上下文菜单点击/打开Atom Shell / Electron?

我试图捕捉点击甚至在托盘图标点击OSX上的上下文菜单,但根据文档,这是OSX由于某种原因被禁用:

Platform limitations: On OS X clicked event will be ignored if the tray icon has context menu. 

我想知道是否有另一种方式来知道与上下文菜单的托盘图标何时交互?

相关代码:

 var app = require('app'); var path = require('path') var Menu = require('menu'); var MenuItem = require('menu-item'); var Tray = require('tray'); var appIcon = null; var menu = null; app.on('ready', function(){ appIcon = new Tray(path.join(__dirname, 'images/icon.png')); appIcon.on('clicked', function(event, bounds) { console.log('clicked'); }); menu = new Menu(); menu.append(new MenuItem({ label: 'Quit', id: 'quit', click: function() { app.quit(); } })); appIcon.setContextMenu(menu); }); 

现在它可以在OS X(10.11.4)上运行。

请检查。 main.js:

 // Load in dependencies var app = require('app'); var Tray = require('tray'); // When the Electron has loaded app.on('ready', function onready () { // Log to the console to verify logging works console.log('Hello World!'); // Create a tray var tray = new Tray(__dirname + '/icon.png'); // When the tray icon is clicked, log to our console tray.on('click', function handleClicked () { console.log('Tray clicked'); }); }); 

跑:

 electron main.js