Skip to content

Intrusive commandline pomodoro utility... that locks you out of your screen!

License

Notifications You must be signed in to change notification settings

balajeerc/pomodoro-intrusive

Repository files navigation

pomodoro-intrusive

NOTE: This is a work in progress. Please check back for when there is a release.

Sgt. Pomodoro

pomodoro-intrusive is a cross-platform utility that enforces the pomodoro discipline rather forcefully: by locking up your screen! Currently, it is available for Linux, OSX and Windows.

Here's what it does:

  1. On starting pomodoro-intrusive, it forks off a background process called the pomodoro-nag.
  2. pomodoro-nag waits for a specified time time of work (default: 25 mins)
  3. It then locks your screen! (Basically, shows a full screen window that is always on top of other windows.) You could try closing this, but...
  4. During the duration of the break period (default: 5 mins), it repeatedly re-launches the lock screen window if it is closed. Hey, it's not called intrusive for nothing!
  5. After the break period, it opens up your screen. But that's not all...
  6. After unlocking your screen, it keeps monitoring for mouse/keyboard activity. If it doesn't detect any, it is most probably because you left your workstation (and are wasting time checking your Twitter feed using your phone). So helpfully, pomodoro-nag periodically plays a sound alerting you to GET BACK TO WORK!
  7. Once it detects a few keystrokes/mouse activity, it closes the screen lock and resumes the work timer.
  8. Rinse and repeat cycle.
  • Studies show that sitting for prolonged periods of time has a terrible effect on your lifespan. Taking frequent breaks by getting up and moving around significantly alleviates the harms of sitting.
  • This was especially significant in my case, since I was struggling with back issues. Frequent breaks were made mandatory by my physio.
  • An ideal work discipline that helps with this is the 'pomodoro' technique.
  • Most pomodoro workflow utilities are non-intrusive... to the point where you forget about them. This was a deal breaker for me since I just tune out the subtle notifications in my taskbar telling me to go take a break.
  • Moreover, these pomodoro utilities need to be manually restarted when you resume work. Most of the time, I just used to forget to do that.
  • pomodoro technique is awesome, but the tools available to enforce this were far from adequate.
  • This tool is an attempt at solving these problems and enforcing a proper pomodoro discipline.

Pre-requisites

  • node(v4.7+) with npm (On Ubuntu: sudo apt-get install nodejs)

Download app from npm

npm install -g pomodoro-intrusive
pomodoro-intrusive start            # Starts the pomodoro nag process
pomodoro-intrusive stop             # Terminates the pomodoro nag process
pomodoro-intrusive status           # Prints current pomodoro nag status

In the Pipeline but not yet implemented

pomodoro-intrusive restart:work     # Restarts the work time
pomodoro-intrusive restart:break    # Restarts the break time
  • Configuration of the parameters such as the pomodoro activity intervals can be done by editing <installation_dir>/dist/pomodoroConfig.json.
  • Standalone installers/zip packages for Windows and OSX.
  • Systray icon and menu to perform the various actions currently accessible only from commandline.
  • GUI to configure options rather than having to edit the configuration files manually.
  • Sgt.Pomodoro graphic designed by Radhika Ayyangar