【发布时间】:2013-07-21 21:12:55
【问题描述】:
我正在尝试使用 python-wnck 将焦点设置到窗口。
我能找到的与这个库相关的唯一文档来自https://developer.gnome.org/libwnck/stable/WnckWindow.html
使用我在 SO 的另一个问题上找到的一些代码,我能够使用窗口标题搜索窗口,但我不确定如何让窗口聚焦。
从上面的文档中我找到了函数:
wnck_window_activate(WnckWindow *window, guint32 timestamp);
所以在 python 中,我尝试使用“window.activate(0)”之类的函数,但这似乎失败了,我的任务栏上的图标闪烁但没有获得焦点。
在终端中我收到消息:
(windowTest.py:17485): Wnck-WARNING: Received a timestamp of 0; window activation may not function properly
所以我想我实际上可能需要输入一个有效的时间戳,但不知道如何获得它。
这是我目前使用的代码:
import pygtk
pygtk.require('2.0')
import gtk
import wnck
import re
import sys
screen = wnck.screen_get_default()
while gtk.events_pending():
gtk.main_iteration()
titlePattern = re.compile('.*Geany.*')
windows = screen.get_windows()
for w in windows:
if titlePattern.match(w.get_name()):
print w.get_name()
w.activate(0)
【问题讨论】: