Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/348.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么有些(例如Emacs和Chrome)X windows报告没有名称和类别?_Python_Xlib - Fatal编程技术网

Python 为什么有些(例如Emacs和Chrome)X windows报告没有名称和类别?

Python 为什么有些(例如Emacs和Chrome)X windows报告没有名称和类别?,python,xlib,Python,Xlib,当我使用python xlib通过get_input_focus()获取当前聚焦的窗口时,Konsole的窗口名称和类设置正确,但对于Chrome和Emacs,它们只是空字符串(尽管窗口ID似乎对这三个窗口都有效)。为什么? 如何获取这些窗口的标题和所有者进程?由于我使用KDE,使用DBUS实现这些功能是一种选择,但我更喜欢一种更通用的解决方案。如果在这里发现类似问题: 我将其稍作修改如下: cur_window = the_display.get_input_focus().focus cu

当我使用python xlib通过get_input_focus()获取当前聚焦的窗口时,Konsole的窗口名称和类设置正确,但对于Chrome和Emacs,它们只是空字符串(尽管窗口ID似乎对这三个窗口都有效)。为什么?


如何获取这些窗口的标题和所有者进程?由于我使用KDE,使用DBUS实现这些功能是一种选择,但我更喜欢一种更通用的解决方案。

如果在这里发现类似问题:

我将其稍作修改如下:

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
现在它开始工作了