summaryrefslogtreecommitdiffstats
path: root/files/manual.chunked/ar01s04.html
blob: 73b516ce23ad70789f05b2965383254613aebea6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>4. calcurse basics</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.77.1" /><link rel="home" href="index.html" title="CALCURSE - text-based organizer" /><link rel="up" href="index.html" title="CALCURSE - text-based organizer" /><link rel="prev" href="ar01s03.html" title="3. Installation" /><link rel="next" href="ar01s05.html" title="5. Options" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><td width="20%" align="left"><a accesskey="p" href="ar01s03.html">Prev</a> </td><th width="60%" align="center"> </th><td width="20%" align="right"> <a accesskey="n" href="ar01s05.html">Next</a></td></tr></table><hr /></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_calcurse_basics"></a>4. calcurse basics</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_invocation"></a>4.1. Invocation</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="basics_invocation_commandline"></a>Command line arguments</h4></div></div></div><p><code class="literal">calcurse</code> takes the following options from the command line (both short and
long options are supported):</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
<code class="literal">-a, --appointment</code>
</span></dt><dd>
  Print the appointments and events for the current day and exit.  The calendar
  from which to read the  appointments can be specified using the <code class="literal">-c</code> flag.
</dd><dt><span class="term">
<code class="literal">-c &lt;file&gt;, --calendar &lt;file&gt;</code>
</span></dt><dd>
  Specify the calendar file to use.  The default  calendar is
  <code class="literal">~/.calcurse/apts</code> (see section <a class="link" href="ar01s04.html#basics_files" title="4.4. calcurse files">calcurse files</a>).
</dd><dt><span class="term">
<code class="literal">-d &lt;date|num&gt;, --day &lt;date|num&gt;</code>
</span></dt><dd><p class="simpara">
  Print the appointments for the given date  or  for  the given  number  of
  upcoming days, depending on the argument format. Two possible formats are
  supported:
</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
a date (possible formats described below).
</li><li class="listitem">
a number <code class="literal">n</code>.
</li></ul></div><p class="simpara">In the first  case,  the  appointment  list  for  the specified  date will be
returned, while in the second case the appointment list for the <code class="literal">n</code>  upcoming
days will be returned.  As an example, typing <code class="literal">calcurse -d  3</code>  will  display
your  appointments  for  today, tomorrow, and the day after tomorrow.  Possible
formats for specifying the date are defined inside the general configuration
menu (see <a class="link" href="ar01s05.html#options_general" title="5.1. General options">General options</a>), using the
<code class="literal">format.inputdate</code> variable.</p><p class="simpara">Note: as for the <code class="literal">-a</code> flag, the calendar  from which to  read  the appointments
can be specified using the <code class="literal">-c</code> flag.</p></dd><dt><span class="term">
<code class="literal">-D &lt;dir&gt;, --directory &lt;dir&gt;</code>
</span></dt><dd>
  Specify  the  data directory to use. This option is incompatible  with  -c.
  If  not  specified,   the default directory is <code class="literal">~/.calcurse/</code>.
</dd><dt><span class="term">
<code class="literal">--format-apt &lt;format&gt;</code>
</span></dt><dd>
  Specify a format to control the output of appointments in non-interactive
  mode. See the <a class="link" href="ar01s04.html#basics_format_strings" title="Format strings">Format strings</a> section for detailed
  information on format strings.
</dd><dt><span class="term">
<code class="literal">--format-recur-apt &lt;format&gt;</code>
</span></dt><dd>
  Specify a format to control the output of recurrent appointments in
  non-interactive mode. See the <a class="link" href="ar01s04.html#basics_format_strings" title="Format strings">Format strings</a>
  section for detailed information on format strings.
</dd><dt><span class="term">
<code class="literal">--format-event &lt;format&gt;</code>
</span></dt><dd>
  Specify a format to control the output of events in non-interactive mode. See
  the <a class="link" href="ar01s04.html#basics_format_strings" title="Format strings">Format strings</a> section for detailed information
  on format strings.
</dd><dt><span class="term">
<code class="literal">--format-recur-event &lt;format&gt;</code>
</span></dt><dd>
  Specify a format to control the output of recurrent events in non-interactive
  mode. See the <a class="link" href="ar01s04.html#basics_format_strings" title="Format strings">Format strings</a> section for detailed
  information on format strings.
