fyne-io / fyne

Cross platform GUI toolkit in Go inspired by Material Design
https://fyne.io/
Other
25.25k stars 1.4k forks source link

System tray monitoring #5261

Closed jerryan1 closed 1 week ago

jerryan1 commented 2 weeks ago

Checklist

Is your feature request related to a problem?

If I want to listen for left click, right click, and double-click mouse events on the system tray, how do I need to implement it

Is it possible to construct a solution with the existing API?

No response

Describe the solution you'd like to see.

I want to implement a double-click system tray with a mouse, and then open a browser operation, so I need a tray mouse to listen for events.

andydotxyz commented 1 week ago

Many operating systems do not support double tap operations on the system tray so the Fyne library does not include that.

You may have more luck with the underlying system tray APIs systray

jerryan1 commented 1 week ago

Many operating systems do not support double tap operations on the system tray so the Fyne library does not include that.

You may have more luck with the underlying system tray APIs systray

I understand the reason you mentioned, but I think we should learn more about QT and go beyond it

andydotxyz commented 1 week ago

I'm happy to learn from toolkits and to exceed what has been done before, absolutely. But we need to think about the user first, and how can we make a consistent experience across platforms.

andydotxyz commented 1 week ago

You may want to also check out https://github.com/fyne-io/systray/issues/84#issuecomment-2480843440

jerryan1 commented 1 week ago

I'm happy to learn from toolkits and to exceed what has been done before, absolutely. But we need to think about the user first, and how can we make a consistent experience across platforms.

I'm glad to communicate with you. I believe that maintaining cross platform consistency should not sacrifice some of the features on the original operating system, which makes people feel unhappy when using it. We cannot consider this issue from the perspective of developers, because real software users do not consider cross platform things. Users only want to use it comfortably.

andydotxyz commented 1 week ago

I do not disagree with your point, but consider this scenario:

a) a menu is required to manage a sys tray app b) the developer decided to make left click "show window" and right click "show menu" c) the OS running does not support the right click option.

In this case the app becomes unusable. This is what we, as responsible toolkit API creators, must guard against.