What I do is have a program running which tells me to get up and stretch every 60 minutes. The trick is that it uses an Xdialog box with an ok button. The thirty minutes starts after ok is pressed. When I get in to work or whatever, I press ok, and my 60 minutes starts over. I know you're looking for something more complex, but this is simple, and works for me.