Я хотел бы иметь ширину и высоту текущего фокусного окна. Выбор окна работает как шарм в то время как высота и ширина всегда возвращение 1.Xlib: XGetWindowAttributes всегда возвращает 1x1?
#include <X11/Xlib.h>
#include <stdio.h>
int main(int argc, char *argv[])
{
Display *display;
Window focus;
XWindowAttributes attr;
int revert;
display = XOpenDisplay(NULL);
XGetInputFocus(display, &focus, &revert);
XGetWindowAttributes(display, focus, &attr);
printf("[0x%x] %d x %d\n", (unsigned)focus, attr.width, attr.height);
return 0;
}
Разве это не «реальное» окно, но в настоящее время активный компонент (например, текстовое поле или кнопку?) И почему он должен иметь размер 1x1 в любом случае? Если это так, то как я могу получить главное окно приложения, содержащего этот элемент управления? Значит ... вид окна верхнего уровня, самого верхнего окна, кроме корневого окна.
PS: Не знаю, действительно ли это важно; Я использую Ubuntu 10.04 32 и 64 бит.
принимает: спасибо Дуг. работает как шарм! :) С уважением – Atmocreations