XQueryTree(3) ウィンドウツリーの情報を問い合わせる

書式

Status XQueryTree(display, w, root_return, parent_return, children_return, nchildren_return)

      Display *display;

      Window w;

      Window *root_return;

      Window *parent_return;

      Window **children_return;

      unsigned int *nchildren_return;

引き数

children_return
子ウィンドウのリストが返される。
display
X サーバへの接続を指定する。
nchildren_return
子ウィンドウの数が返される。
parent_return
親ウィンドウが返される。
root_return
ルートウィンドウが返される。
w
子ウィンドウ、ルートウィンドウ、親ウィンドウ、子ウィンドウの数を求めたいウィンドウを指定する。

説明

関数 XQueryTree は指定したウィンドウに対して、ルートウィンドウのID, 親ウィンドウのID, 子ウィンドウのリストへのポインタ(子ウィンドウが無い場合には NULL)、こ のリスト中の子ウィンドウの数を返す。 子ウィンドウのリストは、最も奥のウィンドウから最も手前のウィンドウへの 順で、現在重なっている順番に作られる。 XQueryTree は問い合わせに失敗した場合に 0 を返し、成功の場合には 0 でない値を返 す。 不要になった NULL でない子ウィンドウのリストを解放するときには XFree を使うこと。

バグ

本来はルートウィンドウの ID ではなく、screen * を返すべきである。