Ordine di sovrapposizione delle finestre
L'ordine in cui le finestre sorelle si sovrappongono, così che il server sappia quale mostrare dove due si coprono: in X11 una proprietà distinta dal focus, e in ultima analisi decisa dal window manager.
Ogni finestra in X11 ha un elenco di figlie, e le figlie stanno in un ordine preciso dal basso verso l'alto. Dove due sorelle si sovrappongono viene disegnata quella superiore; le parti coperte di quella inferiore ricevono un evento Expose quando tornano scoperte. Il protocollo core offre al client alcuni strumenti: XRaiseWindow e XLowerWindow, XCirculateSubwindows, che ruota le figlie, e ConfigureWindow con il campo stack_mode, che può valere Above, Below, TopIf, BottomIf od Opposite rispetto a una sorella facoltativa. XQueryTree restituisce le figlie esattamente in quell'ordine, dal basso, ed è così che xwininfo -tree e strumenti simili sanno cosa sta in cima.
Per le finestre di primo livello, le figlie della root window, nella pratica valgono altre regole. Un window manager che ha selezionato SubstructureRedirect riceve i tentativi dei programmi di alzare e abbassare le finestre come eventi ConfigureRequest e fa ciò che crede, ed EWMH ha aggiunto dei livelli: lo sfondo del desktop in fondo, le finestre normali nel mezzo, sopra a queste i dock e le finestre marcate _NET_WM_STATE_ABOVE, e in cima una finestra a schermo intero con il focus. La proprietà _NET_CLIENT_LIST_STACKING sulla root pubblica il risultato per pager e barre delle applicazioni. Windows chiama la stessa cosa Z-order, con una fascia separata per «topmost», e macOS parla di livelli delle finestre. In tutti e tre, il fatto che alzare e dare il focus siano due operazioni distinte è una fonte costante di bug, ed è ciò che l'auto-raise esiste per mascherare.