如何确定光标是否指向X11下的桌面

时间:2011-12-21 22:59:50

标签: c++ c linux debian x11

如何检查鼠标光标是否指向窗口?我正在使用C / C ++和X11(尤其是gnome3 shell)进行编程

2 个答案:

答案 0 :(得分:3)

如果桌面确实是X11根窗口,那么我认为XQueryPointer可以做你想要的:只测试是否child_return == root_return。请务必使用XQueryPointerRootWindow(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>