Grab (X11)
Захват: X-клиент забирает себе весь ввод с указателя или клавиатуры независимо от того, какое окно в фокусе.
Протокол X различает активные и пассивные захваты. Активный (XGrabPointer, XGrabKeyboard) действует сразу: открытое меню захватывает указатель, поэтому щелчок вне меню достаётся ему, и оно закрывается. Пассивный (XGrabKey, XGrabButton) подстерегает определённую клавишу или кнопку — так оконные менеджеры ловят глобальные сочетания. XGrabServer заходит дальше всех и замораживает всех остальных клиентов.
Модель исходит из того, что клиенты доверяют друг другу. Программа, захватившая клавиатуру и зависшая, блокирует весь рабочий стол, а блокировщики экрана вроде XScreenSaver не могут заблокировать его, если захват уже держит кто-то другой. Что любой клиент может подслушивать клавиатуру — одна из конкретных причин, по которым создали Wayland.