XmProtocols (Motif)
A camada do Motif sobre o WM_PROTOCOLS do ICCCM, que transforma mensagens do gerenciador de janelas em callbacks comuns — e o motivo de tantos programas Motif morrerem ao se clicar na caixa de fechar.
No Xlib puro, a aplicação define o WM_PROTOCOLS por conta própria e separa os eventos ClientMessage na mão. O Motif embrulhou tudo isso: XmAddWMProtocolCallback(shell, XmInternAtom(dpy, "WM_DELETE_WINDOW", False), on_close, data) registra o protocolo e associa uma função. Só que o recurso XmNdeleteResponse do shell também agia por conta própria, e o padrão, XmDESTROY, destruía a janela independentemente do que o callback achasse. O programa ficava sem janela principal, ou caía. A cura era definir XmDO_NOTHING e tratar o fechamento você mesmo.
A mesma engrenagem carregava a extensão do próprio Motif, o _MOTIF_WM_MESSAGES. Uma aplicação podia acrescentar entradas ao menu de janela do mwm pelo recurso XmNmwmMenu, e quando o usuário escolhia uma, o mwm devolvia uma mensagem via f.send_msg. Poucos programas usaram, e quase nenhum outro gerenciador de janelas entendia.