Each configuration option is listed below with an illustrative entry and a brief discussion. These entries are stored in your etm.cfg
file. When this file is edited int etm, your changes become effective as soon as they are saved --- you do not need to restart etm.
The following template expansions can be used in displaycmd
, voicecmd
and email_template
below.
!summary!
: the item's summary (this will be used as the subject of the email)!start_date!
: the starting date of the event!start_time!
: the starting time of the event!time_span!
: the time span of the event (see below)!alert_time!
: the time the alert is triggered!time_left!
: the time remaining until the event starts!when!
: the time remaining until the event starts as a sentence (see below)!d!
: the item's @d
(description)!l!
: the item's @l
(location)The value of !time_span!
depends on the starting and ending datetimes. Here are some examples:
if the start and end datetimes are the same (zero extent): 10am Wed, Aug 4
else if the times are different but the dates are the same: 10am - 2pm Wed, Aug 4
else if the dates are different: 10am Wed, Aug 4 - 9am Thu, Aug 5
additionally, the year is appended if a date falls outside the current year:
10am - 2pm Thu, Jan 3 2013
10am Mon, Dec 31 - 2pm Thu, Jan 3 2013
Here are values of !time_left!
and !when!
for some illustrative values of extent:
@e 2d3h15m
time_left : '2 days 3 hours 15 minutes'
when : 'begins 2 days 3 hours 15 minutes from now'
@e 20m
time_left : '20 minutes'
when : 'begins 20 minutes from now'
@e 0m
time_left : ''
when : 'begins now'
Note that 'begins', 'begins now', 'from now', 'days', 'day', 'hours' and so forth are determined by the translation file in use.
Available template expansions for action_template
(below) include:
!label!
the item or group label.!time!
the total time using the setting for action_minutes
(below).!value!
the billing value of the total time. Requires action entries such as @v br1
and settings for action_minutes
and action_rates
(below).!count!
the number of children represented in the time and value totals.action_minutes: 6
Round action times up to the nearest minutes
minutes in reports. Possible choices are 0, 6, 12, 15, 30 and 60. With 0, no rounding is done and times are reported as integer minutes. Otherwise, the prescribed rounding is done and times are reported as floating point hours.
action_rates:
default: 30.0
br1: 45.0
br2: 60.0
Possible billing rates to use for times in actions. An arbitrary number of rates can be entered using whatever labels you like. These labels can then be used in actions so that, e.g., with action_minutes: 6
then:
... @e 75m @v br1 ...
in an action would give these expansions in an action template:
!total! = 1.3
!value! = 58.50
If the label default
is used, the corresponding rate will be used when @v
is not specified in an action.
Note that etm accumulates group totals from the time
and value
of individual actions. Thus
... @e 75m @v br1 ...
... @e 60m @v br2 ...
would aggregate to
!time! = 2.3 (= 1.3 + 1)
!value! = 118.50 (= 1.3 * 45.0 + 1 * 60.0)
action_template: '!time!h) !label! (!count!)'
Used for action reports. With the above settings for action_minutes
and action_template
, a report might appear as follows:
27.5h) Client 1 (3)
4.9h) Project A (1)
15h) Project B (1)
7.6h) Project C (1)
24.2h) Client 2 (3)
3.1h) Project D (1)
21.1h) Project E (2)
5.1h) Category a (1)
16h) Category b (1)
4.2h) Client 3 (1)
8.7h) Client 4 (2)
2.1h) Project F (1)
6.6h) Project G (1)
action_timer: 6
Execute action_timercmd
every action_timer
minutes when a timer is running. Choose zero to disable executing the command.
action_timercmd: '/usr/bin/play /home/dag/.etm/sounds/etm_ding.wav'
The command to execute every action_timer
minutes when an action timer is running.
alert_default: [d, v]
The alert or list of alerts to be used when an alert is specified for an item but the type is not given. Possible values for the list include: - d: display (requires alert_displaycmd
) - s: sound (requires alert_soundcmd
) - v: voice (requires alert_voicecmd
)
alert_displaycmd: /usr/local/bin/growlnotify -t !summary! -m '!time_span!'
The command to be executed when d
is included in an alert. Possible template expansions are discussed at the beginning of this tab.
alert_soundcmd: '/usr/bin/play /home/dag/.etm/sounds/etm_alert.wav'
The command to execute when s
is included in an alert. Possible template expansions are discussed at the beginning of this tab.
alert_voicecmd: /usr/bin/say -v 'Alex' '!summary! !when!.'
The command to be executed when v
is included in an alert. Possible expansions are are discussed at the beginning of this tab.
alert_wakecmd: /Users/dag/bin/SleepDisplay -w
If given, this command will be issued to "wake up the display" before executing alert_displaycmd
.
ampm: true
Use ampm times if true and twenty-four hour times if false. E.g., 2:30pm (true) or 14:30 (false).
auto_completions: ~/.etm/completions.cfg
The absolute path to the file to be used for autocompletions. Each line in the file provides a possible completion. E.g.
@c computer
@c home
@c errands
@c office
@c phone
@z US/Eastern
@z US/Central
@z US/Mountain
@z US/Pacific
dnlgrhm@gmail.com
As soon as you enter, for example, "@c" in the editor, a list of possible completions will pop up and then, as you type further characters, the list will shrink to show only those that still match:
Up and down arrow keys change the selection and either Tab or Return inserts the selection.
calendars:
- [dag, true, personal]
- [erp, false, personal]
- [shared, true, shared]
These are (label, default, path relative to datadir
) tuples to be interpreted as separate calendars. Those for which default is true
will be displayed as default calendars. E.g., with the datadir
below, dag
would be a default calendar and would correspond to the absolute path /Users/dag/.etm/data/personal/dag
. With this setting, the calendar selection dialog would appear as follows:
When non-default calendars are selected, busy times in the "week view" will appear in one color for events from default calendars and in another color for events from non-default calendars.
colors: 2
Font color to use for tree view leaves. 0: use no colors; 1: use only red (past due); 2: use all colors for item types.
datadir: ~/.etm/data
All etm data files are in this directory.
email_template: 'Time: !time_span!
Locaton: !l!
!d!'
Note that two newlines are required to get one empty line when the template is expanded. This template might expand as follows:
Time: 1pm - 2:30pm Wed, Aug 4
Location: Conference Room
<contents of @d>
See the discussion of template expansions at the beginning of this tab for other possible expansion items.
filechange_alert: '/usr/bin/play /home/dag/.etm/sounds/etm_alert.wav'
The command to be executed when etm detects an external change in any of its data files. Leave this command empty to disable the notification.
If Mercurial is installed on your system, then the default versions of the hg
commands given below should work without modification. If you want to use another version control system, then enter the commands for your version control system. {repo}
will be replaced with the internally generated name of the repository in hg_commit
and hg_history
, {file}
with the internally generated file name in hg_history
, {mesg}
with the internally generated commit message in hg_commit
and {0}
with the name of the repository in hg_init
.
The command to commit changes to the repository.
hg_commit: /usr/local/bin/hg commit -A -R {repo} -m '{mesg}'
The command to show the history of changes for a particular data file.
hg_history: '/usr/local/bin/hg log --style compact \
--template `{rev}: {desc}\n` \
-R {repo} -p -r `tip`:0 {file}'
The command to initialize or create a repository.
hg_init: /usr/local/bin/hg init {0}
local_timezone: US/Eastern
This timezone will be used as the default when a value for @z
is not given in an item.
monthly: personal/dag/monthly
Relative path from datadir
. With the settings above and for datadir
the suggested location for saving new items in, say, October 2012, would be the file:
~/.etm/data/personal/dag/monthly/2012/10.txt
The directories monthly
and 2012
and the file 10.txt
would, if necessary, be created. The user could either accept this default or choose a different file.
If monthly
is not given, the the suggested location for saving new items would be the in the directory specified in datadir
.
report_specifications: ~/.etm/reports.cfg
The absolute path to the file to be used for report specifications. Each line in the file provides a possible specification for a report. E.g.
a MMM yyyy; k[0]; k[1:] -b -1/1 -e 1
a k, MMM yyyy -b -1/1 -e 1
c ddd MMM d yyyy
c f
In the reports dialog these appear in the report specifications pop-up list. A specification from the list can be selected and, perhaps, modified or an entirely new specification can be entered. See the Reports tab for details.
smtp:
from: dnlgrhm@gmail.com
id: dnlgrhm
pw: **********
server: smtp.gmail.com
Required settings for the smtp server to be used for email alerts.
sundayfirst: false
The setting affects only the twelve month calendar display. The first column in each month is Sunday if true
and Monday otherwise. Both the week and month views list Monday first regardless of this setting since both reflect the iso standard for week numbering in which weeks begin with Monday.
sunmoon_location: [Chapel Hill, NC]
The USNO location for sun/moon data. Either a US city-state 2-tuple such as [Chapel Hill, NC]
or a placename-longitude-latitude 7-tuple such as [Home, W, 79, 0, N, 35, 54]
.
Enter a blank value to disable sunmoon information.
weather_location: USNC0105&u=f
The yahoo weather location code and temperature scale for your area. Go to http://weather.yahoo.com/, enter your location and hit return. When the weather page for your location opens, choose view source (under the View menu), search for forecastrss
and copy the location code that follows 'p=', e.g., for
...forecastrss?p=USNC0120&u=f
the location code would be USNC0120&u=f
. Note: the &u=f
gives fahrenheit readings while &u=c
would give celcius/centigrade.
Enter a blank value to disable weather information.
weeks_after: 52
In the day view, all non-repeating, dated items are shown. Additionally all repetitions of repeating items with a finite number of repetitions are shown. This includes 'list-only' repeating items and items with &u
(until) or &t
(total number of repetitions) entries. For repeating items with an infinite number of repetitions, those repetitions that occur within the first weeks_after
weeks after the current week are displayed along with the first repetition after this interval. This assures that for infrequently repeating items such as voting for president, at least one repetition will be displayed.