2014-09-20 113 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; 
}