Another "tray icon not displaying" issue
Environment:
NixOS unstable hyprland latest (nixpkgs-unstable) ironbar latest (nixpkgs-unstable)
Behavior
Trayscale will launch without any issue at all. It will not, however, consistently appear in my system tray (specifically the tray module of ironbar). If it does display in the tray, it displays as "Trayscale" (see screenshot) rather than an icon.
Functionally, this is irrelevant and I don't really mind it, as I can just launch it from my launcher. But it's odd behavior. Is there something I can check for errors regarding locating and/or using its proper icon?
Try running it with TRAY_DEBUG=1 set and post the stdout/stderr. This is with the Flatpak, I assume? The problem seems to be almost entirely exclusive to it.
And please don't create new issues for this. I know that this problem exists. I just have been completely incapable of recreating it locally. Please just comment on the existing issue if it's the same problem and you have new information.
First, sincere apologies for creating a new issue.
But, if it matters, this is not with the flatpak. This is with the nixpkgs package. BUT, after a reboot and accidentally launching both ironbar and hyprpanel, it appears to be an issue with the ironbar tray implementation, as it is displaying fine in hyprpanel:
I'm happy to continue to troubleshoot if you'd like, but I'll also be happy to close this issue and take it over to ironbar.
But if it helps, here's the TRAY_DEBUG output:
$ TRAY_DEBUG=1 trayscale
2025/07/06 17:25:04 WARN Theme parser error: gtk.css:58:1-26: Failed to import: Error opening file /home/cbl/.config/gtk-4.0/libadwaita.css: No such file or directory priority=4 code_file=../gtk/gtkcssprovider.c code_line=191 code_func=gtk_css_provider_parsing_error glib_domain=Gtk
2025/07/06 17:25:04 WARN Theme parser error: gtk.css:59:1-33: Failed to import: Error opening file /home/cbl/.config/gtk-4.0/libadwaita-tweaks.css: No such file or directory priority=4 code_file=../gtk/gtkcssprovider.c code_line=191 code_func=gtk_css_provider_parsing_error glib_domain=Gtk
2025/07/06 17:25:04 INFO names acquired TRAY_DEBUG=1 registered=org.freedesktop.StatusNotifierItem-3210-1 available="[:1.55 :1.55 org.freedesktop.StatusNotifierItem-3210-1]"
2025/07/06 17:25:04 WARN dbus call failed TRAY_DEBUG=1 destination=org.freedesktop.StatusNotifierWatcher path=/StatusNotifierWatcher method=org.freedesktop.StatusNotifierWatcher.RegisterStatusNotifierItem args=[org.freedesktop.StatusNotifierItem-3210-1] err="The name org.freedesktop.StatusNotifierWatcher was not provided by any .service files"
2025/07/06 17:25:04 INFO menu method TRAY_DEBUG=1 name=GetLayout parentID=0 propertyNames=[]
2025/07/06 17:25:04 INFO menu method TRAY_DEBUG=1 name=GetLayout parentID=0 propertyNames="[type label visible enabled children-display accessible-desc]"
2025/07/06 17:25:04 INFO menu method TRAY_DEBUG=1 name=GetGroupProperties ids="[0 1 2 3 4 5 6 7]" propertyNames=[]
2025/07/06 17:25:04 ERROR g_application_send_notification: assertion 'g_application_get_is_registered (application)' failed glib_old_log_api=1 priority=4 glib_domain=GLib-GIO
I took a quick look through Ironbar's repo and I don't see any code for running a system tray. I see code for creating system tray icons, as in Ironbar can itself be a client of a system tray implementation, but I don't see anything that looks like implementations of StatusNotifierHost or StatusNotifierWatcher, the two D-Bus interfaces that are implemented by system trays.
Is that TRAY_DEBUG=1 output from when it worked or from when it didn't work? Because it looks like everything's working correctly there.
Edit: Just to double-check, I have the right Ironbar, right?
Never mind. Found the code for it: https://github.com/JakeStanger/ironbar/blob/6d4170d3a63dd51369b6e332000447377f802c0f/src/modules/tray/mod.rs#L207-L210
I also found several bug reports about problems with the tray: JakeStanger/ironbar#791, JakeStanger/ironbar#632
Looks like there are some known problems with it. I don't know for sure that that's what's going on here, though.
This started happening to me on MX Linux 23.6(Debian based) with the flatpak. I did the debug thing and I get a repeating pattern of numbers(in an array?) in this at the end:
100 100 255 100 100 100 255 100 100 100 255 100 100 100 255 100 100 100 255 100 100 100 255 100 100 100 255 100 100 100 254 99 99 99 250 99 99 99 241 99 99 99 228 99 99 99 211 99 99 99 190 99 99 99 164 99 99 99 135 99 99 99 101 99 99 99 63 99 99 99 22 99 99 99 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]}]" err="dbus: connection closed by user"
It functions, but I can't start it to the system tray nor close/minimize to the system tray.
In order for my Trayscale to go to the systray, I have to toggle "Use tray icon" in settings.
Every time you start Trayscale, @nraygun?
Yes, on my laptop.
Can you post the full stdout/stderr with TRAY_DEBUG=1, please? That last bit from your earlier comment doesn't really tell me much. The string of numbers is probably the raw byte of the icon data being sent over D-Bus, and then the error message (connection closed by user) is quite vague.
If it's really long, which it probably is if it has the image data's raw bytes in it, you can either post it as a gist or here using a <details> tag.
Well, wait a minute - it seems to be working now! I rebooted to reproduce the issue and it seemed to go the systray. Maybe there was a system update of some sort that restored operation? I'll keep an eye on it and if it happens again, I'll get you the data. Thanks for the support!
Also experiencing this - Ubuntu 24.04, X11 session, using the Flatpak version.
Just running the app with flatpak run dev.deedles.Trayscale TRAY_DEBUG=1 outputs the following (not sure what the file sharing stuff has to do with any of this, maybe nothing)
2025/10/26 07:35:35 ERROR failed to get file targets err="file sharing not enabled by Tailscale admin"
** (process:13079): WARNING **: 07:35:35.209: Invalid client serial
2025/10/26 07:35:35 ERROR g_application_send_notification: assertion 'g_application_get_is_registered (application)' failed glib_old_log_api=1 priority=4 glib_domain=GLib-GIO
and causes an ellipsis icon to display briefly on the taskbar, then disappear (the rest of the GUI works OK as far as I can see).
I searched for this "Invalid client serial" error and stumbled upon https://github.com/DeedleFake/trayscale/issues/160. Tried
flatpak run --socket=session-bus dev.deedles.Trayscale TRAY_DEBUG=1. That outputted the following:
2025/10/26 07:37:55 ERROR failed to get file targets err="file sharing not enabled by Tailscale admin"
2025/10/26 07:37:55 ERROR g_application_send_notification: assertion 'g_application_get_is_registered (application)' failed glib_old_log_api=1 priority=4 glib_domain=GLib-GIO
and the tray behavior changed somewhat - now, we first the ellipsis briefly flashes, then the actual Trayscale icon instead of it, then disappears.
I have no solutions but maybe the symptoms point to what's wrong. @DeedleFake if you or anyone else wants me to try reproducing the problem with some other arguments/settings/etc - let me know, happy to help.
@RamanMalykhin
TRAY_DEBUG=1 should be before the the entire command, i.e. TRAY_DEBUG=1 flatpak run dev.deedles.Trayscale. Where you've put it the program is interpreting it as a path to a file, hence the file sharing output.
I don't think that the output with it set will help much, though. I've seen the output with it from several people's machines and none of them were particularly helpful, unfortunately. Mostly just generic error messages about not being able to connect to D-Bus.
@DeedleFake Thanks, TIL.
With TRAY_DEBUG=1 flatpak run --socket=session-bus dev.deedles.Trayscale I get
2025/10/26 08:35:00 ERROR failed to get file targets err="file sharing not enabled by Tailscale admin"
2025/10/26 08:35:00 INFO names acquired TRAY_DEBUG=1 registered=org.freedesktop.StatusNotifierItem-2-1 available="[:1.241 :1.241 org.freedesktop.StatusNotifierItem-2-1]"
2025/10/26 08:35:00 WARN dbus call failed TRAY_DEBUG=1 destination=org.freedesktop.StatusNotifierWatcher path=/StatusNotifierWatcher method=org.freedesktop.StatusNotifierWatcher.RegisterStatusNotifierItem args=[org.freedesktop.StatusNotifierItem-2-1] err="The name org.freedesktop.StatusNotifierWatcher was not provided by any .service files"
2025/10/26 08:35:00 INFO menu method TRAY_DEBUG=1 name=GetLayout parentID=0 propertyNames="[type children-display]"
2025/10/26 08:35:00 ERROR g_application_send_notification: assertion 'g_application_get_is_registered (application)' failed glib_old_log_api=1 priority=4 glib_domain=GLib-GIO
Not sure if the StatusNotifierWatcher stuff is anything new or helpful - too bad if not, but thanks anyway.