ClientMessage (X11)
L'unico evento X11 che il server non genera mai da sé: venti byte di contenuto libero che client e window manager si scambiano attraverso il server.
La maggior parte degli eventi X riferisce qualcosa che il server ha osservato: un tasto premuto, un movimento del puntatore, una finestra scoperta. ClientMessage fa eccezione. Un client indica un tipo, sotto forma di atom, e venti byte di dati, poi invia il pacchetto a una finestra con XSendEvent. Il server lo inoltra senza interpretarne il contenuto, e il destinatario non deve averlo richiesto: viene consegnato a prescindere dalla maschera degli eventi.
Questo ne ha fatto la casella postale generica di X11. WM_DELETE_WINDOW arriva come ClientMessage dal window manager, ogni passo di XDND è un ClientMessage, e EWMH permette a un programma di chiedere il passaggio a schermo intero o il cambio di desktop inviandone uno alla finestra radice. Gli eventi inviati così portano il flag send_event, quindi il destinatario distingue una vera pressione di tasto da una inventata da un altro programma — cosa che alcuni giochi e campi password sfruttano per ignorarle.