Fensterplatzierung
Die Regel des Fenstermanagers, wo ein neues Fenster landet, wenn das Programm nichts dazu gesagt hat – von Hand, zufällig, als Kaskade oder in der ersten freien Lücke –, eine Entscheidung, die Wayland den Programmen später ganz abnahm.
Das X-Protokoll erlaubt einem Programm, eine Position vorzuschlagen, doch ICCCM unterscheidet zwischen Vorschlag und Anordnung: USPosition in WM_NORMAL_HINTS bedeutet, dass der Benutzer sie mit -geometry vorgegeben hat und sie respektiert werden muss, während PPosition die eigene Vermutung des Programms ist und ignoriert werden darf. Für alles ohne Anordnung entscheidet der Fenstermanager. uwm und twm machten den Benutzer zum Platzierer: Ein neues Fenster erschien als Umriss, der dem Zeiger folgte, bis man klickte, was präzise und sehr ermüdend war. twm bekam RandomPlacement als Alternative, und fvwm baute es zu SmartPlacement aus, das eine Lücke sucht, in der das Fenster nichts überdeckt, mit Kaskade und Zufall als Rückfall. Windows kaskadiert standardmäßig. Kachelnde Fenstermanager haben gar keine Platzierung; das Layout entscheidet.
EWMH lieferte mit _NET_WM_FULL_PLACEMENT ein Atom, mit dem ein Fenstermanager ankündigt, sogar die Vorschläge des Programms zu übergehen, und Wayland machte das zur Regel: Ein Toplevel-Fenster hat keine globalen Koordinaten und kann auch keine verlangen. Nur Popups werden platziert, und zwar relativ zu ihrem Elternfenster über xdg_positioner. Programme, die es gewohnt waren, dort wieder zu öffnen, wo sie zuletzt standen, mussten lernen, dass das nun das Gedächtnis des Compositors ist und nicht mehr ihres.