tt-focus: 专门为了帮助集中注意力而设计的命令行时间记录器

2022-05-26 15:41:12 +08:00
 SuperMild

Command-line time tracker to help focus.

tt-focus 有两大特点:

  1. 是一个纯命令行程序
  2. 主要用途不是记录时间使用情况,而是帮助集中注意力

比如吃饭、睡觉、做运动、娱乐等的时间记录 不适合 使用本软件。
而写作、学习、编程等,就 适合 使用本软件。

安装

本软件使用了 Python 3.10 的新特性,如果你的系统中未安装 Python 3.10, Windows 用户可直接到 Python 官网 下载最新版安装即可。Linux, MacOS 推荐使用 pyenvminiconda 来安装最新版本的 Python 。

在有了 Python 3.10 之后,安装本软件非常简单,只要 pip install tt-focus 即可。

设置语言

使用方法

添加任务类型

在第一次使用之前,必须至少添加一种任务类型。例如:

任务类型的名称及其别名可以随时修改,方法详见 readme.md

开始工作 (启动一个事件)

$ tt start coding

事件 id:rcdrdg, 任务: coding (编程), 开始于 17:22:28

暂停 (休息 /摸鱼)

当你需要稍稍休息一下,可使用该命令 tt pausett -p

恢复 (回到工作)

从休息中回到工作时,可使用该命令 tt resumett -r

查看状态

可随时使用命令 tt statustt -s 查看当前事件的用时情况,例如:

$ tt -s

Task | coding (编程)
Event| (id:rcbpba) 2022-05-23 **running**

total  14:42:46 -> 16:50:45 [0:41:34]
-------------------------------------
Split  14:42:46 -> 15:24:20 [0:41:34]
Pause  [0:44:37]
Split  16:08:57 .. 16:50:45 [0:41:48]

结束

事件列表

使用感受

就我自己的情况,实际使用后最大的感受是,有效地意识到自己在干什么(在工作、还是在摸鱼?),这点对集中精神、提高生产力很有帮助。

本软件功能简单,因此源代码也简单,其中看起来行数较多,但大部分是中英双语提示内容,真正的功能代码不多,而且结构清晰,懂 Python 的人可轻松修改或添加自己想要的功能。

吸收了 Rust 与 Go 的错误处理思想

Rust

这次在技术上做了一个尝试,采用了一个模仿 Rust 的 result[ok, err], 它的优点是:

Go

同时,在使用 Go 的过程中学习到了区分 Exception 与 Error 的好处。

结合起来

基于以上两种思想,我这次很多函数的返回值都类以这样 Result[User, MultiText], 其中 MultiText 只是一个简单的 dataclass:

from dataclasses import dataclass

@dataclass
class MultiText:
    cn: str
    en: str

这样,只需要对返回值做一个简单的判断,就能获得 User, 或者获得一个双语的错误信息。

源码仓库

https://github.com/ahui2016/tt-focus

935 次点击
所在节点    分享创造
2 条回复
skys215
2022-05-27 10:26:39 +08:00
我也有过做类似软件的想法
重点在于离开或停止的时候会不会想到去记录

其实楼主用 python 做的话,可以用 pyqt 做 gui 版的。就适合非程序员去使用。
SuperMild
2022-05-27 11:24:38 +08:00
@skys215 如果能够集中精力,就会想不起来记录。

主要是最近在家办公,集中精力出现困难。如果经常分心,是能想起来记录的,而一旦想起来,就相当于提醒自己要集中精神。

现在非程序员也很少人乐意用桌面 gui 版了,只能做手机 app 他们才会去用。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/855468

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX