diff options
author | kotontrion <[email protected]> | 2024-05-23 14:52:11 +0200 |
---|---|---|
committer | kotontrion <[email protected]> | 2024-05-23 14:52:11 +0200 |
commit | cabaf247b3d7e93415ab09a0fe619f8df51be327 (patch) | |
tree | fad086a7a4173d091ce50a81900fcfc1e02cd63b | |
parent | c9d7394bcce12e761e1372fbd18649023aad729d (diff) |
fix item registration on watcher owner changes
-rw-r--r-- | src/tray.vala | 21 |
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); } |