                          ━━━━━━━━━━━━━━━━━━━
                           CHANGE LOG OF TMR
                          ━━━━━━━━━━━━━━━━━━━


This document contains the release notes for each tagged commit on the
project's main git repository: <https://github.com/protesilaos/tmr>.

The newest release is at the top.  For further details, please consult
the manual: <https://protesilaos.com/emacs/tmr>.

Table of Contents
─────────────────

Version 1.3.0 on 2026-01-25
Version 1.2.0 on 2025-10-06


Version 1.3.0 on 2026-01-25
═══════════════════════════

  This version adds some user options and new features to an already
  stable package.


Timers can be paused
────────────────────

  The command `tmr-toggle-pause' will prompt for a running timer and
  pause it.

  Users who have something like the following in their configuration,
  have access to `tmr-toggle-pause' under the `P' key:

  ┌────
  │ ;; All TMR commands are behind this prefix key.  So `tmr-toggle-pause' is C-c t P.
  │ (define-key global-map (kbd "C-c t") #'tmr-prefix-map)
  └────

  In the buffer produced by the command `tmr-tabulated-view' the pause
  functionality applies to the timer at point. The `tmr-toggle-pause' is
  invoked with the `P' key.

  An extra column in the tabulated view shows whether a timer is paused
  or not. Here is an example:

  ┌────
  │ Start      End        Duration   Remaining  Paused?  Acknowledge?   Description
  │ 
  │ 08:49:41   09:19:46   30m        29m 17s    Yes                     Work on TMR for 30 minutes
  │ 08:49:31   08:54:31   5m         3m 53s                             Prepare tea
  │ 08:49:21   08:59:21   10m        8m 42s              Yes            Edit the description with this one instead
  └────


Configure the confirmation text for acknowledgements
────────────────────────────────────────────────────

  When a timer is set to be acknowledged (i.e. the user must confirm
  that they saw it elapse) it prompts for confirmation. The default
  input text that confirms the acknowledgement is `ack'. This is now
  subject to configuration via the user option
  `tmr-acknowledge-timer-text'.


Change how frequently the tabulated list is refreshed
─────────────────────────────────────────────────────

  The buffer produced by `tmr-tabulated-view' is set to automatically
  refresh every 5 seconds by default. In previous versions this was
  every 1 second. The new user option `tmr-tabulated-refresh-interval'
  can be set to a number of seconds or `nil'. In the latter case, the
  automatic refresh is disabled.


Removed the long-obsolete `tmr-tabulated.el'
────────────────────────────────────────────

  Its code was merged into `tmr.el' on 2024-10-30 and all it was doing
  thenceforth is issue a warning to those who would `require' the
  `tmr-tabulated' feature. Now `(require 'tmr-tabulated)' produces an
  error.


Version 1.2.0 on 2025-10-06
═══════════════════════════

  This release introduces several quality-of-life refinements to an
  already stable and featureful package.


Timers can now appear on the modeline
─────────────────────────────────────

  The new minor mode `tmr-mode-line-mode' controls whether running
  timers are displayed on the mode line. More specifically, they are
  displayed in the `global-mode-string', which can also be set in the
  `tab-bar-mode' (this way the information appears in one place instead
  of all the mode lines, assuming default settings).

  The exact format of a timer on display is controlled by the user
  option `tmr-mode-line-format'. The number of timers is set with the
  option `tmr-mode-line-max-timers'. The separator between multiple
  timers is `tmr-mode-line-separator'. The length of each timer's
  optional description is subject to `tmr-mode-line-max-desc-length'.
  While the entire indicator can have a prefix, per
  `tmr-mode-line-prefix'.

  …  …
