Show HN: Pomoglorbo, a TUI Pomodoro timer for your terminal
65 points by justusw 1 year ago | 15 commentsThis 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 1 year agoNice! My only grievance is that for some reason J is up and K is down!
- justusw 1 year 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)
- justusw 1 year ago
- localfirst 1 year agocouldn't install it because i have python 3.10
- justusw 1 year 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.
- justusw 1 year ago
- pvdebbe 1 year ago
I keep it simple.sleep 20m ; mpc pause
- timetraveller26 1 year 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 1 year agoWhat’s the “rm -rf /“ for?
- argiopetech 1 year agoIt adds an incentive not to cancel the pomodoro.
- argiopetech 1 year ago
- atsaloli 1 year ago
- argiopetech 1 year agoProbably easier to use shell history, but I like a loop.
while () ; do sleep 20m; mpv bing.mp3; read; done
- globalnode 1 year 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 1 year 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 1 year 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.
- jbaber 1 year ago
- pankajdoharey 1 year agoMine uses Bash:
- justusw 1 year ago
- meribold 1 year agoMine has an ASCII cow to keep you motivated and accountable: https://github.com/meribold/muccadoro.
- localfirst 1 year 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
- localfirst 1 year ago
- 1 year ago
- timetraveller26 1 year ago