SetInputFocus
La requête du protocole X qui décide dans quelle fenêtre le clavier écrit — et ce qui se passe quand cette fenêtre disparaît.
Elle prend trois arguments. La cible est une fenêtre, None, qui jette toutes les frappes, ou PointerRoot, qui donne le focus à la fenêtre racine de l'écran où se trouve le pointeur — en pratique, à la fenêtre sous la souris. C'était l'état par défaut d'un serveur X sans gestionnaire de fenêtres, et une bonne part de la raison pour laquelle le focus-suit-la-souris paraissait naturel sous X. L'argument revert_to indique où va le focus si la fenêtre cesse d'être visible : vers son parent, vers PointerRoot, ou nulle part. Viser une fenêtre non visible produit un BadMatch.
Le troisième argument est un horodatage, et le serveur ignore silencieusement la requête s'il est antérieur au dernier changement de focus. L'ICCCM interdit donc aux clients de passer CurrentTime : c'est ainsi qu'un programme lent, répondant à un clic vieux de deux secondes, évite d'arracher le focus à la fenêtre où l'utilisateur est passé entre-temps. Peu de programmes respectent la règle.