Как я могу получить окно в определенной позиции X, Y с Python и PyGTK / PyGDK? - PullRequest
2 голосов
/ 01 июня 2011

Итак, я разрабатываю небольшую утилиту для создания скриншотов под названием Lookit, и я хочу, чтобы у пользователя была возможность сделать скриншот всего окна (в настоящее время поддерживается весь экран и захват перетаскиваемого прямоугольника).

Что меня интересует, так это как получить окно, на которое пользователь нажимает, чтобы я мог найти его геометрию и захватить этот участок экрана.

Любая помощь приветствуется.

Спасибо!

1 Ответ

4 голосов
/ 01 июня 2011

Эти окна принадлежат другим процессам, поэтому вам нужно пройти через систему управления окнами. Это отличается для каждой платформы, и AFAIK не абстрагируется GDK.

На X11 вы можете использовать привязки python к libwnck :

import wnck
screen = wnck.screen_get_default()
for window in reversed(screen.get_windows_stacked()):
    if window.get_geometry() <matches your click coordinates>
...