If I code a application that has an X11 window, will it look and operate the same across linux os's
Sim, mas não pelo motivo que você pensa. X11 é muito baixo nível, e se preocupa basicamente com desenho primitivos gráficos e fornecendo um razoavelmente padronizado (note que isso não significa sane; X11 pode ser chamado muitas coisas, mas duvido "bem projetado para um ambiente moderno "seria o primeiro que muitas pessoas alcançariam" interface entre os dispositivos de entrada de hardware e o software. Ele nem tem muito em termos de suporte a fontes e desenhos de texto; é por isso que bibliotecas como o Pango foram desenvolvidas.
Na verdade, é por isso que kits de ferramentas como o Qt e o GTK existem: não são alternativas ao X11 , mas construídos em cima para tornar a programação de aplicativos gráficos muito menos dor de cabeça. Como eles abstraem todos os detalhes básicos de como desenhar na tela eles também permitem a portabilidade de aplicativos gráficos para plataformas alternativas que não suportam nativamente aplicativos X11, como o Windows.
Se você quer uma alternativa para X11 , então você está procurando algo como Wayland que é ganhando algum impulso .
Se você estiver trabalhando com X11 puro, o conteúdo da janela (não a decoração da janela, como barra de título, bordas de janela, etc .; o X11 puro não decora a janela, essa tarefa é delegado ao gerenciador de janelas) deve sempre parecer o mesmo, porque o seu programa está fazendo todo o desenho em si e, portanto, para melhor ou pior, você tem controle total sobre a aparência dos resultados.
Se você está confiando em alguma biblioteca intermediária como GTK, Qt ou outros, a aparência do seu aplicativo pode depender de como o usuário configurou essa biblioteca específica para seus gostos pessoais. Se você quiser que seu aplicativo seja bem recebido, seria bem aconselhável aceitar essas escolhas feitas pelo usuário e garantir que o aplicativo se adapte a elas de maneira elegante.