Geometry (X11)
A string no formato 80x24+10+10 que todo programa X desde os anos 1980 entende como "deste tamanho, e ali", com uma pequena gramática própria para números negativos.
O formato é LARGURAxALTURA seguido de ±X±Y, e cada parte é opcional. -geometry 80x24 define só o tamanho, +0+0 só a posição. O sinal de mais mede a distância da borda esquerda ou superior até a borda mais próxima da janela; o de menos mede a partir da borda direita ou inferior até a borda mais distante da janela, de modo que -0+0 significa canto superior direito, +0-0 inferior esquerdo e -0-0 o canto inferior direito. Menos zero é, portanto, um número válido e muito usado. Para a maioria dos programas a unidade é o pixel, mas para o xterm e outros terminais são caracteres, o que funciona porque o programa declara a célula de caractere como incremento de redimensionamento em WM_NORMAL_HINTS.
Na Xlib, XParseGeometry interpreta a string e devolve uma máscara de bits que diz quais partes estavam presentes e quais eram negativas; XWMGeometry então traduz os sinais em uma gravidade, de modo que uma janela com -0+0 recebe NorthEastGravity e permanece no seu canto depois que o gerenciador de janelas coloca uma moldura em volta dela. A mesma chamada define USPosition e USSize, que o ICCCM trata como uma ordem que o gerenciador deve obedecer, e não como sugestão. O Xt tornou -geometry uma opção padrão em todos os programas, e o xwininfo imprime o valor atual de uma janela exatamente nesse formato, para ser colado na próxima execução. A sintaxe foi muito além do X: o -resize 100x100 e o -crop 10x10+5+5 do ImageMagick são a mesma gramática. O Wayland abandonou toda a metade da posição, já que uma janela de nível superior ali não é mais informada de onde está.