带有node-webkit应用程序的样式系统托盘

时间:2015-03-04 11:28:52

标签: windows node.js node-webkit system-tray

我正在使用node-webkit构建一个具有系统托盘菜单的后台Windows应用程序。我希望能够构建一个比带有复选框的下拉列表更复杂的系统托盘菜单;类似于dropbox的东西:

nw.js's docs中没有提及系统托盘的样式。我怎么能用nw.js做到这一点?

如果不是nw.js,还有哪些其他语言/框架适合做这样的事情?

1 个答案:

答案 0 :(得分:2)

首先创建一个窗口。在托盘上单击,此窗口显示在那里。

var gui = require('nw.gui');
var tray = new gui.Tray({
    title: '',
    icon: 'assets/css/images/menu_icon.png',
    alticon: 'assets/css/images/menu_alticon.png',
    iconsAreTemplates: false
});

//Then need create hidden window and show it on click in tray:

// create window

var params = {toolbar: app.devMode, frame: false, transparent: true, resizable: false, show: false};
window = 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);
});

希望这有效!

参考:Create window-like menu on OS X