7

我试过使用:

   win.configure(stack_mode=X.TopIf)
   win.set_input_focus(X.RevertToParent, X.CurrentTime)

但是,即使在我的窗口管理器上没有任何焦点丢失预防措施,这也不起作用,有人知道另一种方法吗?Xlib 与否。

4

3 回答 3

3

有一个名为wmctrl的命令行工具,它允许您与兼容 EWMH/NetWM 的 X 窗口管理器进行交互。

例如,

wmctrl -l

列出由窗口管理器管理的所有窗口,以及

wmctrl -a Mozilla 

激活列表中第一个标题中包含字符串“Mozilla”的窗口。还有其他选择窗口的方法;以上只是一个例子。

wmctrl 也使您能够移动和调整窗口大小。

于 2009-10-31T02:15:56.313 回答
2

尝试这个:

window=Display().screen().root.query_pointer().child
window.set_input_focus(X.RevertToParent, X.CurrentTime)
window.configure(stack_mode=X.Above)
于 2010-07-21T07:40:57.923 回答
1

也许这就是解决方案:
[Xlib] Force Raise/Map/Focus a given Window

给出的解决方案(按照线程)涉及使用 wnck,它在 Python 中是 Gtk+ 绑定的一部分。

于 2009-10-30T23:50:57.677 回答