gpt4 book ai didi

python - 如何检测当前聚焦的应用程序?

转载 作者:太空狗 更新时间:2023-10-29 20:55:03 26 4
gpt4 key购买 nike

我希望能够通过 Python 跟踪哪个应用程序当前专注于我的 X11 显示器。目的是将其绑定(bind)到时间跟踪工具中,以便我可以跟踪我花在非生产性上的时间。

我已经在 http://thpinfo.com/2007/09/x11-idle-time-and-focused-window-in.html 找到了这段代码:

import Xlib.display
display = Xlib.display.Display()
focus = display.get_input_focus()
print "WM Class: %s" % ( focus.focus.get_wm_class(), )
print "WM Name: %s" % ( focus.focus.get_wm_name(), )

但是,它似乎对我不起作用。显然,无论关注哪个应用程序,get_wm_class() 和 get_wm_name() 都只返回 None。

当然,该解决方案需要与所有这些新奇的窗口管理器(如 Compiz 等)一起工作。

最佳答案

哇!我自己想通了:

import Xlib.display
display = Xlib.display.Display()
window = display.get_input_focus().focus
wmname = window.get_wm_name()
wmclass = window.get_wm_class()
if wmclass is None and wmname is None:
window = window.query_tree().parent
wmname = window.get_wm_name()
print "WM Name: %s" % ( wmname, )

关于python - 如何检测当前聚焦的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3130912/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com