This repository has been archived on 2022-05-13. You can view files and clone it, but cannot push or open issues or pull requests.
chronometrist-goal/README.md

3.4 KiB

chronometrist-goals

Adds support for time goals to Chronometrist

Installation

You can get chronometrist-goals from https://github.com/contrapunctus-1/chronometrist-goals/

chronometrist-goals requires alert.el and, of course, Chronometrist

Usage

Define some goals

First, define some goals in chronometrist-goals-list

(setq chronometrist-goals-list
      '((60 "Programming")
        (30 "Writing" "Composing")
        (30 "Reading" "Music")))

The numbers stand for the minutes you want to set as the goal. Observe that you can have any number of tasks after the goal - which is a way of saying you aim to spend that much time on any one of those tasks.

In the above example, we aim to spend 60 minutes on Programming, 30 minutes on either Writing or Composing, and 30 minutes on either Reading or Music.

Note - this variable may be subsumed into chronometrist, at an undefinite point in the future.

Set up hooks

(add-to-list 'chronometrist-after-in-functions 'chronometrist-goals-run-alert-timers)
(add-to-list 'chronometrist-after-out-functions 'chronometrist-goals-stop-alert-timers)

And you're all set! Run chronometrist again and marvel at your goal times displayed in the buffer. You will now be notified when you're five minutes away from the goal, when you have reached the goal, and when you have exceeded the goal by five minutes.

Customization

See the Customize groups chronometrist for variables intended to be user-customizable.

Notification style

You may be interested in customizing alert.el too, especially alert-default-style - the author uses -

(setq alert-default-style 'libnotify)

Notification times

The custom variable chronometrist-goals-alert-functions is a list of functions which are run by chronometrist-goals-run-alert-timers. Each of these functions starts a timer, which notifies you at a certain time.

You can add or remove functions from this list to customize the times at which you are notified. The functions added to the list by default are tiny (7~9 lines) and (hopefully) easy for an interested user to base their own alert functions on.

Roadmap/Ideas

Contributions and contact

Feedback and MRs very welcome. 🙂

If you have tried using chronometrist/chronometrist-goals, I'd love to hear your experiences! Get in touch with the author and other Emacs users in the Emacs channel on the Jabber network - xmpp:emacs@salas.suchat.org?join (web chat)

(For help in getting started with Jabber, click here)

License

I dream of a world where all software is liberated - transparent, trustable, and accessible for anyone to use or improve. But I don't want to make demands or threats (e.g. via legal conditions) to get there.

I'd rather make a request - please do everything you can to help that dream come true. Please Unlicense as much software as you can.

chronometrist-goals is released under your choice of Unlicense or the WTFPL.

(See files UNLICENSE and WTFPL).

Thanks

wasamasa, bpalmer, aidalgol, and the rest of #emacs for their tireless help and support