</dd><dt><span class="term">
<code class="literal">--format-todo &lt;format&gt;</code>
</span></dt><dd>
  Specify a format to control the output of todo items in non-interactive mode.
  See the <a class="link" href="ar01s04.html#basics_format_strings" title="Format strings">Format strings</a> section for detailed
  information on format strings.
</dd><dt><span class="term">
<code class="literal">-g, --gc</code>
</span></dt><dd>
  Run the garbage collector for note files and exit.
</dd><dt><span class="term">
<code class="literal">-h, --help</code>
</span></dt><dd>
  Print  a  short  help  text  describing  the  supported command-line options,
  and exit.
</dd><dt><span class="term">
<code class="literal">-i &lt;file&gt;, --import &lt;file&gt;</code>
</span></dt><dd>
  Import the icalendar data contained in <code class="literal">file</code>.
</dd><dt><span class="term">
<code class="literal">-n, --next</code>
</span></dt><dd><p class="simpara">
  Print the next appointment within upcoming 24 hours and exit.  The indicated
  time is the number of hours and minutes left before this appointment.
</p><p class="simpara">Note: the calendar from which to read the appointments can be specified using
the <code class="literal">-c</code> flag.</p></dd><dt><span class="term">
<code class="literal">-r[num], --range[=num]</code>
</span></dt><dd>
  Print events and appointments for the num number of days and exit. If no num
  is given, a range of 1 day is considered.
</dd><dt><span class="term">
<code class="literal">--read-only</code>
</span></dt><dd><p class="simpara">
  Don’t save configuration nor appointments/todos.
</p><div class="warning" style="margin-left: 0; margin-right: 10%;"><h3 class="title">Warning</h3><p>Use this this with care! If you run an interactive calcurse instance
in read-only mode, all changes from this session will be lost without warning!</p></div></dd><dt><span class="term">
<code class="literal">-s[date], --startday[=date]</code>
</span></dt><dd>
  Print  events  and appointments from date and exit.  If no date is given, the
  current day is considered.
</dd><dt><span class="term">
<code class="literal">-S&lt;regex&gt;, --search=&lt;regex&gt;</code>
</span></dt><dd>
  When used with the <code class="literal">-a</code>, <code class="literal">-d</code>, <code class="literal">-r</code>, <code class="literal">-s</code>, or <code class="literal">-t</code> flag, print only the items
  having a description that matches the given regular expression.
</dd><dt><span class="term">
<code class="literal">--status</code>
</span></dt><dd>
  Display  the  status of running instances of calcurse. If calcurse is
  running, this will tell  if  the  interactive mode  was  launched  or  if
  calcurse is running in background.  The process pid will also be indicated.
</dd><dt><span class="term">
<code class="literal">-t[num], --todo[=num]</code>
</span></dt><dd>
  Print the <code class="literal">todo</code> list and exit. If the optional number <code class="literal">num</code> is given, then
  only todos having a priority equal to <code class="literal">num</code> will be returned. The priority
  number must be between 1 (highest) and 9 (lowest). It is also possible to
  specify <code class="literal">0</code> for the priority, in which case only completed tasks will be
  shown.
</dd><dt><span class="term">
<code class="literal">-v, --version</code>
</span></dt><dd>
  Display <code class="literal">calcurse</code> version and exit.
</dd><dt><span class="term">
<code class="literal">-x[format], --export[=format]</code>
</span></dt><dd><p class="simpara">
  Export user data to specified format. Events, appointments and todos are
  converted and echoed to stdout.  Two possible formats are available: ical and
  pcal (see section <a class="link" href="ar01s09.html#links_others" title="9.3. Other links">Links</a> below).  If the optional
  argument <code class="literal">format</code> is not given, ical format is selected by default.
