6 ms·
Show HN: Pomoglorbo, a TUI Pomodoro timer for your terminal
This started out as a fork of pydoro and turned into a playground for dataclasses and strict mypy type checking. Some of the advanced features are
- it writes the current status into .local/state/pomoglorbo for i3status/xbar
- it is very configurable, including cmd hooks to run after a Pomodoro/break finishes or starts
The layout is compact, and it runs well over SSH/Mosh/Tmux.
- alejoar 2y agoNice! My only grievance is that for some reason J is up and K is down!
- justusw 2y agoThanks! Nice find. I've just fixed the j/k mixup and made version 2024.6.19.3 available on PyPI / codeberg (https://codeberg.org/justusw/Pomoglorbo https://codeberg.org/justusw/Pomoglorbo)
- pvdebbe 2y agosleep 20m ; mpc pause I keep it simple.
- globalnode 2y agosimpler than mine: import time import argparse def main(mins): print(f"Starting pomodoro timer: {mins} minutes.") for m in range(mins, 0, -1): secs = 60 for s in range(secs, 0, -1): print(f"{m-1}:{s-1} ", end='\r') time.sleep(1) print("Timer finished - take a break!\a") time.sleep(2) print("\a") time.sleep(2) print("\a") time.sleep(2) if __name__ == "__main__": parser = argparse.ArgumentParser(description="Pomodoro Timer.") parser.add_argument("mins", type=int, help="minutes to time.") args = parser.parse_args() main(args.mins)
- justusw 2y agoGood one! That's pretty much how I started and then ended up with Pomoglorbo instead. I have wanted the timer to integrate with timewarrior, and automatically time what I am working and also keep track of my breaks. Another issue is that when your computer sleeps, you'd want to keep counting seconds in the background, so time.sleep(1) will lose accuracy very quickly.
- jbaber 2y agoYou can use time.sleep in a loop to tick of seconds, but actually check the diff between now and start time to know how much time has passed.
- pankajdoharey 2y agoMine uses Bash: https://github.com/metacritical/pomodorino https://github.com/metacritical/pomodorino
- argiopetech 2y agoProbably easier to use shell history, but I like a loop. while () ; do sleep 20m; mpv bing.mp3; read; done
- deleted 2y ago[deleted]
- meribold 2y agoMine has an ASCII cow to keep you motivated and accountable: https://github.com/meribold/muccadoro https://github.com/meribold/muccadoro.
- localfirst 2y agojust tried to run it and it says i dont have cowsay command which is just an output of a text based cow with a cartoon bubble So far on my M1: 1. I tried to install Pomoglorbo, fails due to python requirement 2. Scrolling down I find muccadoro, fails due to dependency 3. 10 minutes in im feeling the impact and inefficient 4. Should've just kept moving
- timetraveller26 2y ago#pomodoro.sh while true; do echo "Time to work, dumbass" | festival --tts sleep 25m || rm -rf / echo "Have some rest, dumbass" | festival --tts sleep 5m done
- atsaloli 2y agoWhat’s the “rm -rf /“ for?
- argiopetech 2y agoIt adds an incentive not to cancel the pomodoro.
- localfirst 2y agocouldn't install it because i have python 3.10
- justusw 2y agoThanks for your feedback. You are right. I've lowered the minimum version to Python 3.10. If you want to give it another try, the package is on PyPI now.