CirculateRequestとCirculateNotify
X11のウィンドウ循環を担うイベント。隠れている最下位のウィンドウを持ち上げる、または最上位のものを最背面へ送る。
XCirculateSubwindowsは方向を指定して呼ぶ。RaiseLowestは、何かに覆われている最下位のマップ済み子ウィンドウを前面に出し、LowerHighestは、何かを覆っている最上位の子ウィンドウを背面に下げる。繰り返せばウィンドウの山が回転する。親にSubstructureRedirectを選択しているウィンドウマネージャがあると、すぐには何も起きない。代わりにマネージャへPlaceOnTopまたはPlaceOnBottomを示すCirculateRequestが届き、マネージャが自分で判断する。実際に再配置が行われると、StructureNotifyまたはSubstructureNotifyを選択している側にCirculateNotifyが送られる。
これは重なったxtermで画面が埋まるのが普通だった時代の、初期のウィンドウ切り替えの発想である。twmはf.circleupとf.circledownとして公開していた。実際にはこのリクエストを見ることはまれだ。自分で重なり順を変えたいプログラムは、スタックモード付きのConfigureRequestを送り、現代のウィンドウマネージャはAlt+Tabを自前のリストで処理する。そのため、CirculateRequestは雑に扱われるか、無視されることが多い。