在Node Webkit中防止多个托盘图标?

时间:2015-04-01 05:41:16

标签: node.js macos node-webkit

有没有办法检查Node Webkit中的给定应用程序(在OSX上)是否已存在托盘图标?

我的问题看起来像这样: multiple tray icons created for node webkit app

用于创建托盘图标的代码:

// Create a tray icon
if (os_platform === 'darwin'){ //better icon for windows, correct size for mac
    var tray = new gui.Tray({ title: '', icon: 'icon-mac.png', tooltip:    'R' });
}
else {
    var tray = new gui.Tray({ title: '', icon: 'icon-win.png', tooltip: 'R' });
}

2 个答案:

答案 0 :(得分:2)

这就是诀窍。

window.onbeforeunload = function(){
   tray.remove();
};

答案 1 :(得分:0)

我刚刚解决了这个问题:

win.on('restore', function() {
     console.log('removing tray.');
     tray.remove();
});

在分析行为后,我注意到您可以通过在任务栏上单击来最小化应用程序。这也听取了。