特定のウィンドウ1〜3を指定した順に上位スタックするようにしたく・・・
 ※ウィンドウは他にも多数あるという前提で

Display *dsp;
Window win[3];
int w_num;

w_num = 3;
wim[0]=123; /* アプリ1のWindowID*/
wim[1]=456; /* アプリ2のWindowID*/
wim[2]=789; /* アプリ3のWindowID*/
        /*IDは引数で渡されたものを数値変換したもの、または、*/
        /*共有メモリから取得した値。ここの例では省略している*/

dsp = XOpenDisplay(display_name);

XRestackWindows(dsp, win, w_num); /*指定した順でウィンドウを再スタック*/

と、したのだがウィンドウがピクリとも動きませんでした。
どこが誤っているのか、なにか処理が足りないのかが判りません。
どなたかお判りになる方は居ませんか?