python wnck не возвращает никаких данных до тех пор, пока не будет pdb.set_trace ()

StackOverflow https://stackoverflow.com/questions/5352027

Вопрос

В Ubuntu Linux / Gnome я пытаюсь использовать привязку wnck python для получения списка всех открытых окон.

Мой код выглядит так:

родовое слово

Результат выглядит следующим образом:

родовое слово

Первый вызов get_windows() возвращает пустой список [].Второй вызов get_windows() возвращает список открытых окон.В коде pdb я нажимаю только c, чтобы продолжить, и ничего не делаю (в pdb).

Если я закомментирую код pdb, оба вызова кода get_windows() вернут код [].Если я повторю вызов get_windows() много раз перед pdb, ничего не будет.Если я повторяю вызов get_windows() много раз после pdb, я постоянно получаю полный список.

Почему этот вызов работает только после пустого PDB?Как мне заставить его работать без PDB?

Это было полезно?

Решение

Файл so-wnck.py (из Как я могу захватить все окна с определенным словом в их заголовках? )

родовое слово <цитата>

python so-wnck.py

родовое слово

Другие советы

Я не работаю с wnck, но думаю, что в случае с pdb времени между двумя вызовами get_window достаточно для инициализации списка окон.Попробуйте использовать сон с некоторой задержкой перед вызовом get_window.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top