在ubuntulinux/Gnome上,我尝试使用python的wnck绑定来获取所有打开窗口的列表。在
我的代码如下:
#! /usr/bin/python
from pprint import pprint
import wnck
screen = wnck.screen_get_default()
pprint(screen.get_windows())
import pdb ; pdb.set_trace()
pprint(screen.get_windows())
输出如下:
^{pr2}$第一个get_windows()
调用返回[]
,一个空列表。第二个get_windows()
调用返回打开窗口的列表。在pdb
中,我只按c
继续,什么也不做(在pdb中)。在
如果我注释掉pdb
,两个get_windows()
调用return[]
。如果我在pdb之前多次重复get_windows()
调用,则没有任何内容。如果我在pdb之后重复多次get_windows()
调用,我会不断得到一个完整的列表。在
为什么这个调用只在一个空的pdb之后才起作用?如果没有pdb我该怎么做?在
我不使用wnck,但我认为在pdb的情况下,两次调用之间的时间间隔足以使windows列表初始化。试着在呼叫前使用睡眠并延迟获取窗口。在
归档so-wnck.py公司(来自How might I grab all windows with a certain word in their titles?)
^{pr2}$相关问题 更多 >
编程相关推荐