Ver código fonte

Handle tray icon being reparented out

Thomas Dy 7 anos atrás
pai
commit
b7a56fefa6
1 arquivos alterados com 6 adições e 0 exclusões
  1. 6 0
      src/tray.rs

+ 6 - 0
src/tray.rs

@@ -211,6 +211,12 @@ impl<'a> Tray<'a> {
                 let window = data[2];
                 self.adopt(window);
             },
+            xcb::REPARENT_NOTIFY => {
+                let event: &xcb::ReparentNotifyEvent = xcb::cast_event(&event);
+                if event.parent() != self.window {
+                    self.forget(event.window());
+                }
+            },
             xcb::DESTROY_NOTIFY => {
                 let event: &xcb::DestroyNotifyEvent = xcb::cast_event(&event);
                 self.forget(event.window());