mirror of
https://github.com/JakeStanger/ironbar.git
synced 2026-07-11 09:15:22 +01:00
[GH-ISSUE #1279] tray module does not update icons #8814
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#8814
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 @ejrichards on GitHub (Dec 17, 2025).
Original GitHub issue: https://github.com/JakeStanger/ironbar/issues/1279
Describe the bug
Tray icons do not update, eg when an application updates its icon to display that a notification is available.
To reproduce
Steps to reproduce the behavior:
trayExpected behavior
A red dot should appear. This also occurs with Zulip, which updates the icon to be the number of unread messages.
System information:
Configuration
Config
Styles
Occurs with no CSS stylingLog error every time an update should happen
This is also in the logs, although I'm not sure if it is relevant
@JakeStanger commented on GitHub (Dec 17, 2025):
I've observed this myself, and it seems to be a problem with Electron having some bogus implementation of the SNI protocol. I think (need to confirm) Plasma handles it correctly, so presumably there is a workaround.
@Windblows2000 commented on GitHub (Dec 18, 2025):
I tried taking look at it for a cheap fix. It seems that the implementation is indeed inconsistent between the different applications. I tried LM Studio, Vesktop (dont have the official Discord client so I cant confirm it), and Cachy-Update. Each did throw a different failure that made it impossible to update the icon. LM Studio sent an icon_name None, while Vesktop couldn't even send one over zbus.
A redraw if either the name or pixmap data change seems to do the trick. Though I'm unsure how that affects performance (Cachy-Update shot 4 icon updates at once.)
@JakeStanger commented on GitHub (Dec 18, 2025):
The best test-case for performance would be
nm-applet. Disabling and enabling the adaptor will cause it to re-connect, which should show an animation. Each animation frame is sent as an icon update. That should work, at least...So long as the menu itself isn't re-rendered, it should be cheap enough.
@Windblows2000 commented on GitHub (Dec 18, 2025):
Thank you for the response.
Just tested
nm-appletby reconnecting to the network. The logic seems solid. It correctly captures the animation frames while avoiding duplicates. the checkname_changed || pixmap_changedmakes sure of that.@JakeStanger commented on GitHub (Dec 18, 2025):
Cool in that case if you want to submit a PR I can get that turned around pretty quick for you