_NET_RESTACK_WINDOW
ページャーがあるウィンドウを別のウィンドウの上または下に置くためのEWMHメッセージ。ウィンドウマネージャがすべてをフレームで包んだあとは、通常のX経由の方法が通用しなくなるからである。
コアプロトコルにも重ね順を変える手段はある。兄弟ウィンドウと Above や Below といったモードを指定した ConfigureWindow リクエストだ。ただし要点は「兄弟」という語にある。二つのウィンドウを比べるには同じ親が必要なのに、リペアレント型のウィンドウマネージャの下では、各クライアントウィンドウは自分専用のフレームの子になっている。ページャーがFirefoxをターミナルの上に置こうとしても、二つはもう兄弟ではないので BadMatch が返る。
EWMHの解決策は、対象ウィンドウ、兄弟ウィンドウ、モードをすべてクライアントウィンドウの言葉で書いた ClientMessage をルートウィンドウに送ることだ。ウィンドウマネージャがそれを自分のフレームに読み替え、ConfigureRequest として届いたかのように重ね替えを行う。ソース指示は「ページャー」を意味する2にすべきで、そうすればフォーカス奪取防止などのルールが、ユーザーが明示的に頼んだ操作を妨げずに済む。