Как получить положение окна верхнего уровня относительно корневого окна (т. Е. Весь экран), используя простой ol xlib (или новый XCB)?Положение окна в Xlib
6
A
ответ
4
Используйте XTranslateCoordinates (или эквивалент xcb), чтобы перевести 0,0 в окне на корневые координаты окна.
7
Использование Xlib:
XWindowAttributes xwa;
XGetWindowAttributes(display, window, &xwa);
printf("%d %d\n", xwa.x, xwa.y);
Есть также много другой информации, которые приходят с XWindowAttributes
. См. here.
6
Компоненты x, y структуры, возвращаемые атрибутами XGetWindowAttributes, относятся к началу родителя окна. Это не то же самое, что в левом верхнем углу экрана.
Вызов XTranslateCoordinates, передающий корневое окно, и 0,0 дает координаты окна относительно экрана.
Я обнаружил, что если я пишу:
int x, y;
Window child;
XWindowAttributes xwa;
XTranslateCoordinates(display, window, root_window, 0, 0, &x, &y, &child);
XGetWindowAttributes(display, window, &xwa);
printf("%d %d\n", x - xwa.x, y - xwa.y);
Значения, отображаемые Printf являются те, которые, если он будет принят в XMoveWindow, держать окно в его текущей позиции. Таким образом, эти координаты разумно считаются позицией окна.
Смежные вопросы
- 1. XLib Lock Положение мыши (мышь)
- 2. Xlib получение событий дочернего окна
- 3. Нажмите через прозрачные окна XLIB
- 4. Проблемы с названием окна XLib
- 5. Создание окна рабочего стола в XLib/Qt
- 6. Граница окна чертежа в Python xlib
- 7. Положение окна в какао
- 8. захват мыши с Xlib
- 9. Закрытие окна приложения с помощью Xlib
- 10. Статус индикации окна с помощью Xlib
- 11. Установить положение окна в центре
- 12. Установить положение окна в Overwolf
- 13. Минимизированное положение окна в WPF
- 14. Gtkmm - фиксированное положение окна?
- 15. Положение окна на экране
- 16. положение дочернего окна
- 17. Как получить положение окна?
- 18. Установите положение окна программы
- 19. Невозможно установить положение окна
- 20. Как скопировать содержимое одного окна в другое с помощью Xlib?
- 21. XLIB Вопросы оформления
- 22. Имена тестовых окон Xlib
- 23. Значок Xlib ARGB Window
- 24. Как сохранить положение диалогового окна
- 25. Изменить положение всплывающего диалогового окна
- 26. Как настроить положение окна оповещения
- 27. Где указать положение компонента окна?
- 28. Определить текущее Y-положение окна
- 29. Положение окна над системным лотком
- 30. Положение окна libgdx вне стадии
Это ответ, который работал и для меня – thinlizzy