A pomodoro timer implemented as a Textual app
Project description
pomodorable
A pomodoro timer built using Textual.
Development work in progress.
Screenshots
Using the Application
Modes
- Ready
- Initial mode when the application starts.
- Returned to when a session is finished or stopped.
- Running
- Entered when the Start button is pressed.
- Returned to when Extend or Resume is chosen in paused mode.
- Paused
- Entered when the Pause button is pressed.
- Ended by pressing Extend, Resume or Stop.
Display and Inputs
Times Display
- Countdown display: Shows the time remaining in the current session.
- Start Time display: Shows the Start time of the current session. When a session is not running it shows the current time.
- End Time display: Shows the End time of the current session. When a session is not running it shows the current time plus the session length.
Settings Panel
- Reset button: Resets the Countdown to the configured session length (default setting is 25 minutes).
- +5, +1, -1, -5 buttons: Increment or decrement the Countdown by minutes.
- ? (About) button: Open the About screen.
- Settings button: Open the Settings screen.
Task Panel
- Task description input box: A brief description of the task at hand (optional). Press the down arrow key to open a list of recently used descriptions to pick from.
- Start button: Starts the session. Countdown begins. Time displays show Start and End times for the running session.
Pause Panel - Running
- Pause button: Pause the running session.
- Reason description input box: Disabled when running.
Pause Panel - Paused
- Pause button: Disabled when paused.
- Reason description input box: Enter the reason for pausing (optional). Press the down arrow key to open a list of recently used descriptions to pick from.
- Extend button: Return to running. Add the paused duration to the end-time to complete the full session length time-on-task.
- Resume button: Return to running. Resume the session from the current time. The pause duration is subtracted from the countdown, reducing the session's time-on-task.
- Stop button: Finish the session now. Return to ready mode.
Timer Bar
- Mimics the markings on a classic pomodoro (tomato-shaped) kitchen timer.
- Shows the current countdown minute at the pointer.
Log Panel
- Shows messages from the application with a timestamp.
Reference
Packages used
- Textual - Textual User Interface framework
- Click - command-line options
- platformdirs - common directories on different platforms
- plyer - system notifications
- python-dotenv - override default settings during development
- tomlkit - store configuration as TOML
Project tools
- Hatch - Python project manager (environments, packaging, and more)
- Ruff - linter and code formatter (integrated with Hatch)
- pytest - testing framework
- Just - command runner
Textual Development Tools
- Textual Devtools
- tcss-vscode-extension: VS Code extension that enables syntax highlighting for Textual CSS files.
- pytest-textual-snapshot: Snapshot testing for Textual applications
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
pomodorable-0.1.dev24.tar.gz
(203.3 kB
view hashes)
Built Distribution
Close
Hashes for pomodorable-0.1.dev24-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c28bf76f28ae696db54d62b7f518099fe00aa423238f48b18250dac1f2a443d7 |
|
MD5 | cca434763e555d4302e845158da96412 |
|
BLAKE2b-256 | c39443f6543c456506a01a9bd5e6178de527efb2d9544d0290d6ac879cf75196 |