DestroyNotify
O evento do X11 entregue quando uma janela foi destruída, tendo o CreateNotify como contraparte no outro extremo da vida da janela.
XDestroyWindow derruba não só a janela, mas toda a sua subárvore, e o DestroyNotify é entregue de dentro para fora: filhas primeiro, pai por último. A maioria das janelas, porém, nunca é destruída de forma explícita. Quando a conexão de um cliente é encerrada, o servidor limpa tudo o que ele criou, a menos que o cliente tenha pedido o contrário com SetCloseDownMode, e os mesmos eventos são enviados. Um pai com SubstructureNotifyMask também recebe um CreateNotify sempre que um filho é criado.
Para um gerenciador de janelas, o DestroyNotify é o sinal para desmontar a moldura que ele construiu em volta do cliente. O momento é traiçoeiro: quando o evento chega, a janela já se foi, e qualquer chamada que ainda a referencie resulta em BadWindow. Handlers de erro que engolem em silêncio exatamente esse erro são, portanto, quase obrigatórios em código de gerenciador de janelas — clientes morrem quando querem, não quando é conveniente para você.