AllowEvents
Żądanie X odmrażające wskaźnik lub klawiaturę zamrożone przez synchroniczny grab — i pozwalające w trybie ReplayPointer dostarczyć kliknięcie drugi raz, jakby nikt go nie przechwycił.
Grab w trybie GrabModeSync zamraża urządzenie po pierwszym zdarzeniu: serwer kolejkuje wszystko, co następuje, dopóki klient nie zdecyduje i nie wywoła XAllowEvents. Tryby to AsyncPointer (zwolnij kolejkę i przestań zamrażać), SyncPointer (przepuść jeszcze jedno zdarzenie i zamroź ponownie) oraz ReplayPointer, a do tego odpowiedniki dla klawiatury i SyncBoth/AsyncBoth.
ReplayPointer to powód, dla którego w ogóle działa fokus po kliknięciu w X. Menedżer okien zakłada pasywny, synchroniczny grab na przycisk myszy nad każdym oknem klienta. Przy kliknięciu widzi zdarzenie pierwszy, ustawia fokus i podnosi okno, po czym odtwarza kliknięcie — już poza własnym grabem, więc aplikacja też je dostaje. Menedżer, który zapomni o wywołaniu, zostawia wskaźnik zamrożony aż do końca grabu, co użytkownik odbiera jako zawieszenie całego ekranu.