XInternAtom

XInternAtomで、アトムを取得したり、生成できる

Manpage of XInternAtom
Xlib ウィンドウの閉じるボタンが押された時の処理を書く

WM_DELETE_WINDOWプロパティと同様に、WM_PROTOCOLSプロパティもアトムを取得できる。
(ただ、XWindowのこのプロパティの構造というか概念が感覚的にわかりにくい。Windowsのウィンドウメッセージのような並列した概念ではない模様。)

このように取得。
XSetWMProtocolsのところとは全く関係なくアトムはアトムとして取得できる。
で、これをどこに使うかというと、

event.xclient.message_typeの判定で使える。

表示
表示

表示して閉じると、

WM_PROTOCOLS!
WM_PROTOCOLS!

確かに、event.xclient.message_typeはWM_PROTOCOLS。
ただ、WM_DELETE_WINDOWも、WM_PROTOCOLSも、どこにあるのか探したけど見つからなかった。
(他にどんなプロパティがあるかがあまり情報が無い。)
いずれまた今度探してみよう。
また、第3引数をTrueにして生成もできるらしいが、生成する場面がわからないので、これもまた今回は見送り・・・。

Sample/xlib/XInternAtom/XInternAtom/src/XInternAtom at master · bg1bgst333/Sample · GitHub