Add pomodoro python script
							parent
							
								
									df9bee20a2
								
							
						
					
					
						commit
						2a6437a212
					
				| 
						 | 
				
			
			@ -0,0 +1,42 @@
 | 
			
		|||
#!/usr/bin/env python
 | 
			
		||||
 | 
			
		||||
# Pomodoro timer 
 | 
			
		||||
#
 | 
			
		||||
# - Writes pomodoro timer to temporary file so dwmblocks
 | 
			
		||||
#   statusbar can read it
 | 
			
		||||
# - Notification on session finish
 | 
			
		||||
# - Notification on break finish
 | 
			
		||||
 | 
			
		||||
import os
 | 
			
		||||
import atexit
 | 
			
		||||
from argparse import ArgumentParser
 | 
			
		||||
from time import sleep
 | 
			
		||||
from plyer import notification
 | 
			
		||||
 | 
			
		||||
def clear():
 | 
			
		||||
  os.system('echo -n "" > /tmp/pomo')
 | 
			
		||||
 | 
			
		||||
atexit.register(clear)
 | 
			
		||||
 | 
			
		||||
parser = ArgumentParser()
 | 
			
		||||
 | 
			
		||||
parser.add_argument('-w', '--work-duration', type=int, help='Duration of a session', default=25)
 | 
			
		||||
parser.add_argument('-b', '--break-duration', type=int, help='Duration of a break', default=5)
 | 
			
		||||
 | 
			
		||||
args = parser.parse_args()
 | 
			
		||||
 | 
			
		||||
work_duration = args.work_duration * 60
 | 
			
		||||
break_duration = args.break_duration * 60
 | 
			
		||||
 | 
			
		||||
def countdown(duration):
 | 
			
		||||
  while duration!= 0:
 | 
			
		||||
    mins = duration // 60
 | 
			
		||||
    secs = duration % 60
 | 
			
		||||
    os.system('echo -n \x03 "{:02d}:{:02d} \x01" > /tmp/pomo'.format(mins, secs))
 | 
			
		||||
    sleep(1)
 | 
			
		||||
    duration -= 1
 | 
			
		||||
 | 
			
		||||
countdown(work_duration)
 | 
			
		||||
notification.notify(title="Time for a break")
 | 
			
		||||
countdown(break_duration)
 | 
			
		||||
notification.notify(title="Break is over, set a new timer")
 | 
			
		||||
		Loading…
	
		Reference in New Issue