Electron.js如何最小化/关闭系统托盘的窗口并从托盘恢复窗口?

我希望我的Electron.js应用程序驻留在系统托盘上,并且每当用户要执行某项操作时,他们都可以从系统托盘中进行还原,则可以执行某些操作并将其最小化/关闭回系统托盘。我怎么做?

我已经tray从文档中看到了这一部分,但是对于实现我想要的内容并没有多大帮助。

这是我到目前为止在main.js文件上得到的

var application = require('app'),

BrowserWindow = require('browser-window'),

Menu = require('menu'),

Tray = require('tray');

application.on('ready', function () {

var mainWindow = new BrowserWindow({

width: 650,

height: 450,

'min-width': 500,

'min-height': 200,

'accept-first-mouse': true,

// 'title-bar-style': 'hidden',

icon:'./icon.png'

});

mainWindow.loadUrl('file://' + __dirname + '/src/index.html');

mainWindow.on('closed', function () {

mainWindow = null;

});

mainWindow.setMenu(null);

var appIcon = null;

appIcon = new Tray('./icon-resized.png');

var contextMenu = Menu.buildFromTemplate([

{ label: 'Restore', type: 'radio' }

]);

appIcon.setToolTip('Electron.js App');

appIcon.setContextMenu(contextMenu);

});

我找到了这个菜单栏存储库,但是在Linux上无法正常工作。

回答:

我实际上是很久前才弄清楚的,但是对于在这里遇到相同问题的人们来说,是一种可以使最小化tray和恢复的方法tray。诀窍是捕捉closeminimize事件。

var BrowserWindow = require('browser-window'),

var mainWindow = new BrowserWindow({

width: 850,

height: 450,

title: "TEST",

icon:'./icon.png'

});

mainWindow.on('minimize',function(event){

event.preventDefault();

mainWindow.hide();

});

mainWindow.on('close', function (event) {

if(!application.isQuiting){

event.preventDefault();

mainWindow.hide();

}

return false;

});

并从 Tray

var contextMenu = Menu.buildFromTemplate([

{ label: 'Show App', click: function(){

mainWindow.show();

} },

{ label: 'Quit', click: function(){

application.isQuiting = true;

application.quit();

} }

]);

以上是 Electron.js如何最小化/关闭系统托盘的窗口并从托盘恢复窗口? 的全部内容, 来源链接: utcz.com/qa/424304.html

回到顶部