有没有一种可靠的方法来获取XCB / Xlib顶级窗口的内部和外部矩形?(即框架和客户端矩形。)
这是我尝试过的:
- xcb_get_geometry在窗口调整大小后始终返回初始尺寸(怎么回事?) - 我想我会重复调用xcb_query_tree,直到找到窗口的框架窗口 - 这是正确的方法吗?我认为ICCCM / EWMH应该提供此功能,但找不到任何信息。还有其他标准/非标准的方法吗?无论如何,在compiz / ubuntu10中无法正常工作,因为xcb_query_tree将客户端窗口报告为具有根=父项(在正常的ubuntu wm下,窗口会得到适当的重新父化)。 - xcb_translate_coordinates()似乎是2007年获得基于根的坐标[1]的唯一可靠方法 - 现在是否仍然如此?即XCB_CONFIGURE_NOTIFY是否与WM不兼容?
[1] {{link1:http://fixunix.com/xwindows/91652-finding-position-top-level-windows.html}}
这是我尝试过的:
- xcb_get_geometry在窗口调整大小后始终返回初始尺寸(怎么回事?) - 我想我会重复调用xcb_query_tree,直到找到窗口的框架窗口 - 这是正确的方法吗?我认为ICCCM / EWMH应该提供此功能,但找不到任何信息。还有其他标准/非标准的方法吗?无论如何,在compiz / ubuntu10中无法正常工作,因为xcb_query_tree将客户端窗口报告为具有根=父项(在正常的ubuntu wm下,窗口会得到适当的重新父化)。 - xcb_translate_coordinates()似乎是2007年获得基于根的坐标[1]的唯一可靠方法 - 现在是否仍然如此?即XCB_CONFIGURE_NOTIFY是否与WM不兼容?
[1] {{link1:http://fixunix.com/xwindows/91652-finding-position-top-level-windows.html}}