Javascript Electron TrayIcon在linux上无法正常工作
我正在尝试制作一个在系统托盘上运行的电子应用程序,一旦单击托盘图标,应用程序窗口就会出现 我在linux、windows和mac上测试了它,在windows和mac上它工作得很好,当我单击托盘图标时,应用程序窗口会出现,但在linux上,当我单击托盘图标时,会出现一个带有应用程序名的上下文菜单(即使很难,我也没有设置),只有单击应用程序名时,应用程序窗口才会出现 我就是这样做盘子的Javascript Electron TrayIcon在linux上无法正常工作,javascript,linux,electron,system-tray,trayicon,Javascript,Linux,Electron,System Tray,Trayicon,我正在尝试制作一个在系统托盘上运行的电子应用程序,一旦单击托盘图标,应用程序窗口就会出现 我在linux、windows和mac上测试了它,在windows和mac上它工作得很好,当我单击托盘图标时,应用程序窗口会出现,但在linux上,当我单击托盘图标时,会出现一个带有应用程序名的上下文菜单(即使很难,我也没有设置),只有单击应用程序名时,应用程序窗口才会出现 我就是这样做盘子的 let mainWindow let tray = null; function createWindow ()
let mainWindow
let tray = null;
function createWindow () {
mainWindow = new BrowserWindow({
width: 400,
height: 500,
skipTaskbar: true,
frame: false,
webPreferences: {
preload: path.join(__dirname, 'preload.js')
}
})
mainWindow.setMenu(null)
mainWindow.hide();
tray = new Tray("./assets/icon@2x.png");
tray.on('click', () => {
mainWindow.isVisible() ? mainWindow.hide() : mainWindow.show()
})
mainWindow.on('show', () => {
tray.setHighlightMode('always')
const pos = tray.getBounds()
mainWindow.setPosition(pos.x - 195, pos.y + 30);
})
mainWindow.on('hide', () => {
tray.setHighlightMode('never')
})
mainWindow.loadFile('index.html')
mainWindow.on('closed', function () {
mainWindow = null
})
}
我想让它在windows和mac上如何工作,当我点击托盘图标时,会出现应用程序窗口,有人知道怎么做吗?谢谢 这是electron项目的公开问题,您的代码没有问题
只需将您的托盘方式从
tray.setHighlightMode()
到
这是我的代码,以防止接近胜利
win.on('show', () => {
//tray.setHighlightMode('always');
tray.setToolTip("Server Started");
});
win.on('hide', () => {
//tray.popUpContextMenu();
tray.setToolTip("Server Started");
});
win.on('show', () => {
//tray.setHighlightMode('always');
tray.setToolTip("Server Started");
});
win.on('hide', () => {
//tray.popUpContextMenu();
tray.setToolTip("Server Started");
});