浏览代码

Reposition children on forget

Thomas Dy 8 年之前
父节点
当前提交
c0f7975075
共有 1 个文件被更改,包括 7 次插入0 次删除
  1. 7 0
      src/tray.rs

+ 7 - 0
src/tray.rs

@@ -158,6 +158,13 @@ impl<'a> Tray<'a> {
 
     pub fn forget(&mut self, window: xcb::Window) {
         self.children.retain(|child| *child != window);
+        for (index, child) in self.children.iter().enumerate() {
+            let window = *child;
+            let xpos = index as u32 * self.icon_size as u32;
+            xcb::configure_window(&self.conn, window, &[
+                (xcb::CONFIG_WINDOW_X as u16, xpos)
+            ]);
+        }
         self.reposition();
     }