工作区秒表?

GHa*_*ari 13 time scripts unity productivity

是否有可以作为工作空间相关秒表的程序?我想知道我每天在每个工作区呆了多少时间。

编辑:我正在使用 Unity。

Jac*_*ijm 11

好问题!

下面的脚本创建一个日志文件:~/viewport_log.txt在您的主目录中,它报告当前会话的每个视口的视口(工作区)使用时间。

报告每两秒更新一次,看起来像(快速运行):

workspace1 0:00:24
workspace2 0:00:05
workspace6 0:00:04
workspace8 0:00:05
Run Code Online (Sandbox Code Playgroud)

在格式

hours:minutse:seconds
Run Code Online (Sandbox Code Playgroud)

如您所见,我只使用了工作区 1、2、6 和 8。

如何使用

脚本使用wmctrl -d命令获取当前视口数据,所以需要先安装:

sudo apt-get install wmctrl
Run Code Online (Sandbox Code Playgroud)

然后:

  1. 将下面的脚本复制到一个空文件中,另存为 workspace_log.py
  2. 通过以下命令测试运行它:

    python3 /path/to/workspace_log.py
    
    Run Code Online (Sandbox Code Playgroud)

    浏览不同的工作区并打开文件~/viewport_log.txt以查看结果(或者,在终端中运行cat ~/viewport_log.txt以方便阅读,因为日志每秒更新一次)。

  3. 如果一切正常,请将命令添加到您的启动应用程序中。如果脚本启动太早(在桌面完全加载之前),它很可能会崩溃,您可能需要在启动命令中添加一个小中断以使其作为启动应用程序工作,因此命令是:

    /bin/bash -c "sleep 15&&python3 /path/to/workspace_log.py"
    
    Run Code Online (Sandbox Code Playgroud)

    要将其添加到启动应用程序:Dash > Startup Applications > Add,然后添加命令。

剧本

workspace1 0:00:24
workspace2 0:00:05
workspace6 0:00:04
workspace8 0:00:05
Run Code Online (Sandbox Code Playgroud)

脚本的属性

脚本计算两个时刻之间的确切时间跨度 icw 使用这些时刻的工作空间(2 秒,行中的间隔time.sleep(2))如果两个时刻的工作空间相同,则将时间添加到相应工作空间的总和使用时间。

如果两个时刻的工作空间不同,很明显有工作空间切换,时间被添加到没有工作空间的生产时间;~/viewport_log.txt因此,概览中的时间四舍五入为每个工作区每个周期的两秒。

编辑

在后台运行上面的脚本,您可以通过将下面的脚本放在组合键下来查看每个工作区的当前使用时间:

hours:minutse:seconds
Run Code Online (Sandbox Code Playgroud)
  1. 将脚本复制到一个空文件中,另存为 view_vplog.sh
  2. 运行它,当第一个脚本在后台运行时,通过以下命令:

    sh /path/to/view_vplog.sh
    
    Run Code Online (Sandbox Code Playgroud)
  3. 使用快捷键组合使其可用(测试后):选择:系统设置>“键盘”>“快捷方式”>“自定义快捷方式”。单击“+”并将命令添加到您选择的组合键。

    在此处输入图片说明