用KDE检测python中的活动窗口

2024-09-30 00:25:39 发布

您现在位置:Python中文网/ 问答频道 /正文

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

目前,我正在使用KIdleTime来确定我有多长时间没有碰我的电脑,它本身工作得很好。在

我还尝试使用wnck来确定哪些窗口是活动的,同样,这本身工作得很好。在

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

我很难在python中找到一种方法来实现这一点——如果我使用线程模块尝试在一个单独的线程上运行它们之一,KDE库会抱怨它不在主线程上,或者Gnome库出现了令人印象深刻的崩溃,并耗尽了它所能获得的所有内存(顺便说一句,ulimit在这种情况下非常有用,我可以推荐它)。在

所以,我有四个选择:

  1. 找到一个可以检测的KDE库 换窗户的时候-我会的 以为dbus会暴露 这个在奎因,但似乎不是 到。在
  2. 找到一种同时运行kde和gnome库的方法 时间。在
  3. 找到在Gnome事件线程上运行的KIdleTime的等价物。在
  4. 使用计时器从Gnome线程中轮询KIdleTime(即 我现在所做的一切,却远未达到理想,这导致我在 确定空闲时间)。在

有人能给我一个解决办法吗?在


Tags: 方法程序脚本应用程序标题时间情况线程

热门问题