ChronoFlow, My Custom Work Timer

Tags: programming pomodoro

I’m a huge fan of the Pomodoro Technique, but I kinda hate every single timer that I’ve ever used to facilitate it, and I’ve tried quite a lot. Web timers, OSX timers that hang out in the menu bar, fat client applications, Android apps. They’re all uniquely irritating.

This is classic yak shaving, and if I weren’t a programmer by trade I’d just pick the most decent existing solution and get on with life.

Here’s my simple but specific requirement list:

  • Scalable. I have a lot of screen real estate, and it’s nice to have a big timer as a constant reminder when space allows it.
  • Colorful. Not beautiful, necessarily, just green and red.
  • Nice Sounds. I’m a musician, and ugly alerts and alarms upset me more than they rationally should.

I don’t need task tracking capabilities. I have emacs for that.

Easy, right? Actually, yes. 161 lines of code later, and it times my work iterations on half of monitor #4. The following tools made it remarkably simple:

Right now this is a “works on my machine” project, but you can still find it on Bitbucket. I’m going to live with it as-is for a while to see how I like it, and then I’ll investigate the following options:

  • Replicate the same code with Quickly
  • Hook into Pidgin with DBus to control my status when starting and stopping work iterations.
  • Use Hydrogen and QSynth to make some nice alarm sounds.