Text Block Timer

by frankthwang
5
4
3
2
1
Score: 46/100

Description

Category: Productivity Tools

The Text Block Timer plugin lets users add count-up timers directly to text lines within notes, ideal for detailed task timing and tracking. Timers can be started, paused, and resumed, accurately accumulating time across multiple segments. Real-time elapsed time is displayed inline, with timing data persistently saved. The plugin supports intuitive keyboard shortcuts via the command palette and mouse-driven interactions through right-click menus, embedding timers seamlessly within text lines.

Reviews

No reviews yet.

Stats

100
stars
5,622
downloads
11
forks
321
days
76
days
94
days
2
total PRs
0
open PRs
1
closed PRs
1
merged PRs
12
total issues
5
open issues
7
closed issues
0
commits

Latest Version

3 months ago

Changelog

V1.0.9

  1. ==Critical Bug Fix==: Fixed the undo history pollution issue — timer real-time updates no longer pollute the editor's undo/redo stack. (Thanks to mosmash for reporting!)
  2. Timer Style Optimization: Redesigned the timer rendering style; added option to hide hours digit for shorter durations.
  3. ==New Feature==: Added Time Adjustment function with an iPhone-style scroll wheel time picker UI, accessible via right-click menu and command palette, fully compatible with mobile.
  4. Closed issues: #12, #11, #7

README file from

Github

English | 中文

Text Block Timer Plugin

A text block timing tool designed for Obsidian, allowing you to add a count-up stopwatch function to any text line in your notes.

Latest Change (V1.0.9)

  1. Code Encapsulation: Timer is now encapsulated and no longer exposes internal HTML code.

  2. Fixed Undo History Pollution: Timer updates no longer affect undo/redo(Thanks to mosmash for providing the solution and submitting a Pull Request!)

  3. Timer Style Optimization: Redesigned timer appearance with cleaner display and option to hide hours digit.

  4. New Feature: Time Adjustment: Added iPhone-style scroll wheel time picker UI for adjusting durations.

Closed Issues in this release:

  • #12 [Bug Report] Text Block Timer: Ctrl+Z — from p0nczek
  • #11 [Feedback/Suggestion] Hiding HTML in Callouts & Custom Time Formatting — from p0nczek
  • #7 Hope to add the function of ending the timer — from kyle-one

🙏 I sincerely apologize for the long hiatus — due to a busy schedule with work and life, updates were paused for a while. Thank you for your patience and continued support!

Features

  • Add timers to any text line, supporting multiple timers running simultaneously (stopwatch function).
  • ▶️/⏸️ Start, pause, and resume timing for tasks.
  • ⏳ Real-time display of cumulative time cost.
  • 💾 Persistent storage of timing data.
  • 🔄 Users can optionally choose whether to continue timing when files or Obsidian is closed (by default, closing a file will not cause failure of the real-time stopwatch).
  • By modifying the task status, you can automatically trigger the start and update of the timer

How to use

1. Command Palette + Shortcut (Recommended⭐️)

  1. Configure a shortcut for the command "Text Block Timer: Toggle timer" for quick access.
  2. When the cursor is on a text block, press the shortcut key to start, pause, resume, or delete the timer.
  3. The timer will be displayed in the format 【⏳00:00:00 】 at the beginning of the text line.

Command Shortcut

  1. Right-click on a text line.
  2. Select "Start Timer", "Pause Timer", "Resume Timer", or "Delete Timer".

Right Click

3. Control Timer by Task Status Automatically (Recommended⭐️)

  1. For For Common Users, you can directly change the task status [ ] to trigger the start and update of the timer (Suits for everyone, however not convenient enough, especially for Windows users.)
  2. ⭐️For Task Plugin Users, you can trigger the start and update of timers by simply clicking the checkbox (Convenient but needs pre-settings)

controlbycheckbox

Custom Settings

Users can customize the following options in the plugin Settings:

1. Whether to continue timing after the file or Obsidian closed

Users can freely choose whether to continue the timing after closing the file or disabling Obsidian.

1.1 never stops unless the user stops manually

After a user closes a file or exits Obsidian, the timer will still "time in the background". When the file is opened next time, the time spent during the closure period will be counted as the timer time and the timing will automatically resume.

settings_never

After the user closes a file, the timer will still "time in the background". When the file is opened next time, the time spent during the closing period will be counted as the timer time and the timing will automatically resume. However, once the user exits Obsidian, all timers will stop immediately to prevent significant data errors caused by the user forgetting to manually close the timers.

settings_quit

1.3 auto-stop immediately when closing a file

After the user closes a file, all timers will stop immediately. However, if a file is closed by mistake, it may cause the timer to pause.

settings_close

2. Timer insert position

Users can choose to insert a timer label either before or after the text block. insert_position

3. Control Timer by Task Status Automatically - Path Control

In the default settings, path control is disabled. When you only want to use the timer in specific folders, you can use a whitelist or blacklist to control it, which will only take effect in one of the two ways.

  • Disable path control:this feature can always take place pathControl_no
  • Whitelist:only folders in the whitelist will work pathControl_white
  • Blacklist:folders in the blacklist will not work pathControl_black

