ClientMessage (X11)
O único evento do X11 que o servidor nunca gera sozinho: vinte bytes de carga livre que clientes e gerenciadores de janelas trocam entre si por meio do servidor.
A maioria dos eventos do X informa algo que o servidor observou: uma tecla pressionada, um movimento do ponteiro, uma janela exposta. O ClientMessage é a exceção. Um cliente preenche um tipo, na forma de um atom, e vinte bytes de dados, e então envia o pacote a uma janela com XSendEvent. O servidor o repassa sem interpretar o conteúdo, e o destinatário não precisa ter pedido nada — a entrega ocorre independentemente da máscara de eventos.
Isso o transformou na caixa de correio de uso geral do X11. O WM_DELETE_WINDOW chega como um ClientMessage vindo do gerenciador de janelas, cada etapa do XDND é um deles, e o EWMH permite que um programa peça tela cheia ou troca de área de trabalho mandando um à janela raiz. Eventos enviados assim carregam o flag send_event, e o destinatário consegue distinguir uma tecla real de uma inventada por outro programa — o que alguns jogos e campos de senha usam para ignorá-las.