Skip to content

Feature: Add “event countdown” mode: show time-until a future DateTime (with optional label) #93

@ProHaller

Description

@ProHaller

Hello,

I discovered the app through Orhun, and like it, it looks super clean, and it's simple to use.

Feature

It would be nice to support event based timer and countdowns. (i.e. “time until or since some date/time”)
The idea is:

  • The user provides a DateTime (e.g. 2025-12-25T00:00:00) and optionally a label (e.g. “Next Christmas”, "Birth of Sarah").
  • The UI shows a continuously updating countdown or timer (days, hours, minutes, etc.) until or since that event.
  • Optionally, the app could persist multiple events in a local list (in the config or data directory), so the user can pick which event to view / switch between them across sessions.

This is distinct from the existing --countdown and --timer (which count based on a duration), because here you specify an absolute date/time.

I think this feature could be quite useful (birthdays, trips, deadlines, etc.) and sits nicely with the existing concept.

Proposed CLI / UX

CLI arguments

Maybe something like this:

timr-tui --event 2025-12-25T00:00:00  
timr-tui -e 2025-12-25T00:00:00  
timr-tui -e 2025-12-25T00:00:00 "Next Christmas"  
timr-tui --event 2018-01-14T13:55:00 "Birth of Sarah"
  • -e / --event <DATETIME>: the target date/time in (say) ISO 8601 or a subset (e.g. YYYY-MM-DDTHH:MM:SS or YYYY-MM-DD HH:MM:SS).
  • --label <TEXT> (optional): a short name for the event.
  • Possibly a subcommand to list or manage stored events (if persistent): e.g. timr-tui event list, timr-tui event add, timr-tui event remove.

Persistence / configuration

To support remembering events, you could:

  • Add to existing internal “app.data” store
  • The stored events list would keep label + datetime.
  • On startup (or via a “select event” menu) the user can choose which stored event to view.
  • You might also provide an “auto mode” where if exactly one event is in the list, it starts in that event screen.

UI

  • The UI for this mode could mirror the “countdown” screen, but showing “D days, HH:MM:SS until / since ” or simple "T + / T -"
  • If the event time has passed, show “event reached” or negative/elapsed time.
  • Optionally, support toggling whether the display shows years/days/hours/minutes, hide zeroed units, etc.

Questions

Before I start work on this, I wanted to check with you:

  1. Would this feature interest you?
    If you prefer to limit changes or contributors, I can understand.

  2. In case it does, do you have any guidelines or instructions? (coding style, architecture, dependencies, modules) for how new modes should be organized (e.g. following how countdown or timer is implemented)? Naming conventions, etc.

If you’re open to it, I’d be happy to implement the feature first version and open a PR.
(I don't know how fast I'll be, though)

Thank you for reading, and thanks for building such a nice tool!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions