XTranslateCoordinates
ある点を一方のウィンドウの座標系から別のウィンドウの座標系へ変換し、ついでにその点の下にある子ウィンドウも教えてくれるXlibの呼び出し。
X11では、ウィンドウの位置は常に親からの相対で表される。ウィンドウマネージャがクライアントを自前のフレームに収めるようになるまでは、これで問題なかった。ところがアプリケーションは画面上の(300, 200)ではなく、フレーム内の(0, 22)にいることになった。実際にどこにいるかを知りたいプログラムは、自分のウィンドウからルートウィンドウへ(0, 0)を変換するようサーバーに頼み、画面座標を得る。
応答には、変換先ウィンドウの子のうちその点を含むものも入っている。つまりこの呼び出しはウィンドウツリーを辿り、あるピクセルの下に何があるかを調べる手段でもあり、ドラッグ&ドロップやxdotoolのようなツールはまさにそれをしている。ただし呼び出しのたびに往復通信が発生するので、モーションイベントごとに座標変換していたプログラムは、遅い回線で存在感を示すことになった。