Léxico de TI › Programação › Timestamps (X11)

Timestamps (X11)

Programação Svenska → Atualizado: 2026-10-09

O relógio próprio do servidor X: 32 bits de milissegundos que acompanham cada tecla e cada clique, e o que decide quem ganhou quando dois programas querem o mesmo recurso.

O servidor conta milissegundos a partir de uma origem arbitrária, na prática o próprio início, e o contador dá a volta após cerca de 49 dias. Todo evento de tecla, botão e propriedade carrega o valor, e ele não é decoração. Quem quer ser dono de uma seleção, fazer um grab ou mover o foco envia um timestamp junto, e o servidor recusa o pedido se ele for mais antigo que a última alteração. É assim que as disputas entre clientes são resolvidas sem que o servidor precise saber quem tem razão: vence quem age com base no evento de usuário mais recente.

A constante CurrentTime, zero, significa "agora" e é tentadora quando não há evento à mão. O ICCCM a proíbe para seleções, já que "agora" nunca perde uma corrida e esvazia a regra; um programa sem evento recente deve escrever zero bytes em uma propriedade e ler a hora no PropertyNotify que volta. Os mesmos carimbos sustentam as camadas posteriores: _NET_WM_USER_TIME e a notificação de inicialização registram quando o usuário fez algo pela última vez, o que é toda a base da prevenção de roubo de foco.

← Voltar ao léxico