Как выяснить, если ваш курсор указывает на ваш рабочий стол под X11 - PullRequest
4 голосов
/ 22 декабря 2011

Как я могу проверить, не указывает ли мой курсор мыши на окно?Я программирую на C / C ++ и для X11 (особенно оболочка gnome3)

Ответы [ 2 ]

3 голосов
/ 22 декабря 2011

Если рабочий стол действительно является корневым окном X11, тогда я думаю XQueryPointer делает то, что вы хотите: просто проверьте, child_return == root_return. Обязательно звоните XQueryPointer с RootWindow(display, DefaultScreen(display)) или XDefaultRootWindow(display).

2 голосов
/ 22 декабря 2011

В некоторых средах рабочего стола может использоваться отдельное окно (определение 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.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...