소스 검색

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();
     }