Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Linux tray menu; Fix tray window position; Fix AppImage APP icon #695

Merged
merged 1 commit into from
Mar 25, 2022

Conversation

EmeryWan
Copy link
Contributor

  • 给 Linux 桌面环境下添加了 tray 的菜单

Linux 的系统托盘有点奇怪,和其他系统不一样,没有右键,左键,双击等动作,只有一个动作(这里)。不单独配置的话,不管怎么点击,都是一个内容菜单。

再点击这个选项,动作就是其他系统的左键点击。(其他动作的点击行为都一样)

长这样:

gnome-tray

kde-tray

所以把 Linux 下的菜单改成了这样:

gnome-new

kde-new

第一个选项,是打开弹出窗口(也就是其他系统的左键单击),其余选项与其他系统保持一致。


  • 给点击 Tray 的弹出窗口位置做了重新设计

getPosition() 在 Linux 中获得的 x, y 只会等于 0,每次点击 tray icon 的菜单,只会显示在屏幕的左上角(用两个屏幕的话,实在是有点太难受)。

kde-show

const tray_bounds = tray.getBounds() 在 Linux 中不生效,无法拿到 tray icon 的位置,好像 Linux 中的 tray 弹窗不能和其他系统一样,刚好显示在 tray icon 的附近,没办法获得到位置。

这里我按照了 Jetbrains Toolbox 在 Linux 中弹窗的方式,每次都显示在系统托盘图标的一端。
比如在 KDE 中,会靠近图标显示在右下角(状态栏在上方的话,就会靠近图标在上方显示):

KDE-toolbox

最后点击弹窗显示位置如下:

kde-show-new

xfce-show-new

gnome-show-new


  • 修复了一个使用 AppImage 打包应用是,点击 Tray 弹窗打开应用时,应用无法显示图标的问题。

以上修改,均在 gnome,KDE,xfce 三种主流桌面环境进行了测试。

@sonarqubecloud
Copy link

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

@oldj oldj merged commit 550aeba into oldj:master Mar 25, 2022
@oldj
Copy link
Owner

oldj commented Mar 25, 2022

我 Linux 桌面用得比较少,一些地方可能没有适配好,感谢你的改进!🙏

@EmeryWan
Copy link
Contributor Author

Linux 桌面是用的人比较少,我也是查了之后才知道的。感谢开源这么好用的软件。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants