Eu tenho que dizer que a resposta para sua pergunta é "Não". Por sua filosofia e design subjacentes, o Xlib nunca tentará fornecer tudo sob uma API. Então, nesse sentido, o Xlib é "completo", na medida em que faz o que é suposto fazer, e deixa outras preocupações de alto nível em outras camadas.
A abordagem do Windows em que "tudo, desde a janela básica até as caixas de diálogo são cobertas no mesmo nível da API" não é necessariamente a melhor, e a tomada no Linux é diferente, decorrente das escolhas de arquitetura e design feitas para o Sistema X Window. Eu li muito sobre a API do Windows sendo muito complexa e inconsistente, então parece que unificar as coisas em uma API pode não ser a melhor solução. E, de fato, diminui a flexibilidade que você tem se bibliotecas e APIs tiverem preocupações e funcionalidades bem delimitadas. E se eu quiser interação de hardware em um programa não-GUI? E se eu precisar renderizar imagens e fontes antialiased em um arquivo sem ter um ambiente gráfico em execução? Ter bibliotecas independentes permite esse tipo de coisa.
Você pode ler o Linux não é o Windows para entender melhor por que você não deve esperar que o Linux imite o Windows , e o Resumo do Sistema X Window HOWTO para uma explicação um pouco desatualizada, mas ainda bastante válida, sobre a filosofia atrás de X e os toolkits. bibliotecas e ambientes de área de trabalho que funcionam em cima dele.