2014-09-20 3 views
1

Мне нужно получить «родительское» окно только что созданного окна. Например: я начинаю xterm, набираю «zenity -info», и я хочу установить геометрию окна zenity так же, как геометрию xterm. Я искал XCreateWindowEvent (родительское поле), но это не то, что я хочу. Как я могу это сделать?получить «родительское» окно только что созданного окна

+0

Я редактировал свой титул. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –

+0

xterm и другие эмуляторы терминала устанавливают переменную среды WINDOWID, которую может читать ваша программа. –

ответ

1

Вот код:

bool getWindowParent(Window & winId, Window & _root) { 
    Window root, parent, *children = NULL; 
    unsigned int num_children; 

    if(!XQueryTree(m_display, winId, &root, &parent, &children, &num_children)) 
     return false; 

    if (children) 
     XFree((char *)children); 

    winId = parent; 
    _root = root; 
    return true; 
} 
Смежные вопросы