This is a big reliability and feature update.

Fixed
- The timer running too fast (2x, 3x, 4x, "one minute in fifteen seconds"). It was caused by pressing Start more than once, which stacked hidden timers on top of each other. Start now guarantees a single timer, so it always ticks once per second. This resolves the reports from octavebits, Nyx Goldstone and others.
- The countdown is now wall-clock accurate: it is anchored to an absolute end time, so it stays correct even if OBS lags or drops a tick. Pause freezes the exact remaining time and resume re-anchors it.
- On a fresh install the timer could show nothing or transparent text (missing defaults plus a color alpha and byte-order issue). The defaults are correct and visible now.
- The session counter no longer shows "Session 5 of 4" after a long break; it starts a new cycle at "Session 1 of 4".

New
- Language preset (English / French) for the on-screen wordings.
- Editable on-timer labels and status wordings, so the overlay is fully translatable.
- Display format with tokens: {label} {time} {session} {end} {total} {bar} {percent} {elapsed}.
- Progress bar via the {bar} token, with configurable width and characters.
- Duration presets: Classic 25/5/15, Deep work 50/10/30, Short 15/3/10.
- Warning color during the last N seconds.
- Manual advance mode (wait for Skip between segments).
- +1 / -1 minute hotkeys and buttons to adjust the running segment.
- Auto-start on scene, on stream start, or on recording start. Pause or reset on stream or recording stop.
- Auto-switch OBS scene on focus and on break, and mute a mic source during breaks.
- Beep during the last N seconds.
- Sound volume control.
- Stop after N full cycles, or loop forever.
- Custom idle text when stopped, or show the focus duration, or hide the timer entirely.
- The timer resumes after a script reload or an OBS restart.
- Help text shown in the Scripts dialog.

Setup reminder: add a Text source named PomodoroTimer, put that name in the "Timer text source" field, then press Start. Assign hotkeys in Settings > Hotkeys.
This new release brings major improvements in reliability, control, and user comfort:

Improved Reliability

  • Verifies audio files exist before attempting to play them.
  • Non-blocking audio handling to prevent freezes.
  • Protection against invalid or illogical settings (sessions, minutes, etc.).
New Features

  • ON/OFF toggle to enable or disable sounds.
  • Mappable hotkeys in OBS: Start, Pause, Resume, Reset, Skip.
  • Auto-Start per Scene mode (automatically starts the timer when a specific scene is active).
  • Session logs & statistics.
  • Option to hide the mode label and show only the timer.
Display & Customization

  • Estimated end time (“End at”) display with toggle option.
  • Customizable “End at” text and separator.
  • Per-state colors (Focus / Short Break / Long Break) fully configurable.
  • 12h / 24h time format support.
Download & Usage

  • Compatible with OBS 28+ (Windows, Mac, Linux).
  • Minimalist script, ready to paste into OBS.
This update makes the script more powerful, more stable, and more customizable—while remaining simple to use.
Back
Top