我们如何衡量在给定时期内哪个窗口位于顶部? (主动一)
我已经尝试过基于“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
摘录#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相同。