Leksykon IT › Programowanie › SendEvent (X11)

SendEvent (X11)

Programowanie Svenska → Zaktualizowano: 2026-10-11

Żądanie X11, które pozwala jednemu klientowi wysłać sfabrykowane zdarzenie do okna innego programu — opatrzone flagą, która fałszerstwo zdradza.

Za pomocą XSendEvent klient wypełnia dowolne zdarzenie — KeyPress, ConfigureNotify, ClientMessage — i prosi serwer o dostarczenie go do okna, do tego, co jest pod wskaźnikiem, lub do okna z fokusem. Serwer nie sprawdza zawartości, ale ustawia najwyższy bit kodu zdarzenia. Odbiorca widzi to jako pole send_event i wie, że żaden człowiek niczego nie nacisnął.

Flaga istnieje ze względów bezpieczeństwa. xterm domyślnie ignoruje syntetyczne naciśnięcia klawiszy — zasób allowSendEvents jest wyłączony — bo inaczej każdy klient na wyświetlaczu mógłby wpisywać polecenia do cudzej powłoki. Dlatego powstał XTEST, ze zdarzeniami wyglądającymi na prawdziwe. ICCCM natomiast używa flagi zgodnie z przeznaczeniem: menedżer okien musi po przesunięciu okna w ramce wysłać syntetyczne ConfigureNotify ze współrzędnymi względem okna głównego.

← Wróć do leksykonu