This simple project is a pomodoro timer usable in the terminal CLI. The idea behind this is that you can set up a pomodoro timer with different focus and break timer options.
- Custom focus and break timer
- arguments options
- status with time and display
- multi threading for timer
- string stream
- main arguments
- thread
- atomic variables
- Set up the pomodoro sessions using the set command
set -f <minutes> -b <minutes> -a <bool>
- -f sets focus time
- -b sets break time
- -a tells the timer to continue to the next cycle automatically
- Start the timer using the start command
start
- Pause the timer using pause
pause
- Stop or continue once it is paused
stop
continue
once the timer is stopped, it will go to the next cycle when the user runs the start command (focus -> break, break -> focus) the continue command will continue from the current time
- Get the current status using the status command
status
- The pomodoro timer is using a software delay. The code will be using a cache to optimize runtime meaning that it would not be the exact timing for the focus and break time. To solve this, the software timer should use volatile instead so that it will always go to memory instead of the cache
- add cycle count to see how many focus sessions have been completed
- add a graphic UI in the terminal to show a progress bar and current status