python wnck не возвращает никаких данных до тех пор, пока не будет pdb.set_trace ()
-
27-10-2019 - |
Вопрос
В 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.