当我使用python-xlib使用get_input_focus()获取当前聚焦的窗口时,为Konsole正确设置了窗口名称和类,但对于Chrome和Emacs,它们只是空字符串(尽管窗口ID似乎对于所有这三个)。为什么呢?
如何获取这些窗口的标题和所有者流程?由于我使用KDE,因此使用DBUS是一种选择,但我更喜欢更通用的解决方案。
答案 0 :(得分:0)
如果在此处发现类似的问题: How do I detect the currently focused application?
我对此进行了稍微修改:
cur_window = the_display.get_input_focus().focus
cur_class = None
while cur_class is None:
cur_name = cur_window.get_wm_name()
cur_class = cur_window.get_wm_class()
if cur_class is None:
cur_window = cur_window.query_tree().parent
现在可行。