2015-06-10 10 views
5

sto cercando di catturare lo scatto anche su una barra di scatto con un menu di contesto su OSX, ma secondo la documentazione questa opzione è disabilitata in OSX, per qualche motivo:Il menu di scelta rapida fa clic/apre l'evento con Atom Shell/Electron?

Platform limitations: 

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

ho chiedo se c'è è un altro modo per sapere quando viene visualizzata l'icona di una barra con un menu di scelta rapida?

codice relavent:

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); 

}); 

risposta

1

ora funziona su OS X (10.11.4).

Si prega di controllare. 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