在OS X上创建类似窗口的菜单

Fea*_*aro 6 macos node.js node-webkit nw.js

我想像这个应用程序一样创建一个相同类型的托盘菜单.因为它位于使用node-webkit/nw.js的应用程序列表中,所以我认为这是可能的.我查看了所有文档,但找不到任何关于如何实现这一点的内容.搜索Google也不是很有成效.

也许你们其中一个人之前做过这件事并且可以把我送到正确的方向?

Pav*_*eev 7

首先,您需要阻止应用程序出现在任务栏中

{
    "name": "My App",
    "version": "1.0.0",
    "main": "app.html",
    "window": {
        "show": false,
        "show_in_taskbar": false
    }
}
Run Code Online (Sandbox Code Playgroud)

然后你需要创建托盘(顶部栏)菜单:(来自他的来源的例子)

tray = new app.node.gui.Tray({
    title: '',
    icon: 'assets/css/images/menu_icon.png',
    alticon: 'assets/css/images/menu_alticon.png',
    iconsAreTemplates: false
});
Run Code Online (Sandbox Code Playgroud)

然后需要创建隐藏窗口并在托盘中单击显示它:

// create window
var params = {toolbar: app.devMode, frame: false, transparent: true, resizable: false, show: false};
window = app.node.gui.Window.open('templates/panel.html', params);

function showPopup (x, y) {
  window.on('document-end', function()
    window.moveTo(x - (window.window.width / 2) - 6, y);
    window.show();
    window.focus();
  });
}

// show panel when click in tray
tray.on('click', function (evt) {
  showPopup(evt.x, evt.y);
});
Run Code Online (Sandbox Code Playgroud)