在Ubuntu 18.04 KDE桌面上,当窗口移动时,我无法确切获得窗口的位置。
使用xcb_get_geomerty()函数,我可以获取窗口的位置。
但是当窗口移动时,窗口的位置仍与以前相同,没有变化。当释放鼠标并完成窗口移动时,我便可以准确地获得窗口的位置。
auto geom = xcb_get_geometry(xcb_connection(), window);
auto offset = xcb_translate_coordinate(xcb_connection(), window, rootwin, geom->x, geom->y);
offset->dst_x // top-level window's x offset on the screen
offset->dst_y // top-level window's y offset on the screen
geom->width // top-level window's width
geom->height // top-level window's height
在其他桌面环境(例如gnome,xfce)(而非KDE)中移动窗口时,正确获取窗口的位置。还有什么其他方法或xwindow属性可以在移动时获取窗口的位置吗?