summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorkotontrion <[email protected]>2024-05-23 14:52:11 +0200
committerkotontrion <[email protected]>2024-05-23 14:52:11 +0200
commitcabaf247b3d7e93415ab09a0fe619f8df51be327 (patch)
treefad086a7a4173d091ce50a81900fcfc1e02cd63b
parentc9d7394bcce12e761e1372fbd18649023aad729d (diff)
fix item registration on watcher owner changes
-rw-r--r--src/tray.vala21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/tray.vala b/src/tray.vala
index 5bf9270..502e387 100644
--- a/src/tray.vala
+++ b/src/tray.vala
@@ -72,6 +72,27 @@ public class Tray : Object {
proxy.StatusNotifierItemRegistered.connect(on_item_register);
proxy.StatusNotifierItemUnregistered.connect(on_item_unregister);
+ proxy.notify["g-name-owner"].connect(
+ () => {
+ _items.foreach((service, _) => {
+ print("%s\n", service);
+ item_removed(service);
+ });
+ _items.remove_all();
+
+ if(proxy != null) {
+ foreach (string item in proxy.RegisteredStatusNotifierItems) {
+ on_item_register(item);
+ }
+ } else {
+ foreach (string item in watcher.RegisteredStatusNotifierItems) {
+ on_item_register(item);
+ }
+ }
+ }
+ );
+
+
foreach (string item in proxy.RegisteredStatusNotifierItems) {
on_item_register(item);
}