Did you check docs and existing issues?
Hyde version
hydebar main @ d055edf
Operating system/version
Arch Linux 7.1.10-arch1-1
Describe the bug
When a notification uses the freedesktop replaces_id mechanism while the original popup is still visible, Hydebar creates an additional popup instead of updating the existing one.
The notification server appears to handle the replacement ID correctly and reuses the existing notification ID. The problem is in the visible popup handling: each NotificationEvent::Received appends a new popup without checking whether a popup with the same notification ID is already on screen.
As a result, multiple visible popups can represent the same notification ID.
Steps To Reproduce
- Run Hydebar with its native notification popups enabled.
- Send a notification and retain the notification ID:
id=$(notify-send -p "Replacement test" "First body")
- Before the first popup expires, replace it using the returned ID:
notify-send -r "$id" "Replacement test" "Updated body"
Expected Behavior
The existing popup should be updated in place rather than a second popup being created.
There should be only one visible popup remaining for the notification ID. Its contents and expiration time should match the replacement notification, and its lifetime should restart from the replacement time.
This matches the freedesktop notification specification of replaces_id.
Did you check docs and existing issues?
Hyde version
hydebar main @ d055edf
Operating system/version
Arch Linux 7.1.10-arch1-1
Describe the bug
When a notification uses the freedesktop
replaces_idmechanism while the original popup is still visible, Hydebar creates an additional popup instead of updating the existing one.The notification server appears to handle the replacement ID correctly and reuses the existing notification ID. The problem is in the visible popup handling: each
NotificationEvent::Receivedappends a new popup without checking whether a popup with the same notification ID is already on screen.As a result, multiple visible popups can represent the same notification ID.
Steps To Reproduce
id=$(notify-send -p "Replacement test" "First body")Expected Behavior
The existing popup should be updated in place rather than a second popup being created.
There should be only one visible popup remaining for the notification ID. Its contents and expiration time should match the replacement notification, and its lifetime should restart from the replacement time.
This matches the freedesktop notification specification of
replaces_id.