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 details)
Built Distribution
File details
Details for the file pomodorable-0.1.dev24.tar.gz
.
File metadata
- Download URL: pomodorable-0.1.dev24.tar.gz
- Upload date:
- Size: 203.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.26.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f7d9664ea7e460e984960d3634ac859498c80976a453f185f04dc1b18d1d0f56 |
|
MD5 | f72d34632aca9768a24a16bbf32912c2 |
|
BLAKE2b-256 | 62455ecf1fd01af23926c3226d7e21a4bffc5410976e0514f900cedf31ba4558 |
File details
Details for the file pomodorable-0.1.dev24-py3-none-any.whl
.
File metadata
- Download URL: pomodorable-0.1.dev24-py3-none-any.whl
- Upload date:
- Size: 24.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: python-httpx/0.26.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c28bf76f28ae696db54d62b7f518099fe00aa423238f48b18250dac1f2a443d7 |
|
MD5 | cca434763e555d4302e845158da96412 |
|
BLAKE2b-256 | c39443f6543c456506a01a9bd5e6178de527efb2d9544d0290d6ac879cf75196 |