如何检查鼠标光标是否指向窗口?我正在使用C / C ++和X11(尤其是gnome3 shell)进行编程
答案 0 :(得分:3)
如果桌面确实是X11根窗口,那么我认为XQueryPointer
可以做你想要的:只测试是否child_return == root_return
。请务必使用XQueryPointer
或RootWindow(display, DefaultScreen(display))
致电XDefaultRootWindow(display)
。
答案 1 :(得分:2)
某些桌面环境可能使用不是根窗口的单独窗口(X11定义)。 xwininfo到桌面上,可以在xfce4上打开图标,例如:
xwininfo: Window id: 0x1c00003 "Skrivebord"
Absolute upper-left X: 0
Absolute upper-left Y: 0
Relative upper-left X: 0
Relative upper-left Y: 0
Width: 1024
Height: 600
[...]
所以,虽然你可以确定鼠标指向的是什么,但是没有办法判断它是否通常被称为“桌面”(因为该术语本身并未在X11的上下文中精确定义。)< / p>