</p><p class="simpara">Note: redirect standard output to export data to a file, by issuing a command
such as:</p><pre class="screen">$ calcurse --export &gt; my_data.dat</pre></dd></dl></div><div class="note" style="margin-left: 0; margin-right: 10%;"><h3 class="title">Note</h3><p>The <code class="literal">-N</code> option has been removed in calcurse 3.0.0. See the
<a class="link" href="ar01s04.html#basics_format_strings" title="Format strings">Format strings</a> section on how to print note along
with appointments and events.</p></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="basics_format_strings"></a>Format strings</h4></div></div></div><p>Format strings are composed of printf()-style format specifiers — ordinary
characters are copied to stdout without modification. Each specifier is
introduced by a <code class="literal">%</code> and is followed by a character which specifies the field to
print. The set of available fields depends on the item type.</p><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="_format_specifiers_for_appointments"></a>Format specifiers for appointments</h5></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term">
<code class="literal">s</code>
</span></dt><dd>
  Print the start time of the appointment as UNIX time stamp
</dd><dt><span class="term">
<code class="literal">S</code>
</span></dt><dd>
  Print the start time of the appointment using the <code class="literal">hh:mm</code> format
</dd><dt><span class="term">
<code class="literal">d</code>
</span></dt><dd>
  Print the duration of the appointment in seconds
</dd><dt><span class="term">
<code class="literal">e</code>
</span></dt><dd>
  Print the end time of the appointment as UNIX time stamp
</dd><dt><span class="term">
<code class="literal">E</code>
</span></dt><dd>
  Print the end time of the appointment using the <code class="literal">hh:mm</code> format
</dd><dt><span class="term">
<code class="literal">m</code>
</span></dt><dd>
  Print the description of the item
</dd><dt><span class="term">
<code class="literal">n</code>
</span></dt><dd>
  Print the name of the note file belonging to the item
</dd><dt><span class="term">
<code class="literal">N</code>
</span></dt><dd>
  Print the note belonging to the item
</dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="_format_specifiers_for_events"></a>Format specifiers for events</h5></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term">
<code class="literal">m</code>
</span></dt><dd>
  Print the description of the item
</dd><dt><span class="term">
<code class="literal">n</code>
</span></dt><dd>
  Print the name of the note file belonging to the item
</dd><dt><span class="term">
<code class="literal">N</code>
</span></dt><dd>
  Print the note belonging to the item
</dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="_format_specifiers_for_todo_items"></a>Format specifiers for todo items</h5></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term">
<code class="literal">p</code>
</span></dt><dd>
  Print the priority of the item
</dd><dt><span class="term">
<code class="literal">m</code>
</span></dt><dd>
  Print the description of the item
</dd><dt><span class="term">
<code class="literal">n</code>
</span></dt><dd>
  Print the name of the note file belonging to the item
</dd><dt><span class="term">
<code class="literal">N</code>
</span></dt><dd>
  Print the note belonging to the item
</dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="_examples"></a>Examples</h5></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term">
<code class="literal">calcurse -r7 --format-apt='- %S -&gt; %E\n\t%m\n%N'</code>
</span></dt><dd>
  Print appointments and events for the next seven days. Also, print the notes
  attached to each regular appointment (simulates <code class="literal">-N</code> for appointments).
</dd><dt><span class="term">
<code class="literal">calcurse -r7 --format-apt=' - %m (%S to %E)\n' --format-recur-apt=' - %m (%S to %E)\n'</code>
</span></dt><dd>
  Print appointments and events for the next seven days and use a custom format
  for (recurrent) appointments: ` - Some appointment (18:30 to 21:30)`.
</dd><dt><span class="term">
<code class="literal">calcurse -t --format-todo '(%p) %m\n'</code>
</span></dt><dd>
  List all todo items and put parentheses around the priority specifiers.
</dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="_extended_format_specifiers"></a>Extended format specifiers</h5></div></div></div><p>Extended format specifiers can be used if you want to specify advanced
formatting options. Extended specifiers are introduced by <code class="literal">%(</code> and are
terminated by a closing parenthesis (<code class="literal">)</code>). The following list includes all
short specifiers and corresponding long options:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<code class="literal">s</code>: <code class="literal">(start)</code>
</li><li class="listitem">
<code class="literal">S</code>: <code class="literal">(start:epoch)</code>
</li><li class="listitem">
<code class="literal">d</code>: <code class="literal">(duration)</code>
</li><li class="listitem">
<code class="literal">e</code>: <code class="literal">(end)</code>
</li><li class="listitem">
<code class="literal">E</code>: <code class="literal">(end:epoch)</code>
</li><li class="listitem">
<code class="literal">m</code>: <code class="literal">(message)</code>
</li><li class="listitem">
<code class="literal">n</code>: <code class="literal">(noteid)</code>
</li><li class="listitem">
<code class="literal">N</code>: <code class="literal">(note)</code>
</li><li class="listitem">
<code class="literal">p</code>: <code class="literal">(priority)</code>
</li></ul></div><p>The <code class="literal">(start)</code> and <code class="literal">(end)</code> specifiers support strftime()-style extended
formatting options that can be used for fine-grained formatting. Additionally,
the special formats <code class="literal">epoch</code> (which is equivalent to <code class="literal">(start:%s)</code> or <code class="literal">(end:%s)</code>)
and <code class="literal">default</code> (which is mostly equivalent to <code class="literal">(start:%H:%M)</code> or <code class="literal">(end:%H:%M)</code>
but displays <code class="literal">..:..</code> if the item doesn’t start/end at the current day) are
supported.</p></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="basics_invocation_variable"></a>Environment variable for i18n</h4></div></div></div><p><code class="literal">calcurse</code> can be compiled with native language support (see
<a class="link" href="ar01s03.html#install_requirements_gettext" title="gettext library">gettext library</a>). Thus, if you wish to have
messages displayed into your native language, first make sure it is available
by looking at the <code class="literal">po/LINGUAS</code> file.  This file indicates the set of available
languages by showing the two-letters corresponding code (for exemple, <span class="strong"><strong>fr</strong></span>
stands for french).  If you do not find your language, it would be greatly
appreciated if you could help translating <code class="literal">calcurse</code> (see the <a class="link" href="ar01s08.html" title="8. How to contribute?">How to contribute?</a> section).</p><p>If your language is available, run <code class="literal">calcurse</code> with the following command:</p><pre class="screen">$ LC_ALL=fr_FR calcurse</pre><div class="orderedlist"><ol class="orderedlist" type="i"><li class="listitem">
where <span class="strong"><strong>fr_FR</strong></span> is the locale name in this exemple, but should be replaced by
the locale corresponding to the desired language.
</li></ol></div><p>You should also specify the charset to be used, because in some cases the
accents and such are not displayed correctly.  This charset is indicated at the
beginning of the po file corresponding to the desired language. For instance,
you can see in the fr.po file that it uses the iso-8859-1 charset, so you could
run <code class="literal">calcurse</code> using the following command:</p><pre class="screen">$ LC_ALL=fr_FR.ISO8859-1 calcurse</pre></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_other_environment_variables"></a>Other environment variables</h4></div></div></div><p>The following environment variables affect the way <code class="literal">calcurse</code> operates:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
<code class="literal">VISUAL</code>
</span></dt><dd>
  Specifies the external editor to use for writing notes.
</dd><dt><span class="term">
<code class="literal">EDITOR</code>
</span></dt><dd>
  If the <code class="literal">VISUAL</code> environment variable is not set, then <code class="literal">EDITOR</code> will be used
  as the default external editor. If none of those variables are set, then
  <code class="literal">/usr/bin/vi</code> is used instead.
</dd><dt><span class="term">
<code class="literal">PAGER</code>
</span></dt><dd>
  Specifies the default viewer to be used for reading notes.  If this variable
  is not set, then <code class="literal">/usr/bin/less</code> is used.
</dd></dl></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_user_interface"></a>4.2. User interface</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_non_interactive_mode"></a>Non-interactive mode</h4></div></div></div><p>When called with at least one of the following arguments: <code class="literal">-a</code>, <code class="literal">-d</code>, <code class="literal">-h</code>,
<code class="literal">-n</code>, <code class="literal">-t</code>, <code class="literal">-v</code>, <code class="literal">-x</code>, <code class="literal">calcurse</code> is started in non-interactive mode.  This
means the desired information will be displayed, and after that, <code class="literal">calcurse</code>
simply quits and you are driven back to the shell prompt.</p><p>That way, one can add a line such as <code class="literal">calcurse --todo --appointment</code> in its
init config file to display at logon the list of tasks and appointments
scheduled for the current day.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="basics_interface_interactive"></a>Interactive mode</h4></div></div></div><div class="note" style="margin-left: 0; margin-right: 10%;"><h3 class="title">Note</h3><p>Key bindings that are indicated in this manual correspond to the default
      ones, defined when <code class="literal">calcurse</code> is launched for the first time. If those
      key bindings do not suit user’s needs, it is possible to change them
      within the keys configuration menu (see <a class="link" href="ar01s05.html#options_keys" title="5.2. Key bindings">key bindings</a>).</p></div><p>When called without any argument or only with the <code class="literal">-c</code> option, <code class="literal">calcurse</code> is
