_NET_WM_ICON
A propriedade em que um aplicativo deixa seu ícone como uma ou mais imagens ARGB de qualquer tamanho, em vez dos bitmaps monocromáticos que o WM_HINTS conseguia oferecer.
Os campos de ícone do ICCCM em WM_HINTS eram filhos dos anos 1980: icon_pixmap apontava para um pixmap na memória do servidor, geralmente um XBM em preto e branco, e icon_mask para outro que recortava a forma. O pixmap era preso a uma tela e a uma profundidade de cor específicas, não tinha canal alfa e vinha em exatamente um tamanho. Quando barras de tarefas, listas de Alt+Tab e barras de título passaram a querer o ícone num tamanho próprio, por volta de 2000, isso deixou de bastar. O EWMH pôs a imagem inteira na propriedade _NET_WM_ICON: um array de CARDINAL em que cada imagem começa com largura e altura, seguidas de largura vezes altura pixels em ARGB de 32 bits, e várias imagens podem vir em sequência para quem lê escolher a que melhor se ajusta.
Manter os dados no armazenamento de propriedades do servidor custa memória por janela, e um programa que deixa um ícone de 512 pixels em cinco tamanhos manda um megabyte a cada abertura. O formato também produziu um bug famoso de 64 bits: o Xlib trata o formato 32 como um array de long, então numa máquina de 64 bits cada pixel ocupa oito bytes no lado do cliente, e quem empacotou como uint32_t ficou com um ícone distorcido em cima e lixo embaixo. Os desktops modernos preferem hoje o ícone do arquivo desktop do aplicativo, localizado por WM_CLASS, e deixam o _NET_WM_ICON como reserva. O xprop ainda o exibe como arte ASCII, o que é tão inesperado hoje quanto sempre.