Add a bug report location
Update URL... Whoops
Add some rudimentary integration with universal-sidecar
Third Time support for Emacs.
This package is compatible with Emacs >= 27.1 and has no external dependencies.
The file third-time.el
may be placed on the load-path
and require
d or auto-loaded.
It is recommended that you bind third-time-start-work
to C-x M-t w
(or third-time-prefix w
, see below for information about the prefix).
The command third-time-start-work
(C-x M-t w
) starts or restarts work.
It enables the mode if it is not enabled.
The command third-time-start-break
(C-x M-t b
) starts a break.
If the prefix argument is passed, it will prompt for how long the break should be, otherwise, all remaining break time is used instead.
third-time-long-break
(C-x M-t l
, C-x M-t m
) starts a long (or meal) break.
third-time-end-session
(C-x M-t e
, C-x M-t s
) ends a Third Time session (i.e., workday).
Finally, the command third-time-summary
(C-x M-t S
) describes the current status, including current time in state, and information about break times.
The variable third-time-prefix
defaults to C-x M-t
, and is the prefix for the minor mode's bindings.
If you wish the bindings to be under a different prefix, you must set the variable before loading third-time.el
.
third-time-fraction
controls what fraction of time is used for breaks.
It should be a positive integer.
The hooks third-time-working-hook
, third-time-break-hook
, third-time-long-break-hook
, and third-time-change-hook
are run on state changes.
Those with a named state are run on change to that state, and third-time-change-hook
is run for all changes.
third-time-mode-hook
is run when the mode is enabled.
This library supports logging of state changes when third-time-log-file
is a string referring to a file.
The variables third-time-log-format
and third-time-log-time-format
control the log format, the latter of which should comply with format-time-string
.
third-time-log-format
describes what a log entry looks like.
It may contain the following formatting codes:
%T
: the time as formatted using third-time-log-time-format
.%s
: the state entered.%h
: the time which has been worked at %T
.%b
: the time remaining for breaks.third-time
uses a simple minibuffer message alerting mechanism by default.
This can be overriden with third-time-alert-function
which should be a function which takes one argument, a message to alert the user with.
Other information can be third-time-state
for more advanced formatting.
Additionally, there's a "nag" timer which can be used to periodically remind the user that a break has been completed.
It is controlled with the third-time-nag-time
which is a number of minutes, if it is 0, no nagging will take place.
Users of the Universal Sidecar package can add third-time-section
to universal-sidecar-sections
to see a summary of the current third-time status in the sidecar.
If you find a bug or wish to submit a patch, send an email to ~swflint/emacs-utilities@lists.sr.ht
.