2015-06-10 9 views
5

Ich versuche, den Klick auch auf einem Tray-Icon klicken Sie ein Kontextmenü auf OSX zu erfassen, aber die Dokumentation nach dieser in OSX aus irgendeinem Grund deaktiviert ist:Kontextmenü Ereignis mit Atom Shell/Electron?

Platform limitations: 

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

Ich habe mich gefragt, ob es ist eine andere Art zu wissen, wann ein Tray-Icon mit einem Kontext-Menü interagiert?

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

}); 

Antwort

1

Jetzt funktioniert es auf OS X (10.11.4).

Bitte überprüfen. 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 
Verwandte Themen