IT-словарь › Программирование › XTranslateCoordinates

XTranslateCoordinates

Программирование Svenska → Обновлено: 2026-10-20

Вызов Xlib, переводящий точку из системы координат одного окна в систему другого и заодно сообщающий, какое дочернее окно лежит под этой точкой.

В X11 положение окна всегда задаётся относительно родителя. Это было безобидно, пока оконные менеджеры не стали помещать клиентские окна в собственные рамки: приложение вдруг оказывалось в точке (0, 22) внутри рамки, а не в (300, 200) на экране. Программа, желающая узнать, где она на самом деле, просит сервер перевести (0, 0) из своего окна в корневое и получает экранные координаты.

В ответе также указано дочернее окно целевого окна, содержащее эту точку, так что вызов позволяет спускаться по дереву окон и находить, что лежит под данным пикселем: именно так работают drag-and-drop и такие инструменты, как xdotool. Однако каждый вызов — это обмен с сервером, и программы, переводившие координаты на каждое событие движения, давали о себе знать на медленных каналах.

← Назад к словарю