mirror of
https://github.com/JakeStanger/ironbar.git
synced 2026-07-11 08:15:21 +01:00
[GH-ISSUE #1335] Some tray icons are blank until updated by app #7424
Labels
No labels
A:Build
A:CI
A:Client
A:Config
A:Core
A:Documentation
A:Documentation
A:IPC
A:Testing
A:UX/UI
blocked
BREAKING CHANGE
duplicate
good first issue
GTK4
help wanted
invalid
M:Battery
M:Battery
M:Bindmode
M:Bluetooth
M:Brightness
M:Cairo
M:Clipboard
M:Clock
M:Clock
M:Custom
M:Focused
M:Keyboard
M:Launcher
M:Menu
M:Music
M:Music
M:Music
M:Network Manager
M:Notifications
M:SysInfo
M:Tray
M:Volume
M:Workspaces
partially resolved
P:Critical
P:High
P:Low
P:Medium
pull-request
T:Bug
T:Bug
T:Core Enhancement
T:Module Enhancement
T:New Module
T:Question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
JakeStanger/ironbar#7424
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @jficz on GitHub (Jan 15, 2026).
Original GitHub issue: https://github.com/JakeStanger/ironbar/issues/1335
Describe the bug
I can easily replicate this with Element-desktop and sometimes with Nextcloud client but with slightly different results. With element the icon only appears after it is changed (like with unread messages badge), with Nextcloud, it appears when ironbar is restarted.
To reproduce
Steps to reproduce the behavior:
Expected behavior
Icons should appear normally.
System information:
Additional context
Element icon updates normally after the first update - i.e. the badge disappears once the new messages are read.
I tried to replicate with some other apps (Slack, nm-applet) but I couldn't. Only with Element and Nextcloud.
Element is an electron app, Slack, too.
Nextcloud is a QT app.
Screenshots
after nextcloud and element start

after ironbar is restarted
after message is recieved on Element
@jficz commented on GitHub (Jan 15, 2026):
Huh, I just noticed that the nextcloud icon actually appears at start for a fraction of a second and then disappears. The icon that appears is a gray "offline" icon, then once the app connects, the icon disappears until ironbar is restarted and then the "online" blue icon appears.
@Rick-Phoenix commented on GitHub (Mar 28, 2026):
Same thing happens with the tailscale tray icon
@jficz commented on GitHub (Apr 8, 2026):
Latest observation is that, for me, only the Nextcloud desktop app (QT) has problem with icons. I didn't notice any issues with Element in the past month or so but I moved away from it recently and I was getting a lot of messages that updated the icon so it might just be that I didn't observe the problem, not that it disappeared.
There are two states the icon is in:
@benoitlx commented on GitHub (Apr 15, 2026):
With zapzap tray icon the icon appears when starting zapzap but disappears when I have unread messages.
Runnig ironbar 0.19.0-pre
@JakeStanger commented on GitHub (May 10, 2026):
There's been a few fixes to tray icon rendering recently. Can you confirm if this is still an issue please?
@jficz commented on GitHub (May 11, 2026):
no difference as of 0.19.0-pre+date=2026-05-10_d44268b. In fact it's slightly worse - now I'm completely missing Slack icon. Though not sure if that's slack or ironbar problem. I'll see if I can debug more
@jficz commented on GitHub (May 11, 2026):
I think it's more about gtk icons on NixOS/HM than rendering itself but it's just a hunch at this point. I can try to get some logs but if you have any specific thing you'd like me to look at, let me know
@JakeStanger commented on GitHub (May 11, 2026):
The most important thing to help debug is to get an idea of how far along the pipeline the issue arises, ie does
system_trayget the data and correctly send it to Ironbar, or is it lost at the first hurdle?The one NixOS case that could be a problem as far as I can think, is if programs are sending a hard coded path to their icon file, but it's not been patched to point at the store. Loading from the icon theme itself or from pixmap directly should work fine.
@jficz commented on GitHub (May 11, 2026):
check, I'll see what I can dig up
@jficz commented on GitHub (May 11, 2026):
ok, this is what I got. Tried to trigger the issue by manually pausing and resuming sync on Nextcloud. It seems like the icon data is there but it's blank. The icon appeared after I started ironbar again through the user service (i.e. not debug):
I'm not sure all of the events are related to the NC icon change tho, I removed one Bluetooth update entry that popped up in the middle.
Also disregard the Slack icon issue - might have been related to multiple sleep-resume and ironbar restart cycles. Force-killing slack and starting ironbar now shows the icon without any apparent issues so far.
This means that only the NC icon remains problematic (for me). I've got a couple of others which work, namely:
@JakeStanger commented on GitHub (May 11, 2026):
Thanks, that's very helpful. I think I know what's happening. Those blank
icon_namevalues are probably overruling the pixmap it should be using.Could you try setting
prefer_theme_icons = falsein your tray module config and see if it still happens?github.com/JakeStanger/ironbar@d44268bdf0/src/modules/tray/icon.rs (L25-L31)If that helps, that
elsejust needs aicon_name.is_empty()check@jficz commented on GitHub (May 11, 2026):
From what I was able to replicate, yeah,
prefer_theme_icons = falseworks :) (for me ™️)@JakeStanger commented on GitHub (May 11, 2026):
#1485 should get it I think. Can you give that a quick test for me and confirm when you get a chance please?