使用KDE在python中检测活动窗口

时间:2011-01-20 11:44:51

标签: python kde wnck

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

目前,我正在使用KIdleTime来判断我多长时间没有碰到我的电脑,这本身就可以正常工作。

我还尝试使用wnck来确定哪些窗口处于活动状态,而且这种情况本身也可以正常工作。

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

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

所以,我有四个选择:

  1. 找到可以检测到的KDE库 当窗户改变时 - 我愿意 我以为dbus会曝光 这在kwin,但它似乎没有 到。
  2. 找到一种同时运行kde和gnome库的方法 时间。
  3. 查找在Gnome事件线程上运行的KIdleTime的等效项。
  4. 使用计时器从Gnome线程中轮询KIdleTime(即 我现在在做什么,但远非理想,它会导致不精确 确定空闲时间)。
  5. 有人能为我提供解决方案吗?

1 个答案:

答案 0 :(得分:0)

可以使用wxPython GUI toolkit来实现此目的。

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