summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);
}