【问题标题】:Prevent multiple tray icons in Node Webkit?防止 Node Webkit 中出现多个托盘图标?
【发布时间】:2015-06-05 16:13:03
【问题描述】:

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

我的问题是这样的:

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

// 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' });
}

【问题讨论】:

    标签: node.js macos node-webkit


    【解决方案1】:

    我刚刚用这个解决了这个问题:

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

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

    【讨论】:

      【解决方案2】:

      这就是诀窍。

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

      【讨论】:

      • 谢谢!我仍然希望有类似 gui.Tray.get() 之类的东西,类似于它在窗口中的样子。但这可能是目前最简单的解决方案。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-22
      相关资源
      最近更新 更多