started in interactive mode. In this mode, you are shown an interface
containing three different panels which you can browse using the <code class="literal">TAB</code> key,
plus a notification bar and a status bar (see figure below).</p><pre class="screen"> appointment panel---.                                   .---calendar panel
                     |                                   |
                     v                                   v
 +------------------------------------++----------------------------+
 |          Appointments              ||          Calendar          |
 |------------------------------------||----------------------------|
 |                 (|)  April 6, 2006 ||         April 2006         |
 |                                    ||Mon Tue Wed Thu Fri Sat Sun |
 |                                    ||                      1   2 |
 |                                    ||  3   4   5   6   7   8   9 |
 |                                    || 10  11  12  13  14  15  16 |
 |                                    || 17  18  19  20  21  22  23 |
 |                                    || 24  25  26  27  28  29  30 |
 |                                    ||                            |
 |                                    |+----------------------------+
 |                                    |+----------------------------+
 |                                    ||            ToDo            | todo
 |                                    ||----------------------------| panel
 |                                    ||                            |   |
 |                                    ||                            |   |
 |                                    ||                            |&lt;--.
 |                                    ||                            |
 +------------------------------------++----------------------------+
 |---[ Mon 2006-11-22 | 10:11:43 ]---(apts)----&gt; 01:20 :: lunch &lt;---|&lt;--.
 +------------------------------------------------------------------+ notify-bar
 | ? Help     R Redraw    H/L -/+1 Day      G GoTo       C Config   |
 | Q Quit     S Save      J/K -/+1 Week   Tab Chg View              |&lt;-.
 +------------------------------------------------------------------+  |
                                                                       |
                                                                 status bar</pre><p>The first panel represents a calendar which allows to highlight a particular
