Leksykon IT › Infrastruktura › Kolejność okien (stacking order)

Kolejność okien (stacking order)

Infrastruktura Svenska → Zaktualizowano: 2026-10-09

Kolejność, w jakiej okna-rodzeństwo leżą jedno na drugim, dzięki której serwer wie, które z nich widać tam, gdzie się nakładają — w X11 cecha odrębna od fokusu i ostatecznie zależna od menedżera okien.

Każde okno w X11 ma listę potomków, ułożonych w ściśle określonej kolejności od dołu do góry. Tam, gdzie dwa okna-rodzeństwo się nakładają, rysowane jest wyższe; odsłonięte części niższego dostają zdarzenie Expose, gdy znów zostaną odkryte. Protokół podstawowy daje klientowi kilka narzędzi: XRaiseWindow i XLowerWindow, XCirculateSubwindows, które obraca potomków, oraz ConfigureWindow z polem stack_mode, mogącym przyjąć wartość Above, Below, TopIf, BottomIf lub Opposite względem opcjonalnego rodzeństwa. XQueryTree zwraca potomków dokładnie w tej kolejności, od dołu, i tak wie, co jest na wierzchu, xwininfo -tree i podobne narzędzia.

Dla okien najwyższego poziomu, czyli potomków okna głównego, w praktyce obowiązują inne zasady. Menedżer okien, który wybrał SubstructureRedirect, dostaje próby podniesienia i obniżenia okien jako zdarzenia ConfigureRequest i postępuje po swojemu, a EWMH dodał warstwy: okno pulpitu na dole, zwykłe okna pośrodku, doki i okna oznaczone _NET_WM_STATE_ABOVE nad nimi, a na samym szczycie aktywne okno pełnoekranowe. Właściwość _NET_CLIENT_LIST_STACKING w oknie głównym publikuje wynik dla pagerów i pasków zadań. Windows nazywa to samo Z-order, z osobnym pasmem „topmost”, a macOS mówi o poziomach okien. We wszystkich trzech to, że podnoszenie i fokus to dwie osobne operacje, jest stałym źródłem błędów, które maskuje auto-raise.

← Wróć do leksykonu