2014-09-20 106 views
1

我需要獲得新建窗口的「父窗口」。例如:我啓動xterm,輸入「zenity --info」,我想設置與xterm幾何相同的zenity窗口幾何。我尋找XCreateWindowEvent(父字段),但這不是我想要的。我該如何做到這一點?得到新建窗口的「父」窗口

+0

我編輯了自己的冠軍。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 – 2014-09-20 17:51:59

+0

xterm和其他終端模擬器設置您的程序可以讀取的WINDOWID環境變量。 – 2014-09-20 18:51:58

回答

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; 
}