Zdarzenie Expose
Serwer X mówi programowi, że część jego okna właśnie stała się widoczna i trzeba ją namalować — natychmiast.
X11 nigdy nie obiecywał, że zapamięta zawartość okna. Gdy coś zasłaniającego je się odsuwa, serwer wysyła jedno zdarzenie Expose na każdy odsłonięty prostokąt, z położeniem, rozmiarem i polem count mówiącym, ile ich jeszcze nadchodzi. Częsty idiom w kodzie Xlib: ignorować wszystko z count > 0 i przerysować całe okno przy ostatnim — prościej niż przycinanie i rzadko zauważalnie wolniej.
Jego kuzyn GraphicsExpose pojawiał się, gdy XCopyArea próbowało kopiować z zasłoniętego obszaru, którego nie było. Program ignorujący Expose działał bez zarzutu, aż ktoś pierwszy raz przeciągnął nad nim inne okno. Backing store i save-under mogły zmniejszyć ruch, ale każdy poważny program i tak potrzebował porządnej ścieżki przerysowania w pętli zdarzeń.