Context menu: click / open event using Atom Shell / Electron?

I try to capture a click even on the tray icon by clicking the context menu on OSX, but according to the docs, this is somehow disabled in OSX:

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

I am wondering if there is another way to find out when it interacts with the tray icon with the context menu?

Relavent code:

 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); }); 
+5
source share
1 answer

Now it works on OS X (10.11.4).

Please check. 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'); }); }); 

Run:

 electron main.js 
+1
source

All Articles