'Removes this Window
If this window has children, the first child takes the place of this
window, and any remaining children are reparented to that node'

def remove(self):

    if self.children:
        head = self.children[0]
        self.parent.add(head, hint=self)
        for i in self.children[1:]:
            head.add(i)
    self.parent.children.remove(self)
    del self.children
