Skip to content

[FR] Support for Pomodoro #105

Open
Open
@fastrick

Description

@fastrick

Request

Add support for Pomodoro tracking directly in the task line using a specific syntax like ::p25 or ::pomo25.

Sample

  • Task Pomodoro ::p25 ^temp-uid
    • 2025‑04‑10 14:10:10 - 25 #pomo // Pomodoro completed. This syntax allows you to track the time interval: 2025‑04‑10 14:10:10 - 2025‑04‑10 14:35:10
    • 2025‑04‑10 14:54:10 // Pomodoro in progress

In edit and read modes, the widget should render a small play button that replaces ::p25 with the countdown time in minutes.


Core Roadmap

  • Create a widget with an action button that replaces ::p to start or cancel the Pomodoro inline. When started, display the remaining time and a cancel button.
  • On click, assign a temporary ID (e.g., ^temp-uid) to the parent task and store it in the plugin settings (to persist data even if Obsidian is closed).
  • Simultaneously, add a start timestamp as a subtask.
  • When the Pomodoro ends, add the focus duration and remove the ^temp-uid.
  • When the task is marked as done, display a modal to confirm whether to add the Pomodoro time (optional setting: auto | manual).
  • On plugin load, check if there’s any completed Pomodoro not yet registered, and show a small modal asking whether to add the time (manual to allow user discretion).

Misc Roadmap

  • Add a section (e.g., in the Calendar or a chart) to visualize daily focus time using the tag #pomo.
  • Display Pomodoro progress/time in Obsidian’s status bar.
  • Support rendering in read mode.
  • Detect Source Mode and avoid rendering the widget in that view.
  • Play a sound when a Pomodoro ends.
  • Add support for break/rest periods.

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