Ubuntu下居然没有找到番茄定时器,太不可思议了,google一下,发现有人用Linux下的At命令实现了,但是我觉得不够完美,不就是一个定时器嘛,自己动手做一个就好了。

我是完全没有写过Linux GUI程序的,Python也是半桶水,这里坑很多,一个个趟过来了,所以很有必要写一片博客来记录一下。

一开始想用python-wxtools来做GUI的,后来看到Ubuntu官方的ApplicationIndicators示例代码,跟wxpython暂时没有关系,于是就回归gtk。在Ubuntu下做一个看起来高大上的定时器,无非是将
GUI,系统托盘,定时器,气泡消息提示4样东西用python粘起来而已。

安装必须的python工具包

1
sudo apt-get install python-gtk2 python-appindicator python-gobject python-notify

备注:
python-gtk2 Linux下的界面构建工具包
python-appindicator Linux下的系统托盘工具包
python-gobject 托盘工具包依赖的包,并且包含定时函数
python-notify Ubuntu的气泡提示工具包

需求

  1. 开始计时和结束计时提醒
    开启一个番茄时间25分钟,和休息5分钟,可以用一个定时器来完成,目前使用了两个定时器。
  2. 提醒的方式,目前是通过气泡消息提示的方式实现的
  3. 可以加入声音提示
  4. 通过位于顶部的透明的窗口实现进度提示

后记

番茄计时器不是没有,是自己太low了,使用Linux的经验还是太少了,Linux下早就用类似的工具,比如workrave,pomodoro就是类似的计时工具,还有就是基于org-mode的org-pomodoro。

参考文献

  1. Linux/Unix 下自制番茄钟
  2. ApplicationIndicators
  3. How do I send text messages to the notification bubbles?
  4. python-notify example
  5. How to create AppIndicator with Python?
  6. pygtk2tutorial