day, the second one contains the list of the events and appointments on that
day, and the last one contains a list of tasks to do but which are not assigned
to any specific day.</p><p>Depending on the selected view, the calendar could either display a monthly
(default as shown in previous figure) or weekly view.  The weekly view would
look like the following:</p><pre class="screen">+------------------------------------+
|              Calendar              |
|----------------------------(# 13)--|
|    Mon Tue Wed Thu Fri Sat Sun     |
|     29  30  31  01  02  03  04     |
|                               &lt;----+--  slice 1: 00:00 to 04:00 AM
|       --  --  --  --  --  --       |
|                               &lt;----+--  slice 2: 04:00 to 08:00 AM
|       --  --  --  --  --  --       |
|                               &lt;----+--  slice 3: 08:00 to 12:00 AM
|    -  --  --  --  --  --  --  -  &lt;-+--  midday
|                               &lt;----+--  slice 4: 12:00 to 04:00 PM
|       --  --  --  --  --  --       |
|                               &lt;----+--  slice 5: 04:00 to 08:00 PM
|       --  --  --  --  --  --       |
|                               &lt;----+--  slice 6: 08:00 to 12:00 PM
+------------------------------------+</pre><p>The current week number is displayed on the top-right side of the panel (<span class="strong"><strong># 13</strong></span>
meaning it is the 13th week of the year in the above example). The seven days
of the current week are displayed in column. Each day is divided into slices of
4 hours each (6 slices in total, see figure above). A slice will appear in a
different color if an appointment falls into the corresponding time-slot.</p><p>In the appointment panel, one can notice the <span class="strong"><strong><code class="literal">(|)</code></strong></span> sign just in front of the
date.  This indicates the current phase of the moon.  Depending on which is the
current phase, the following signs can be seen:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
`  |) `
</span></dt><dd>
  first quarter
</dd><dt><span class="term">
` (|) `
</span></dt><dd>
  full moon
</dd><dt><span class="term">
`  (| `
</span></dt><dd>
  last quarter
</dd><dt><span class="term">
`  |  `
</span></dt><dd>
  new moon
</dd><dt><span class="term">
no sign
</span></dt><dd>
  Phase of the moon does not correspond to any of the above ones.
</dd></dl></div><p>At the very bottom of the screen there is a status bar, which indicates the
possible actions and the corresponding keystrokes.</p><p>Just above this status bar is the notify-bar, which indicates from left to
right : the current date, the current time, the calendar file currently in use
(apts on the above example, which is the default calendar file, see the
following section), and the next appointment within the upcoming 24 hours. Here
it says that it will be lunch time in one hour and twenty minutes.</p><div class="note" style="margin-left: 0; margin-right: 10%;"><h3 class="title">Note</h3><p>Some actions, such as editing or adding an item, require to type in some
      text. This is done with the help of the built-in input line editor.</p></div><p>Within this editor, if a line is longer than the screen width, a <code class="literal">&gt;</code>, <code class="literal">*</code>, or
<code class="literal">&lt;</code> character is displayed in the last column indicating that there are more
character after, before and after, or before the current position,
respectively. The line is scrolled horizontally as necessary.</p><p>Moreover, some editing commands are bound to particular control characters.
Hereafter are indicated the available editing commands (<code class="literal">^</code> stands for the
control key):</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
<code class="literal">^a</code>
</span></dt><dd>
  moves the cursor to the beginning of the input line
</dd><dt><span class="term">
<code class="literal">^b</code>
</span></dt><dd>
  moves the cursor backward
</dd><dt><span class="term">
<code class="literal">^d</code>
</span></dt><dd>
  deletes one character forward
</dd><dt><span class="term">
<code class="literal">^e</code>
</span></dt><dd>
  moves the cursor to the end of the input line
</dd><dt><span class="term">
<code class="literal">^f</code>
</span></dt><dd>
  moves the cursor forward
</dd><dt><span class="term">
<code class="literal">^h</code>
</span></dt><dd>
  deletes one character backward
</dd><dt><span class="term">
<code class="literal">^k</code>
</span></dt><dd>
  deletes the input from the cursor to the end of the line
</dd><dt><span class="term">
<code class="literal">^w</code>
</span></dt><dd>
  deletes backward to the beginning of the current word
</dd><dt><span class="term">
<code class="literal">ESCAPE</code>
</span></dt><dd>
    cancels the editing
</dd></dl></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="basics_daemon"></a>4.3. Background mode</h3></div></div></div><p>When the daemon mode is enabled in the notification configuration menu (see
<a class="link" href="ar01s05.html#options_notify" title="5.6. Notify-bar settings">Notify-bar settings</a>), <code class="literal">calcurse</code> will stay in background
when the user interface is not running. In background mode, <code class="literal">calcurse</code> checks
for upcoming appointments and runs the user-defined notification command when
  necessary. When the user interface is started again, the daemon automatically
  stops.</p><p>‘calcurse` background activity can be logged (set the <code class="literal">daemon.log</code> variable in
the notification configuration <a class="link" href="ar01s05.html#options_notify" title="5.6. Notify-bar settings">menu</a>), and in that case,
information about the daemon start and stop time, reminders’ command launch
time, signals received… will be written in the <code class="literal">daemon.log</code> file (see section
<a class="link" href="ar01s04.html#basics_files" title="4.4. calcurse files">files</a>).</p><p>Using the <code class="literal">--status</code> command line option (see section
<a class="link" href="ar01s04.html#basics_invocation_commandline" title="Command line arguments">Command line arguments</a>), one can know if
<code class="literal">calcurse</code> is currently running in background or not.  If the daemon is
running, a message like the following one will be displayed (the pid of the
daemon process will be shown):</p><pre class="screen">calcurse is running in background (pid 14536)</pre><div class="note" style="margin-left: 0; margin-right: 10%;"><h3 class="title">Note</h3><p>To stop the daemon, just send the <code class="literal">TERM</code> signal to it, using a command
      such as: <code class="literal">kill daemon_pid</code>, where <span class="strong"><strong>daemon_pid</strong></span> is the process id of the
      daemon (14536 in the above example).</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="basics_files"></a>4.4. calcurse files</h3></div></div></div><p>The following structure is created in your <code class="literal">$HOME</code>  directory (or in the
directory you specified with  the  -D  option) the first time <code class="literal">calcurse</code> is run
:</p><pre class="screen">$HOME/.calcurse/
           |___notes/
           |___conf
           |___keys
           |___apts
           |___todo</pre><div class="variablelist"><dl class="variablelist"><dt><span class="term">
<code class="literal">notes/</code>
</span></dt><dd>
  this subdirectory contains descriptions of the notes which are attached to
  appointments, events or todos. Since the file name of each note file is a
  SHA1 hash of the note itself, multiple items can share the same note file.
  calcurse provides a garbage collector (see the <code class="literal">-g</code> command line parameter)
  that can be used to remove note files which are no longer linked to any item.
</dd><dt><span class="term">
<code class="literal">conf</code>
</span></dt><dd>
  this file contains the user configuration
</dd><dt><span class="term">
<code class="literal">keys</code>
</span></dt><dd>
  this file contains the user-defined key bindings
</dd><dt><span class="term">
<code class="literal">apts</code>
</span></dt><dd>
  this file contains  all  of the events and user’s appointments
</dd><dt><span class="term">
<code class="literal">todo</code>
</span></dt><dd>
  this file contains the todo list
</dd></dl></div><div class="note" style="margin-left: 0; margin-right: 10%;"><h3 class="title">Note</h3><p>If the logging of calcurse daemon activity was set in the notification
      configuration menu, the extra file <code class="literal">daemon.log</code> will appear in calcurse
      data directory. This file contains logs about calcurse activity when
      running in background.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_import_export_capabilities"></a>4.5. Import/Export capabilities</h3></div></div></div><p>The import and export capabilities offered by <code class="literal">calcurse</code> are described below.</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_import"></a>Import</h4></div></div></div><p>Data in icalendar format as described in the rfc2445 specification (see
<a class="link" href="ar01s09.html#links_others" title="9.3. Other links">links</a> section below) can be imported into calcurse.  Calcurse
ical parser is based on version 2.0 of this specification, but for now on, only
a subset of it is supported.</p><p>The following icalendar properties are handled by calcurse:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
<code class="literal">VTODO</code> items: "PRIORITY", "VALARM", "SUMMARY", "DESCRIPTION"
</li><li class="listitem">
<code class="literal">VEVENT</code> items: "DTSTART", "DTEND", "DURATION", "RRULE", "EXDATE", "VALARM",
  "SUMMARY", "DESCRIPTION"
</li></ul></div><p>The icalendar <code class="literal">DESCRIPTION</code> property will be converted into calcurse format by
adding a note to the item. If a "VALARM" property is found, the item will be
flagged as important and the user will get a notification (this is only
applicable to appointments).</p><p>Here are the properties that are not implemented:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
negative time durations are not taken into account (item is skipped)
</li><li class="listitem">
some recurence frequences are not recognize: "SECONDLY" / "MINUTELY" /
  "HOURLY"
</li><li class="listitem">
some recurrence keywords are not recognized (all those starting with <code class="literal">BY</code>):
  "BYSECOND" / "BYMINUTE" / "BYHOUR" / "BYDAY" / "BYMONTHDAY" / "BYYEARDAY" /
  "BYWEEKNO" / "BYMONTH" / "BYSETPOS" plus "WKST"
</li><li class="listitem">
the recurrence exception keyword "EXRULE" is not recognized
</li><li class="listitem">
timezones are not taken into account
</li></ul></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_export"></a>Export</h4></div></div></div><p>Two possible export formats are available: <code class="literal">ical</code> and <code class="literal">pcal</code> (see section
<a class="link" href="ar01s09.html#links_others" title="9.3. Other links">Links</a> below to find out about those formats).</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_online_help"></a>4.6. Online help</h3></div></div></div><p>At any time, the built-in help  system  can  be  invoked  by pressing the <code class="literal">?</code>
key. Once viewing the help screens, informations on a specific command can be
accessed  by  pressing the keystroke corresponding to that command.</p></div></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ar01s03.html">Prev</a> </td><td width="20%" align="center"> </td><td width="40%" align="right"> <a accesskey="n" href="ar01s05.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> </td></tr></table></div></body></html>