Version Log:

  • V1.0.9
    1. ==Critical Bug Fix==: Fixed the undo history pollution issue — timer real-time updates no longer pollute the editor's undo/redo stack. (Thanks to mosmash for providing the solution and submitting a Pull Request!)
    2. Timer Style Optimization: Redesigned the timer rendering style; added option to hide hours digit for shorter durations.
    3. ==New Feature==: Added Time Adjustment function with an iPhone-style scroll wheel time picker UI, accessible via right-click menu and command palette, fully compatible with mobile.
    4. ==Code Encapsulation==: Timer is now encapsulated and no longer exposes internal HTML code.
    5. Closed issues: #12, #11, #7
  • V1.0.8
    1. Appearance optimization: Added a timer emoji customization function. Now you can use your favorite ICONS to represent the running and paused states respectively.
  • V1.0.7
    1. ==Major Optimization==: Resolved the potential stuck issue when Obsidian switches back to the foreground, improved the timer performance.
  • V1.0.6
    1. BUG Fix: Resolved the issue of startup failure caused by incorrect language configuration code
  • V1.0.5
    1. ==Major Feature==: This plugin now supports usage on the Mobile end!
    2. ==Major Optimization==: Added support for read-only mode, now the timer can be updated in real time and data can be persisted even in read-only mode.
    3. ==Major Feature==: Added a timer deletion function, which can be accessed through the command line or right-click menu.
    4. Slimming Plan for Timer Blocks: The length of Timer blocks has been significantly reduced by 60% in version V1.0.5.
    5. Bug Fix: Fixed the issue where time display was incorrect after exceeding 24 hours.
  • V1.0.4
    1. ==Major Feature==: Now you can control the timer switch by the checkbox in the task front.
    2. Improve the function of creating timers, now it will not directly expose the span's source code
  • V1.0.3
    1. ==Major Optimization==: Closing a file no longer causes the timer to fail. Users can freely choose whether to continue timing when the or Obsidian is closed (see custom settings).
    2. Added custom settings: Users can now choose the position to insert the timer (before or after texts).
    3. Improve compatibility with markdown, adding support for ordered checkboxes and headings.
  • V1.0.2
    1. Added language support for Chinese, English, Japanese, and Korean.
  • V1.0.1
    1. Improved display effects by adding a space before the time label.
    2. Fixed the issue where adding a timer to a task list caused the task checkbox to fail.
  • V1.0.0
    1. Plugin release

Development Information

  • Developer: frankthwang
  • Version: 1.0.9

Similar Plugins

info
• Similar plugins are suggested based on the common tags between the plugins.
Checklist Progress
2 years ago by acidghost
Plugin to automatically fill progress (as fraction or percentage) of check-lists
Daily Routine
a year ago by sechan100
new version of daily-routine obsidian plugin
Daily Task Auto Generator
a year ago by maigamo
📝 Obsidian Daily Task Auto Generator | Automated Daily Notes • Multilingual Support • Custom Templates | A powerful plugin designed for Obsidian users to automatically generate structured daily task notes, helping you maintain a consistent and focused workflow with minimal effort.
Datepicker
2 years ago by Mostafa Mohamed
Datepicker widget for Obsidian.
doing
2 years ago by rooyca
What was I doing?
Future Dates
2 years ago by Dmitry Manannikov
HTML checkboxes
a year ago by Anareaty
Idle Monitor
a year ago by alberto98fx
A plugin to improve your productivity
Kanban Status Updater
a year ago by Ankit Kapur
Obsidian plugin that automatically updates the note property when card is moved to a column.
Lark Style CountDown Timer
6 months ago by Zhaoyang Yu
MemoChron
a year ago by Michalis Efstratiadis
Calendar integration and note creation with support for public iCalendar URLs.
Minidoro
5 months ago by Shakti Sampad Swain
Minidoro is a minimalist Pomodoro timer that lives right in your Obsidian header. It's designed to be simple, unobtrusive, and fully customizable.
Multi State CheckBox Switcher
2 years ago by KubaMiszcz
Natural Language Dates
6 years ago by Argentina Ortega Sainz
Work with dates in natural language in Obsidian
Open with Natural Language Dates
2 years ago by Charlie Chao
Quickly open a daily note using natural language. Requires "Natural Language Dates" plugin to work.
PomoBar
a year ago by Miguel Pimentel
PomoBar is a minimalist Pomodoro timer that lives in your Obsidian status bar with optional audio notifications to keep you on track
Pomodoro
5 years ago by Tokuhiro Matsuno
Pomodoro Timer
2 years ago by eatgrass
A pomodoro timer that helps manage your daily focus
Pomodoro Widget
2 years ago by bitegw
A plugin for ObsidianMD that adds a pomodoro timer widget. Get it from the Community plugins tab.
Reading Time
6 years ago by avr
Status Bar Pomodoro Timer
5 years ago by kzhovn
A status bar pomodoro timer plugin for Obsidian.
T4: Task Tree Time Totaler
10 months ago by Evan Story
Task Genius
4 years ago by Boninall
Comprehensive task management plugin for Obsidian
Timer
3 years ago by Marius Wörfel
Obsidian plugin, which allows you to measure time.
Timesheet
2 years ago by vkostyanetsky
Timesheet generator plugin for Obsidian
TimeStamper
4 years ago by Martin Eder
A plugin for Obsidian to quickly insert customized date- and time-stamps to the currently active note
Timetracker
3 years ago by Nils Dammenhayn
Obsidian plugin that adds a stopwatch whose value can be pasted into the editor
Waka time box
3 years ago by complexzeng
White Noise
a year ago by Zhou Hua
Word Sprint
5 years ago by Andrew Lombardi
Obsidian Word Sprint plugin