XNextEvent

ウィンドウのイベントはXNextEventで取得する。

Manpage of XNextEvent
Xlib イベント
X Window System(X11)のプログラムを正常に終了させる方法 - Qiita

Windowsのウィンドウメッセージと違うのは、取得したいイベントのマスクを事前にXSelectInputでセットしておかなければならない点。
これがないと、イベントループの中でXNextEventで、イベントを取得できない。
今回はウィンドウ上でマウスが押されたイベントを拾って、押された位置をprintfで出力。
10回押されたらプログラムを終了する。

最初はこの状態
最初はこの状態

最初はこの状態だが、クリックすると、

printfで位置が出てる
printfで位置が出てる

ターミナル側に位置が出てる。

連打しても出る
連打しても出る

連打しても出るし、

マウスを移動して押しても出る
マウスを移動して押しても出る

マウスを移動して押しても位置が変わって出る。

10回やったら終わる
10回やったら終わる

で10回やったら終わる。

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