gpt4 book ai didi

python - 使用 KDE 在 python 中检测事件窗口

转载 作者:太空宇宙 更新时间:2023-11-04 06:38:39 25 4
gpt4 key购买 nike

我正在编写一个小的 Python 脚本来跟踪我如何在程序之间分配时间。它需要检测当前事件的窗口(理想情况下是控制该窗口的应用程序,但我可以只使用窗口标题)以及空闲时间。

目前,我正在使用 KIdleTime以确定我有多久没有接触我的电脑了,它本身就可以正常工作。

我也尝试使用 wnck确定哪些窗口处于事件状态,这本身就可以正常工作。

当我试图将两者合并为一个程序时,我遇到了麻烦。由于 wnck 是一个 gnome 库,而 KIdleTime 是一个 KDE 库,它们需要在自己的线程上运行,以便触发窗口更改和空闲超时信号。

我在 python 中找不到执行此操作的方法 - 如果我使用线程模块尝试在单独的线程上运行其中一个,KDE 库会提示它不在主线程或 Gnome图书馆有一个令人印象深刻的崩溃并吃掉它可以获得的所有内存(顺便说一下,ulimit 在这种情况下非常有用,我可以推荐它)。

所以,我有四个选择:

  1. 找到一个可以检测的 KDE 库当窗口改变时 - 我会以为dbus会暴露这在 kwin 中,但似乎没有到。
  2. 找到同时运行 kde 和 gnome 库的方法时间。
  3. 找到在 Gnome 事件线程上运行的 KIdleTime 的等价物。
  4. 使用计时器从 Gnome 线程(这是我现在正在做的,但远非理想,这会导致不精确确定空闲时间)。

谁能给我一个解决方案?

最佳答案

可以使用 wxPython GUI toolkit以此目的。

当然,您可以忘记 QT、Gnome 和所有其他图形库。这是 wx 可以做什么 do .

关于python - 使用 KDE 在 python 中检测事件窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4746688/

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