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 in the form of non-modal dialogs. "Passive" timestamps (enclosed in square brackets) are ignored. Diary-style sexp entries are not implemented (see "TODO").
OPTIONS
- --early-warning=seconds
-
There's an warning (a non-modal dialog with orange background) before the real alarm, by default 30 minutes (1800 seconds) before. This option can be used to change this default. 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 of the current appointment. 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.
- --use-anyevent (EXPERIMENTAL!)
-
Use either Linux::Inotify2 together with AnyEvent (linux systems) or AnyEvent::Filesys::Notify (non-linux systems) for getting file modification events. Probably not useful on systems using kevent (*BSD).
--recheck-interval
is still applied for periodic checks.
FEATURES
Watch all given org-mode 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(1) 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 non-standard extended org-mode 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
* what about locations attached to lon/lat, and automatic routing and
automatic pre-alarm calculation?
* more gui elements:
* close button for alarm toplevel
* 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...)
* support "Diary-style sexp entries", i.e. timestamps in the form
<%%(diary-float t 4 2)>
PREREQUISITES
Tk
AUTHOR
Slaven Rezic