如何测量活动窗口打开了多长时间?

如何测量活动窗口打开了多长时间?

我们如何衡量在给定时期内哪个窗口位于顶部? (主动一)

我已经尝试过基于“wmctrl”,但我无法显示当前活动的窗口。在第二个示例中,我尝试使用“:ACTIVE:”,它再次显示了全部,但只有终端是活动的。

$ wmctrl -l | awk '$2 != "-1"'
0x044006a3  8 notebook Mozilla Firefox
0x0456fb4c  0 notebook How to measure that how much time is the active window opened? - Unix & Linux Stack Exchange - Mozilla Firefox
0x03000004  0 notebook Terminal
$ 
$ wmctrl -l :ACTIVE: | awk '$2 != "-1"'
0x044006a3  8 notebook Mozilla Firefox
0x0456fb4c  0 notebook How to measure that how much time is the active window opened? - Unix & Linux Stack Exchange - Mozilla Firefox
0x03000004  0 notebook Terminal
$ 

目的:输出如下(以 8 小时轮班为例,即 480 分钟):

MINUTE  TASK
195 Mozilla Firefox
165 Terminal
74  Thunderbird
36  Idle (was away, machine locked, no app was on top..)
10  Unknown (the machine wasn't powered on)

awk '$2 != "-1"'刚刚排除了“底部扩展边缘面板”。

问题:我只需要如何显示当前活动窗口的部分。我可以执行以下部分:每 10 秒运行一次脚本并收集时间信息。

ps:我使用的是 Ubuntu 12.04 或 CentOS 6 以及 GNOME。

答案1

工具 arbtt (链接1&链接2)听起来像你想要的。

摘录#1

基于规则的自动时间跟踪器是一个在后台运行的桌面守护程序,每分钟记录桌面上打开的窗口、它们的标题是什么以及哪个窗口处于活动状态。附带的统计程序可以让您从该日志文件中获取信息,即您在电子邮件上花费了多少时间,或者哪些项目最浪费您的时间。从原始窗口标题到合理“标签”的映射是通过具有强大语法的配置文件完成的。请参阅文档以获取更多详细信息。

摘录 #2

另一方面,arbtt 是一个不碍事的时间跟踪器。它的核心组件(arbtt-capture)完全自主地默默地捕获有关您正在做的事情的数据。无需互动,也不会分心。此信息连续存储在日志文件中。一个单独的工具(arbtt-stats)允许您在任何方便的时间,通过使用简单的基于文本的规则来调查这些数据。

您最初需要设置一个规则文件arbtt-capture,该文件是一个守护程序,运行时会收集运行各种应用程序时的统计信息。稍后您可以使用其他工具arbtt-stat来获取使用情况的“报告”。

And here's the corresponding output of arbtt-stats -c "Program":

Statistics for category "Program"
=================================
__________________Tag_|_________Time_|_Percentage_
      Program:Firefox |  8d06h20m00s |      49.01
Program:Google Chrome |  3d15h24m00s |      21.60
  Program:Text editor |  1d04h04m00s |       6.94
        Program:Skype |    13h55m00s |       3.44
     Program:Terminal |     9h22m00s |       2.31
   Program:PDF reader |     6h10m00s |       1.52
      Program:Desktop |     5h13m00s |       1.29
 Program:File browser |     4h11m00s |       1.03
 (53 entries omitted) |    22h59m00s |       5.68

答案2

你也可以尝试我的时间,这个项目的构建与arbtt相同。

在此输入图像描述

相关内容