Python: Xlib -- 如何提升窗口到最前面?
我试过使用:
win.configure(stack_mode=X.TopIf)
win.set_input_focus(X.RevertToParent, X.CurrentTime)
但是即使我的窗口管理器没有任何防止失去焦点的设置,这个方法还是不行。有没有人知道其他的办法可以做到这一点?不管是用Xlib还是其他的。
3 个回答
1
也许这个是解决办法:
[Xlib] 强制提升/显示/聚焦一个窗口
在这个讨论中提到的一个解决方案是使用wnck,这在Python中是Gtk+库的一部分。
3
试试这个:
window=Display().screen().root.query_pointer().child
window.set_input_focus(X.RevertToParent, X.CurrentTime)
window.configure(stack_mode=X.Above)
3
有一个命令行工具叫做 wmctrl,它可以让你与支持EWMH/NetWM的X窗口管理器进行互动。
比如说,
wmctrl -l
这个命令可以列出所有由窗口管理器管理的窗口,而
wmctrl -a Mozilla
这个命令可以让列表中第一个标题包含“Mozilla”的窗口变为活动窗口。选择窗口还有其他方法,上面的只是一个例子。
wmctrl 还可以让你移动和调整窗口的大小。