Leksykon IT › Programowanie › Geometria (X11)

Geometria (X11)

Programowanie Svenska → Zaktualizowano: 2026-10-09

Łańcuch w rodzaju 80x24+10+10, który każdy program X od lat 80. rozumie jako „tak duże i tam”, z własną małą gramatyką dla liczb ujemnych.

Format to SZEROKOŚĆxWYSOKOŚĆ, po których następuje ±X±Y, a każda część jest opcjonalna. -geometry 80x24 ustawia tylko rozmiar, +0+0 tylko położenie. Plus mierzy odległość od lewej lub górnej krawędzi ekranu do najbliższej krawędzi okna; minus mierzy od prawej lub dolnej krawędzi do dalszej krawędzi okna, więc -0+0 oznacza prawy górny róg, +0-0 lewy dolny, a -0-0 prawy dolny. Minus zero jest zatem poprawną i często używaną liczbą. W większości programów jednostkami są piksele, ale w xterm i innych terminalach — znaki, co działa, bo program deklaruje komórkę znaku jako przyrost zmiany rozmiaru w WM_NORMAL_HINTS.

W Xlib XParseGeometry analizuje łańcuch i zwraca maskę bitową mówiącą, które części wystąpiły i które były ujemne; XWMGeometry zamienia znaki na grawitację, tak że okno z -0+0 dostaje NorthEastGravity i zostaje w swoim rogu, gdy menedżer okien owinie je ramką. To samo wywołanie ustawia USPosition i USSize, które ICCCM traktuje jako polecenie, któremu menedżer okien musi się podporządkować, a nie sugestię. Xt uczynił -geometry standardową opcją każdego programu, a xwininfo drukuje bieżącą wartość okna dokładnie w tym formacie, by dało się ją wkleić do następnego uruchomienia. Składnia wyszła daleko poza X: -resize 100x100 i -crop 10x10+5+5 w ImageMagicku to ta sama gramatyka. Wayland porzucił całą połowę dotyczącą położenia, bo okno najwyższego poziomu nie dowiaduje się już, gdzie jest.

← Wróć do leksykonu