Идентификаторы окон, вероятно, уникальны только в каждом подключении к X-серверу (т. Е. Разные процессы, подключающиеся к X-серверу, могут получить один и тот же идентификатор окна, а X-сервер использует идентификатор окна AND И соединения для внутреннего разделения). *
Я думаю, что X не дает никаких обещаний по поводу идентификатора окна, например они уникальны для разных процессов или чего-либо еще, поэтому лучше не пытаться использовать их для каких-либо других целей.
Я не удивлюсь, увидев реализации X, которые просто возвращают последовательные числа в качестве идентификаторов окон, начиная с одного и того же значения (например, 1) для каждого соединения, что объясняет ваш опыт, например, первое окно в каждом клиенте, похоже, имеет тот же идентификатор окна в этой реализации X.