WM_Sn
La selezione di ICCCM 2.0, una per schermo, di cui un window manager prende la proprietà all'avvio, così che un altro possa subentrare in modo pulito con --replace invece di doverlo terminare.
Che per schermo possa esistere un solo window manager lo impone il server X stesso: un solo client può selezionare SubstructureRedirect sulla finestra radice, e il successivo riceve BadAccess e il noto «another window manager is already running». Il blocco, però, non dice chi sia in esecuzione e non offre modo di passare da uno all'altro senza terminarlo. Nel 1994 ICCCM 2.0 ha preso in prestito uno strumento dagli appunti: le selezioni. Un window manager che si avvia prende la proprietà della selezione WM_S0 per lo schermo 0, WM_S1 per il successivo, con XSetSelectionOwner su una propria finestra invisibile. Se esiste già un proprietario, il nuovo arrivato esce, a meno che non sia avviato con --replace: in tal caso prende comunque la selezione, il vecchio proprietario riceve un SelectionClear, rilascia ordinatamente le proprie finestre ed esce.
È il meccanismo dietro compiz --replace, il comando che mezzo mondo Linux digitava nel 2006 per sostituire Metacity con un cubo rotante, e dietro lo stesso flag in Openbox, KWin e xfwm4. Il modello è stato poi riusato per tutto ciò che può esistere una sola volta: _NET_WM_CM_Sn per il compositor, _NET_SYSTEM_TRAY_Sn per l'area di notifica e _XSETTINGS_Sn per il demone delle impostazioni. Possedere la selezione non significa che il proprietario sappia fare qualcosa in particolare, a questo serve _NET_SUPPORTING_WM_CHECK, ma stabilisce senza ambiguità che un window manager esiste e a quale finestra inviare le richieste. I window manager che non si sono mai curati del rituale esistono ancora e vanno terminati alla vecchia maniera.