-
Notifications
You must be signed in to change notification settings - Fork 2.2k
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
No tray icons for Electron apps #11624
Comments
Hmm. I just ran the slack-desktop client, which is also an Electron app, and its tray icon displays normally (I'm using polybar with i3wm). I'm not sure if this is a general problem. |
I also just ran riot-desktop, and once again, I was able to see a tray icon... I'm thinking this might be a local user configuration issue. |
I am using i3-bar. |
Check if |
I have the same problem on Void + KDE Plasma desktop environment. |
Thank you for that. I am on Arch Linux with KDE. I first installed |
I'm having this issue on KDE on X11. In Wayland, the indicators work fine. Both Riot and Signal Desktop output a complaint about dbus when starting up on X11, but not on Wayland. The error is: I don't know if it's the same root cause as other people in this issue, but maybe it is helpful. |
It should also be noted they work fine in Sway, if Sway is run via |
As @ProjectMoon suggested in the issue referenced above, i am now using dbus-run-session. The icon of riot-desktop is still missing. i want to note that the icon of telegram-desktop works fine (is that application also electron based?)
|
What system tray application are you using? |
I am able to reproduce this issue with both Awesome window manager and stalonetray (standalone sys tray). I use |
It might also be some incompatibility with these trays and newer versions of electron. Hard to say. |
Telegram is Qt based. |
This looks like a more up-to-date upstream issue for this problem: element-hq/element-web#12518 Summary basically is: Electron 8 is based on a newer version of Chromium, which changes how the tray icon works. I guess KDE handles that, while other sys trays do not. |
For anyone not able to see the tray icon, perhaps try using https://git.sr.ht/~steef/snixembed. I have not had any luck in getting it to work yet, but at least one person in the upstream issue said it solved their problem. |
OK, after much testing, snixembed is the "solution" here. It works with awesome wm and stalonetray. I will create an XBPS package for snixembed. This is an upstream issue though, in the window managers. They need to update themselves to support the StatusNotifierItem APIs for Electron 8+ applications to work properly with the system tray. |
|
I can comfirm that the icon is showing up again using dwm window manager. Thank you for creating a package for this. |
Does executing
and then running the program through the terminal make the icon appear? I have a similar issue, not sure if it's related, but that makes it work. In my case, DBUS_SESSION_BUS_ADDRESS doesn't get set which causes Discord and Spotify to not be able to send notifications, create a tray icon, and provide media player controls. Obviously, that's a workaround but I'm not sure how to get that variable to be auto exported. Using SDDM and Plasma desktop with X11. |
There are two different issues, both with similar symptoms:
|
@2xsaiko Yes the source / export trick does work for me
It's a cludge, but you can edit the desktop file in /usr/share/xsessions and add "dbus-run-session" to the Exec line. So mine is now "Exec=dbus-run-session /usr/bin/startplasma-x11". |
It should be noted that will be patched into the KDE 5.19 release. |
KDE 5.19 Should land in the repo somewhen tromorrow (if I don't see anything broken) |
KDE 5.19 Doesn't seem to fix the problem for me. "Riot" and "Wire" won't show a systray icon unless I run the session with "dbus-run-session" (which worked fine in 5.18), but adding dbus-run-session to the startplasma-x11 exec line now seems to cause other problems in KDE. EDIT: The workaround now seems to be: Add "dbus-run-session" to the Exec line in .desktop files for Wire / Riot / Electron Apps that won't show a systray icon, and remove it from /usr/share/xsessions/plasma.desktop (if you had added it in there). EDIT2: Nope that doesn't work. When wire tries to change the systray icon for an incoming message it hangs and needs to be force quit. The only solution now is to use the
Trick from above in a wrapper script that then launches wire / riot / whatever, then change the desktop file to point at your wrapper script. EDIT3: Well this is embarrassing. (I'll shut up now). If I put:
in ~/.xprofile, everything seems to get set up correctly. |
I believe this can be closed? |
Yeah, I suppose so. |
System
Void 4.19.37_1 x86_64 GenuineIntel uptodate rFFFFFF
riot-desktop
(don't know which version)Expected behavior
Riot Desktop, and other Electron apps has system tray support.
Actual behavior
No system tray icon for Electron apps.
A few months ago it worked (I don't know exactly).
(GTK and QT apps still have working tray icons.)
Steps to reproduce the behavior
Launch any Electron app that should have system tray support.
The text was updated successfully, but these errors were encountered: