A beautiful terminal timer app built with Textual. Supports multiple independent timers, each with its own sound.
- Add, remove, and run multiple timers in parallel
- Each timer has its own independent beep (plays
beep.wavon finish) - Modern TUI interface with dark/light mode toggle
- Keyboard shortcuts for developer ergonomics
For WSL, pulseaudio is needed for the beeping sound.
You can install with: sudo apt install pulseaudio
uvx 'git+https://github.com/ricky-lim/timertui.git'
demo-timertui.mp4
- Clone the repository:
git clone https://github.com/ricky-lim/timertui.git cd timertui - Create and activate a Python 3.13+ virtual environment:
uv venv --python 3.13 --seed source .venv/bin/activate - Install dependencies:
uv sync # Install for development pip install -e .
Run the timer TUI:
timertuiCtrl+A— Add a new timerCtrl+R— Remove the last timerCtrl+D— Toggle dark/light modeCtrl+Q— Quit the app
- Set a name and duration (in seconds) for each timer
- Start, stop, and reset timers independently
- Each timer will play its own
beep.wavsound continuously until you reset
- The app uses
beep.wav(insrc/timertui/) for timer sounds - On macOS, the app uses the system
afplayfor playback (no PyAudio needed) - On other platforms, PyAudio is required
To run in development mode with hot reload:
textual run --dev src/timertui/main.pyMIT License. See LICENSE for details.