Para evitar a necessidade de sincronizar entre clientes para alocar novos IDs, cada cliente X11 recebe simplesmente um grande número de IDs de recursos para seu uso, e os ids saem desse conjunto, independentemente do que outros clientes usaram em suas conjuntos.
Além disso, os identificadores de recursos são usados para objetos que não sejam janelas de nível superior, portanto, se você listar apenas os identificadores de janela, verá muitos buracos que são realmente ocupados por outros objetos.