NAME

org-daemon - watch for appointments in org-mode files

SYNOPSIS

org-daemon [--debug] [--early-warning=seconds] [--recheck-interval=seconds] [--no-emacsclient-eval] orgfile ... &

DESCRIPTION

org-daemon is a Perl/Tk program which watches one or more emacs org-mode files for appointments, that is, entries in the form of <YYYY-MM-DD AAA HH:MM> and fires alarms.

OPTIONS

--early-warning=seconds

There's an warning before the real alarm 30 minutes (1800 seconds) before. This option can be used to change this period. Use 0 to turn early warnings off completely.

--recheck-interval=seconds

Set the interval for checking the specified org-mode files for changes. By default, org-daemon checks every 60 seconds.

--debug

Turn on debugging mode. Currently this means: do not iconify appointment list by default, and check every 3 seconds instead every 60 seconds.

--no-emacsclient-eval

If there are problems with the usage of emacsclient --eval, then this option may be used for simple non-eval emacsclient usage. If this is used, then a referenced org entry is not opened automatically.

--overview-widget=widgettype

Select widget for overview window. Default is hlist, another possible value is listbox.

FEATURES

  • Watch all given files periodically every minute (or the interval as given with the --recheck-interval switch).

  • Iconified list of next appointments, with entries in different colors (red for appointments in near future, over orange and yellow to green for appointments in far future)

  • By double-clicking on an entry in the appointment list, or clicking on the Edit button in the alarm window, the corresponding entry will be shown in emacs itself (needs emacsclient and emacs has to be put into server-start mode)

  • Show an early warning 30 minutes before (or the period specified with --early-warning. Individual early warnings may be specified with the following extended org syntax: <YYYY-MM-DD AAA HH:MM -CountUnit>, where Unit may be one of s (seconds), min (minutes), h (hours), w (weeks), m (months), and y (years). Example:

    <2009-12-25 Fr 12:00 -10min>

TODO

* it would be nice if it was possible to specify individual pre-alarm
  times in org-mode and use them in org-daemon

* what about locations attached to lon/lat, and automatic routing and
  automatic pre-alarm calculation?

* it may happen that the update check happens just in the moment when
  emacs is about to save the file, leaving a half-written file. this
  may be workarounded by reading the file contents twice and compare
  if the contents are the same

* more gui elements:
  * close button for alarm toplevel
  * reload button for data list window
  * iconify button for data list window
  * add another file into watcher list
  * remove a file from the watcher list
  * show the current watcher list
  * maybe some debugging helpers (time of the update, parsed contents...)

* do things asynchronously (like reading files etc.)?

PREREQUISITES

Tk

AUTHOR

Slaven Rezic