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
fix: reimplement Tray with StatusIconLinuxDbus on Linux #36333
Conversation
@MarshallOfSound It is still there :(, I'll see if I can fix it. |
I have submitted a patch to upstream Chromium to fix the tray icon disappearing problem: |
I saw we updated the Tray documentation - is there anything else that Linux developers/users would need to modify in their app for these Tray changes, or should they work out of the box? |
Existing apps will just work without any modification, this PR only fixes limitations of previous implementation without changing existing behaviors. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
overall lgtm, hope we can get some movement on the chromium review upstream!
* Tray icon requires support of [StatusNotifierItem](https://www.freedesktop.org/wiki/Specifications/StatusNotifierItem/) | ||
in user's desktop environment. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* Tray icon requires support of [StatusNotifierItem](https://www.freedesktop.org/wiki/Specifications/StatusNotifierItem/) | |
in user's desktop environment. | |
* The user's desktop environment must support [StatusNotifierItem](https://www.freedesktop.org/wiki/Specifications/StatusNotifierItem/) | |
in order to display a tray icon. |
* The `click` event is emitted when the tray icon receives activation from | ||
user, however the StatusNotifierItem spec does not specify which action would | ||
cause an activation, for some environments it is left mouse click, but for | ||
some it might be double left mouse click. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
* The `click` event is emitted when the tray icon receives activation from | |
user, however the StatusNotifierItem spec does not specify which action would | |
cause an activation, for some environments it is left mouse click, but for | |
some it might be double left mouse click. | |
* The `click` event is emitted when the tray icon receives activation from the | |
user. However, the StatusNotifierItem spec does not specify which interactions | |
cause an activation. For some environments, a left mouse click causes an | |
activation, but for others it might be double left mouse click, or some other | |
interaction. |
Note that on Linux this event is emitted when the tray icon receives an | ||
activation, which might not necessarily be left mouse click. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note that on Linux this event is emitted when the tray icon receives an | |
activation, which might not necessarily be left mouse click. | |
Note that on Linux this event is emitted when the tray icon receives an | |
activation, which might not necessarily be a left mouse click. |
Release Notes Persisted
|
I have automatically backported this PR to "22-x-y", please check out #36472 |
* fix: reimplement Tray with StatusIconLinuxDbus on Linux (#36333) Co-authored-by: Cheng Zhao <zcbenz@gmail.com> * chore: remove incorrectly added patches Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Cheng Zhao <zcbenz@gmail.com> Co-authored-by: Keeley Hammond <vertedinde@electronjs.org>
Description of Change
This PR rewrites Tray's implementation on Linux with
StatusIconLinuxDbus
, which communicates with the desktop environment with dbus directly instead of relying on libappindicator.Close #36283.
Close #36274.
Close #28956.
Close #28131.
Close #27527.
Close #14941.
Close #14635.
Release Notes
Notes: Fix
click
event and tooltip ofTray
not working on Linux.