NAME
org-daemon - watch for appointments in org-mode files
SYNOPSIS
org-daemon [--debug] [--early-warning=seconds] [--recheck-interval=seconds] \
[--no-emacsclient-eval] [--emacsclient-cmd=...] \
[--overview-widget=...] [--move-button] \
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. - --emacsclient-cmd=cmdline ... %l %f ...
-
Provide an alternative commandline for emacsclient calls. The placeholder strings
%l
and%f
are replaced by line and file. Example:org-daemon --emacsclient-cmd="ssh otheruser@otherhost emacsclient +%l '%f'" ...
- --overview-widget=widgettype
-
Select widget for overview window. Default is
hlist
, another possible value islistbox
. -
The early warning and alarm windows will get an additional "move" button (displayed with a right arrow: →) for moving the window quickly to the right screen border.
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