Skip to content
/ 2020 Public

A simple .py script to display a blank screen every 20 mins

Notifications You must be signed in to change notification settings

dotpmm/2020

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

20-20-20 Eye-Strain Break Timer

A lightweight Python utility that enforces the well-known 20-20-20 rule to reduce screen-related eye strain. The tool periodically locks the screen with a full-screen reminder and guides users to look 20 feet away for 20 seconds. Designed for simplicity and low-friction adoption.


How It Works

  • Implements a periodic timer loop that triggers a visual break reminder.
  • Displays a full-screen tkinter window for 20 seconds, prompting the user to rest their eyes.
  • Leverages a daemon thread to keep the main program responsive while timers run in the background.
  • Shows a live countdown in the terminal until the next break.

Features

Current Capabilities

  • Full-screen eye-break overlay
  • 20-second lock duration
  • Configurable intervals
  • Non-blocking threaded execution

Planned Enhancements

  • Pause/Resume controls
  • Auto-start on boot
  • Activity logs
  • Optional sound alerts
  • Idle detection and auto-pause
  • CLI arguments
  • App-awareness to skip breaks
  • Streak counter
  • Mobile version (stretch goal)

Running the Script

python main.py

The program immediately begins monitoring and triggers the first reminder after the configured interval.


License

MIT License — feel free to extend, modify, and integrate into productivity tooling.

About

A simple .py script to display a blank screen every 20 mins

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages