This package adapts the org-pomodoro package to implement work and break intervals from the Third Time system.
If you’re using use-package
, just add this line to ~/.emacs.d/init.el
:
(use-package org-pomodoro-third-time :ensure t
:straight (:repo "telotortium/org-pomodoro-third-time"
:host github
:type git))
Similarly, if you use Doom Emacs, add this line to ~/.doom.d/packages.el
:
(package! org-pomodoro-third-time
:recipe (:host github :repo "telotortium/org-pomodoro-third-time"))
To install it manually:
- Clone this directory to somewhere on
load-path
. (require 'org-pomodoro-third-time)
- Run
(org-pomodoro-third-time-mode)
to enable (can also be put ininit.el
), orM-x org-pomodoro-third-time-mode
to toggle.
If you would like to disable this mode, run (org-pomodoro-third-time-mode
-1)
.
- Set
org-pomodoro-length
to your “default” Pomodoro length (25 minutes is the default oforg-pomodoro
). - Start a Pomodoro with
M-x org-pomodoro
. - If you’d like to change your current Pomodoro’s length, either to shorten it
because you’re struggling to focus or are interrupted, or to lengthen it
because you’re really in the zone, change it with
M-x org-pomodoro-third-time-end-in
. This prompts you for a number of minutes in the future from now (by default, 10) when the Pomodoro should end.Alternatively, you can end it now with
M-x org-pomodoro-third-time-end-now
or at a timestamp in the future withM-x org-pomodoro-third-time-end-at
. - When the current Pomodoro ends, a short break will be scheduled that is, by
default, 1/3 the length of the Pomodoro you just ran, no matter if you
changed its length. The default can be changed via the custom variable
org-pomodoro-third-time-break-to-work-ratio
. - If you come back from the break early, you can use
M-x org-pomodoro-third-time-end-now
to end the break early, and the time you didn’t use for this break will be added to the break time bank for the next break (see Break Time Bank below). - If you want to take a lunch break or other long break, call
org-pomodoro-third-time-long-break
. This will prompt you for a break length (by defaultorg-pomodoro-long-break-length
) and then start the break. The break time bank is emptied. - When you’re no longer working for the day, kill the current Pomodoro
(using
M-x org-pomodoro
). The bank will be emptied to be fresh for tomorrow.
One core idea of the Third Time system is that, whenever you end a short break early, the rest of the break time isn’t lost, just postponed. This package stores this extra break time in a “break time bank” in order to apply to future breaks.
In general, whenever you start a Pomodoro after your first of the day (or first,
after a long break) this package takes the difference between the start time of
your short break and the start time of the next Pomodoro (i.e., when you call
M-x org-pomodoro
). If you started your next Pomodoro earlier than the allotted
break time, time is added to the bank; if later, time is subtracted. The amount
of time in the bank is then added to the break time calculated using
org-pomodoro-third-time-break-to-work-ratio
to produce the next break’s
length.
If you end a break early, you get that much more time for your next break. If you end the break late, you get that much less time for your next break, except that the break time is adjusted to never be less than a certain threshold (by default, one minute).
The break time bank is emptied whenever you take a long break or kill the current Pomodoro.
See the package commentary, or see the customization variables using
M-x customize-group
, org-pomodoro-third-time
.