如何使用plain ol'xlib(或全新的XCB)获取相对于根窗口(即整个屏幕)的顶层窗口位置?Xlib中的窗口位置
6
A
回答
4
使用XTranslateCoordinates(或xcb等价物)将窗口上的0,0转换为根窗口坐标。
7
使用的Xlib:
XWindowAttributes xwa;
XGetWindowAttributes(display, window, &xwa);
printf("%d %d\n", xwa.x, xwa.y);
也有很多附带XWindowAttributes
其它信息的。见here。
6
XGetWindowAttributes返回的结构的x,y组件相对于窗口父项的原点。这与屏幕左上方的相对不一样。
调用XTranslateCoordinates传递根窗口和0,0给出窗口相对于屏幕的坐标。
我发现,如果我写:
int x, y;
Window child;
XWindowAttributes xwa;
XTranslateCoordinates(display, window, root_window, 0, 0, &x, &y, &child);
XGetWindowAttributes(display, window, &xwa);
printf("%d %d\n", x - xwa.x, y - xwa.y);
由printf的显示的值是指,如果这些传递给XMoveWindow,窗口保持在当前位置。因此,这些坐标被合理地认为是窗口的位置。
相关问题
- 1. XLib窗口名称问题
- 2. 在Python xlib中绘制窗口边框
- 3. Xlib获取子窗口的事件
- 4. 制作窗口在XLib/Qt的桌面
- 5. 保存Xlib的窗口EPS文件
- 6. 点击通过透明的xlib窗口
- 7. xlib将窗口推到其他窗口的背面
- 8. WPF窗口位置
- 9. WPF窗口位置
- 10. WPF窗口位置
- 11. WPF窗口位置
- 12. 用Xlib关闭应用程序窗口
- 13. xlib半透明窗口背景
- 14. 尽量减少全屏Xlib OpenGL窗口
- 15. 使用python重命名窗口Xlib
- 16. xlib是否有活动窗口事件?
- 17. 设置窗口位置
- 18. 弹出窗口的位置
- 19. PyQt - 窗口的位置
- 20. Qt的子窗口位置
- 21. 禁用窗口在VimClojure中的位置?
- 22. WPF中最小化的窗口位置
- 23. WPF - 设置对话窗口相对于主窗口的位置?
- 24. 窗口父母位置?
- 25. 模态窗口位置
- 26. 通知窗口位置
- 27. 窗口位置动画
- 28. 更改窗口位置jquery
- 29. 恢复窗口位置
- 30. WPF窗口位置绑定
这是对我有用的答案 – thinlizzy 2015-06-27 20:00:19