NWJS(Node Webkit)使用左键单击打开任务栏菜单

NWJS (Node-Webkit) Open tray menu using left click

本文关键字:单击 菜单 任务栏 Node Webkit NWJS      更新时间:2023-09-26

如何用鼠标左键打开托盘菜单?

默认情况下,点击右键打开菜单。

代码:

// Load native UI library
var gui = require('nw.gui');
// Create a tray icon
var tray = new gui.Tray({
    title: 'Tray',
    icon: 'img/icon.png',
    click: function(){
        // Open tray menu here!!
        console.log('READY!!!');
    }
});
// Give it a menu
var menu = new gui.Menu();
menu.append(new gui.MenuItem({ type: 'checkbox', label: 'box1' }));
tray.menu = menu;

纸盘菜单

获取或设置托盘的菜单,当您单击托盘图标时会显示菜单。

在Mac OS X上,单击托盘时会显示菜单(这是Mac OS X托盘图标的唯一可用操作)。在Windows和Linux上,当您用鼠标右键单击托盘时,会显示菜单,用鼠标左键单击会发送单击事件,但不会显示菜单。

为了减少不同平台的差异,设置菜单属性是将菜单绑定到托盘的唯一方法,在Linux和Windows上无法用鼠标左键点击弹出菜单

https://github.com/nwjs/nw.js/wiki/Tray

然而,您可以制作一个自定义托盘菜单,请查看:在OS X 上创建类似窗口的菜单

对我来说,这还可以(CoffeeScript):

tray.on "click",
  (clickEvent) =>
    win.focus()
    tray.menu.popup(clickEvent.x - win.x - (window.screen.width - window.screen.availWidth), clickEvent.y - win.y - (window.screen.height - window.screen.availHeight))
    return false

获胜是:

win = gui.Window.get()