YesPlayMusic icon indicating copy to clipboard operation
YesPlayMusic copied to clipboard

统信UOS系统托盘图标setTooltip无效及无法监听到click等事件问题

Open XTongLe opened this issue 3 years ago • 7 comments

同在用electron做linux平台适配,在统信UOS上系统托盘trayicon事件无效,我用的electron版本是7.3.3,本以为是版本问题,看您代码使用12.x.x,安装后也存在同样的问题,看了eletron的文档和github提的issue没有找到解决方案,不知道大佬有什么头绪吗?

XTongLe avatar Apr 28 '21 05:04 XTongLe

贴上代码呗

qier222 avatar Apr 28 '21 05:04 qier222

YesPlayMusic的托盘图标功能正常(在mac上测试的)

qier222 avatar Apr 28 '21 05:04 qier222

YesPlayMusic的托盘图标功能正常(在mac上测试的)

win和mac都好使,统信UOS是个国产linux系统,类似ubuntu。 代码的话跟您的差不多,常规new一个Tray 然后给他settooltip、挂载点击事件监听,现象就是在linux上都没卵用 trayIcon = new Tray(trayImages.normal); trayIcon.setToolTip(appConfig.config.productName); trayIcon.on('click', () => { log.debug("触发单击") if (!mainWindow) return; if (!mainWindow.isVisible() || mainWindow.isMinimized()) { if (mainWindow.isMinimized()) { mainWindow.restore(); } else { mainWindow.show(); } mainWindow.focus(); if (process.platform === 'darwin') { app.dock.show(); } } else { mainWindow.focus(); } }); trayIcon.on('right-click', () => { log.debug("触发右击") trayIcon.popUpContextMenu(); });

XTongLe avatar Apr 28 '21 05:04 XTongLe

代码看起来没什么问题,我暂时没有linux系统用来测试

qier222 avatar Apr 28 '21 06:04 qier222

代码看起来没什么问题,我暂时没有linux系统用来测试

嗷嗷好的,我是看您这个应用在统信UOS的应用商店上架了,同样是electron写的,就下来下来观察了下效果发现也有这个问题,就想问下您对这个问题有没有什么头绪。迅雷的linux版好像也是electron写的,好像解决了这个问题,给迅雷论坛发帖和提工单想问下咋解决的还没人回复。网易云 音乐官方的linux版效果适配的相当完美,但是看应用文件目录可能不是electron实现的。

XTongLe avatar Apr 28 '21 06:04 XTongLe

我使用的是Archlinux,默认状态下点击托盘图标是没有反应的。

后面我找到了一个相关的问题: https://github.com/electron/electron/issues/14941 里面提到了一个叫 libappindicator-gtk3 的包,安装后,托盘图标就能正常工作了。

你可以找一下这个包在你的发行版中叫什么,安装一下试试呢?

wxxxcxx avatar May 01 '21 15:05 wxxxcxx

代码看起来没什么问题,我暂时没有linux系统用来测试

嗷嗷好的,我是看您这个应用在统信UOS的应用商店上架了,同样是electron写的,就下来下来观察了下效果发现也有这个问题,就想问下您对这个问题有没有什么头绪。迅雷的linux版好像也是electron写的,好像解决了这个问题,给迅雷论坛发帖和提工单想问下咋解决的还没人回复。网易云 音乐官方的linux版效果适配的相当完美,但是看应用文件目录可能不是electron实现的。

解决了吗

CahierX avatar Aug 17 '22 05:08 CahierX