【问题标题】:Context menu click/open event with Atom Shell/Electron?使用 Atom Shell/Electron 的上下文菜单单击/打开事件?
【发布时间】:2015-08-25 19:19:46
【问题描述】:

我正在尝试捕获单击,即使是在 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);

});

【问题讨论】:

    标签: node.js electron


    【解决方案1】:

    现在它可以在 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
    

    【讨论】:

      猜你喜欢
      • 2017-02-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-16
      相关资源
      最近更新 更多