如何使用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. 在python中獲取窗口的位置和大小用Xlib
- 2. C++和Xlib - 中心窗口
- 3. Xlib:創建窗口的位置不正確
- 4. Xlib - 在窗口上只繪製一個位圖的位組
- 5. XLib窗口名稱問題
- 6. Xlib測試窗口名稱
- 7. Xlib ARGB窗口圖標
- 8. 點擊Xlib中的透明窗口
- 9. 在Python xlib中繪製窗口邊框
- 10. 保存Xlib的窗口EPS文件
- 11. 點擊通過透明的xlib窗口
- 12. Xlib獲取子窗口的事件
- 13. 製作窗口在XLib/Qt的桌面
- 14. xlib將窗口推到其他窗口的背面
- 15. WPF窗口位置
- 16. WPF窗口位置
- 17. WPF窗口位置
- 18. WPF窗口位置
- 19. xlib是否有活動窗口事件?
- 20. 儘量減少全屏Xlib OpenGL窗口
- 21. 使用python重命名窗口Xlib
- 22. 用Xlib關閉應用程序窗口
- 23. xlib半透明窗口背景
- 24. XLib窗口自動對齊性能
- 25. XLib窗口沒有最大化按鈕
- 26. 設置窗口位置
- 27. Qt的子窗口位置
- 28. 改變窗口的位置
- 29. PyQt - 窗口的位置
- 30. 彈出窗口的位置
這是對我有用的答案 – thinlizzy 2015-06-27 20:00:19