documentation backport fron trunk
[kdepim.git] / doc / kalarm / index.docbook
blob0a443ea1542a7fe9f870ba9c7434c291245f6671
1 <?xml version="1.0" ?>
2 <!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
3 <!ENTITY kappname "&kalarm;">
4 <!ENTITY package "kdepim">
5 <!ENTITY % addindex "IGNORE">
6 <!ENTITY % English "INCLUDE"><!-- change language only here -->
7 ]>
9 <!-- The language must NOT be changed here. -->
11 <book lang="&language;">
13 <bookinfo>
14 <title>The &kalarm; Handbook</title>
16 <authorgroup>
17 <author>
18 <firstname>David</firstname>
19 <surname>Jarvie</surname>
20 <affiliation>
21 <address>&David.Jarvie.mail;</address>
22 </affiliation>
23 </author>
25 <othercredit role="developer">
26 <firstname>David</firstname>
27 <surname>Jarvie</surname>
28 <affiliation><address>&David.Jarvie.mail;</address></affiliation>
29 <contrib>Developer</contrib>
30 </othercredit>
32 <!-- TRANS:ROLES_OF_TRANSLATORS -->
33 </authorgroup>
35 <copyright>
36 <year>2001</year><year>2002</year><year>2003</year><year>2004</year><year>2005</year><year>2006</year><year>2007</year><year>2008</year>
37 <holder>&David.Jarvie;</holder>
38 </copyright>
40 <legalnotice>&FDLNotice;</legalnotice>
42 <!-- Don't change format of date and version of the documentation -->
44 <date>2008-07-11</date>
45 <releaseinfo>2.00.00</releaseinfo>
47 <abstract>
48 <para>&kalarm; is a personal alarm message, command and email scheduler for &kde;.</para>
49 </abstract>
52 <keywordset>
53 <keyword>KDE</keyword>
54 <keyword>kdepim</keyword>
55 <keyword>kalarm</keyword>
56 <keyword>alarm</keyword>
57 <keyword>reminder</keyword>
58 <keyword>scheduler</keyword>
59 </keywordset>
61 </bookinfo>
64 <chapter id="introduction">
65 <title>Introduction</title>
67 <para>&kalarm; lets you schedule the display of personal alarm
68 messages, the playing of sound files, the execution of commands and
69 the sending of emails.</para>
71 <para>In its default graphical mode, &kalarm; displays the list of
72 pending alarms, showing their times and details. You can create new
73 alarms, or you can select existing alarms for modification or
74 deletion. You can also optionally view expired alarms.</para>
76 <para>When configuring an alarm, you can choose whether it should
77 repeat, and whether the alarm should be canceled if it cannot be
78 triggered at its scheduled time. For display alarms, you can type in
79 a message text, specify a text or image file to display, or specify a
80 command whose output should be displayed. You can also choose the
81 color of the alarm message, and whether to play a sound or speak the
82 message.</para>
84 <para>Alarms may also be scheduled from the command line, or via D-Bus
85 calls from programs.</para>
87 <para>When an alarm message is due, it is displayed on each &kde;
88 desktop to ensure that you don't miss it. The message window shows the
89 time for which the alarm was scheduled. It usually has a defer option
90 to ask for the alarm to be displayed again later. An example of an
91 alarm message:</para>
93 <screenshot>
94 <screeninfo>Screenshot of the &kalarm; message window</screeninfo>
95 <mediaobject>
96 <imageobject>
97 <imagedata fileref="alarmmessage.png" format="PNG"/>
98 </imageobject>
99 <textobject>
100 <phrase>Alarm message</phrase>
101 </textobject>
102 </mediaobject>
103 </screenshot>
105 <para>When the alarm specifies a command to execute or an email to
106 send, &kalarm; displays nothing.</para>
108 <para>&kalarm; usually shows an icon in the system tray, although this
109 can be hidden if desired.</para>
111 </chapter>
113 <chapter id="using-kalarm">
114 <title>Using &kalarm;</title>
116 <para>When it is run with no command line parameters, &kalarm; starts
117 in graphical mode, and displays the current list of outstanding
118 alarms.</para>
120 <tip><para>All spin boxes in &kalarm; have an acceleration facility.
121 To make the value change by larger steps, hold down the
122 &Shift; key while you click on the spin arrow
123 buttons.</para>
125 <mediaobject>
126 <imageobject>
127 <imagedata fileref="spinbox.png" format="PNG"/>
128 </imageobject>
129 </mediaobject>
130 </tip>
132 <sect1 id="alarm-list">
133 <title>Alarm List</title>
135 <para>The main &kalarm; window displays the current list of pending
136 alarms, showing their times, repetition intervals, colors, and
137 message texts, names of files to display, commands to execute or email
138 subjects. (For a recurring alarm, the time shown is its next scheduled
139 trigger time. For an alarm with a reminder, the time shown is the time
140 of the alarm proper, not the reminder time.) An icon at the left of
141 each alarm text/file/command/email subject indicates the type of
142 alarm.</para>
144 <screenshot>
145 <screeninfo>Screenshot of the &kalarm; main window</screeninfo>
146 <mediaobject>
147 <imageobject>
148 <imagedata fileref="mainwindow.png" format="PNG"/>
149 </imageobject>
150 <textobject>
151 <phrase>Main window</phrase>
152 </textobject>
153 </mediaobject>
154 </screenshot>
156 <para>For a repeated alarm, the list shows its next scheduled trigger
157 time and its basic repetition interval (&eg; <quote>1 Day</quote> for
158 a daily recurrence, <quote>3 Weeks</quote> for a recurrence which
159 triggers on Monday and Wednesday every third week,
160 <quote>Login</quote> for a repeat-at-login alarm).</para>
162 <para>The alarms may be ordered by date/time, repeat interval, color,
163 type or text by clicking on the titlebar for the appropriate column.
164 To reverse the sort order, click the column titlebar again.</para>
166 <para>You can optionally show the remaining time until each alarm is
167 due, together with, or instead of, the alarm's scheduled time.
168 To show or hide the alarm time column, select
169 <menuchoice><guimenu>View</guimenu><guimenuitem>Show Alarm
170 Times</guimenuitem></menuchoice>.
171 To show or hide the time-to-alarm column, select
172 <menuchoice><guimenu>View</guimenu><guimenuitem>Show Time To
173 Alarms</guimenuitem></menuchoice>. At least one of these columns is
174 always shown.</para>
176 <para>If you use multiple alarm resources, you can color code alarms
177 according to which resource they belong to, by selecting a different
178 background color for each resource.</para>
180 <sect2 id="expired">
181 <title>Archived Alarms</title>
183 <para>By default, &kalarm; archives alarms for a limited period once
184 they have expired or been deleted. (But note that alarms which you
185 delete are stored only if they have already triggered at least once.)
186 You can control whether &kalarm; archives expired alarms, and for how
187 long, in the
188 <link linkend="preferences-storage">Preferences dialog</link>.</para>
190 <para>Archived alarms may be shown in the alarm list by selecting
191 <menuchoice><guimenu>View</guimenu><guimenuitem>Show Archived
192 Alarms</guimenuitem></menuchoice>. To hide them again, select
193 <menuchoice><guimenu>View</guimenu><guimenuitem>Hide Archived
194 Alarms</guimenuitem></menuchoice>.</para>
196 </sect2>
198 <sect2 id="search">
199 <title>Searching the Alarm List</title>
201 <para>You can search through the alarm list to find alarms containing
202 a search text. To invoke this, select <menuchoice>
203 <guimenu>Edit</guimenu><guimenuitem>Find</guimenuitem></menuchoice>.
204 In the search dialog, select the alarm types which you wish to search.
205 To continue searching for more alarms which match, use <menuchoice>
206 <guimenu>Edit</guimenu><guimenuitem>Find Next</guimenuitem></menuchoice>
207 or <menuchoice>
208 <guimenu>Edit</guimenu><guimenuitem>Find Previous</guimenuitem>
209 </menuchoice>.</para>
211 <para>Searching is performed as follows:</para>
213 <itemizedlist>
214 <listitem>
215 <para>Text message alarms: the message text is searched.</para>
216 </listitem>
218 <listitem>
219 <para>File display alarms: the file path/&URL; is searched.</para>
220 </listitem>
222 <listitem>
223 <para>Command alarms: the command line or command script is
224 searched.</para>
225 </listitem>
227 <listitem>
228 <para>Email alarms: in addition to the subject and body of the email,
229 the recipients and the URLs of attachments are searched.</para>
230 </listitem>
231 </itemizedlist>
233 <note><para>Only alarms currently shown in the alarm list can be
234 selected for searching. So if you want to search archived alarms, you
235 must first display them as described in the section above.</para></note>
236 </sect2>
237 </sect1>
239 <sect1 id="create-edit">
240 <title>Creating and Manipulating Alarms</title>
242 <sect2>
243 <title>Creating a New Alarm</title>
245 <para>To create a new alarm, do one of the following, and then select
246 the type of alarm from the list which appears. This displays the
247 <link linkend="alarm-edit-dlg">Alarm Edit dialog</link> through which
248 you configure the alarm.</para>
250 <itemizedlist>
251 <listitem>
252 <para>Select <menuchoice><guimenu>Actions</guimenu>
253 <guimenuitem>New</guimenuitem></menuchoice>.</para>
254 </listitem>
256 <listitem>
257 <para><mousebutton>Right</mousebutton> click on the system tray icon
258 and choose
259 <menuchoice><guimenuitem>New</guimenuitem></menuchoice>
260 from the context menu.</para>
261 </listitem>
263 <listitem>
264 <para>Click the <mousebutton>Middle</mousebutton> mouse button on the
265 system tray icon.</para>
266 </listitem>
268 <listitem>
269 <para><mousebutton>Right</mousebutton> click in the alarm list and
270 choose <menuchoice><guimenuitem>New</guimenuitem></menuchoice> from
271 the context menu.</para>
272 </listitem>
274 <listitem>
275 <para>Double click on empty space below the last entry in the alarm
276 list.</para>
277 </listitem>
278 </itemizedlist>
280 <para>Alternatively, you can create new alarms preconfigured from
281 various sources:</para>
283 <itemizedlist>
284 <listitem>
285 <para>To base your new alarm on an alarm template, follow the
286 instructions in the <link linkend="templates">Alarm Templates</link>
287 section.</para>
288 </listitem>
290 <listitem>
291 <para>To base your new alarm on an existing one, highlight the existing
292 alarm in the list and select <menuchoice>
293 <guimenu>Actions</guimenu><guimenuitem>Copy</guimenuitem></menuchoice>.
294 This opens the <link linkend="alarm-edit-dlg">Alarm Edit dialog</link>
295 already filled in with a copy of the selected alarm's details.</para>
296 </listitem>
298 <listitem>
299 <para>To create a new alarm which displays an existing email message,
300 drag the email from &kmail; onto &kalarm;'s main window or system tray
301 icon. This opens the <link linkend="alarm-edit-dlg">Alarm Edit
302 dialog</link> with the entire email message (including sender,
303 recipient, &etc;) as the alarm text.</para>
304 </listitem>
306 <listitem>
307 <para>To create a new email alarm to send a copy of an existing email
308 message, drag the email from &kmail; onto &kalarm;'s main window or
309 system tray icon. Then select the <guilabel>Email</guilabel> option.
310 The <link linkend="alarm-edit-dlg">Alarm Edit dialog</link> is preset
311 with the entire email message except sender.</para>
312 </listitem>
314 <listitem>
315 <para>Dragging any piece of text onto &kalarm;'s main window or system
316 tray icon opens the <link linkend="alarm-edit-dlg">Alarm Edit
317 dialog</link> and sets the alarm text.</para>
318 </listitem>
320 <listitem>
321 <para>To create a file display alarm, drag a file &URL; onto &kalarm;'s
322 main window or system tray icon. This opens the
323 <link linkend="alarm-edit-dlg">Alarm Edit dialog</link> and sets the
324 file name.</para>
325 </listitem>
327 <listitem>
328 <para>You can automatically create birthday alarms for people in
329 &kaddressbook; as described in <link linkend="birthdays">Importing
330 Birthdays from &kaddressbook;</link>.</para>
331 </listitem>
333 </itemizedlist>
335 </sect2>
337 <sect2 id="edit-alarm">
338 <title>Modifying an Existing Alarm</title>
340 <para>To modify an existing pending alarm (expired alarms cannot be
341 amended), do one of the following:</para>
343 <itemizedlist>
344 <listitem>
345 <para>Double click on its entry in the alarm list.</para>
346 </listitem>
348 <listitem>
349 <para>Select it by clicking on its entry in the alarm list. Then
350 choose <menuchoice><guimenu>Actions</guimenu>
351 <guimenuitem>Edit</guimenuitem></menuchoice>.</para>
352 </listitem>
354 <listitem>
355 <para><mousebutton>Right</mousebutton> click on its entry in the alarm
356 list and choose
357 <menuchoice><guimenuitem>Edit</guimenuitem></menuchoice> from the
358 context menu.</para>
359 </listitem>
360 </itemizedlist>
362 <para>This displays the <link linkend="alarm-edit-dlg">Alarm Edit
363 dialog</link>.</para>
365 </sect2>
367 <sect2>
368 <title>Deleting/Reactivating an Alarm</title>
370 <para>To delete existing alarms, do one of the following:</para>
372 <itemizedlist>
373 <listitem>
374 <para>Select one or more alarms by clicking on their entries in the
375 alarm list. Then choose <menuchoice>
376 <guimenu>Actions</guimenu><guimenuitem>Delete</guimenuitem>
377 </menuchoice>.</para>
378 </listitem>
379 <listitem>
380 <para><mousebutton>Right</mousebutton> click on the desired entries in
381 the alarm list and choose
382 <menuchoice><guimenuitem>Delete</guimenuitem></menuchoice>
383 from the context menu.</para>
384 </listitem>
385 </itemizedlist>
387 <para>When you delete an active alarm, it is archived, provided that
388 it has triggered at least once before being deleted, and provided that
389 expired alarms are archived at all. (Use the
390 <link linkend="preferences-storage">Preferences dialog</link> to
391 control whether and for how long archived alarms are stored.) When you
392 delete an archived alarm, or an active alarm which has not yet
393 triggered, it is removed permanently.</para>
395 <para>You can reactivate a deleted alarm from the archived alarms list,
396 provided that it has not yet expired. To do this, first display
397 archived alarms, as described in
398 <link linkend="expired">Archived Alarms</link>. Then:</para>
400 <itemizedlist>
401 <listitem>
402 <para>Select one or more appropriate archived alarms by clicking on
403 their entries in the alarm list. Then choose <menuchoice>
404 <guimenu>Actions</guimenu><guimenuitem>Reactivate</guimenuitem>
405 </menuchoice>.</para>
406 </listitem>
407 <listitem>
408 <para><mousebutton>Right</mousebutton> click on the desired entries in
409 the archived alarm list and choose
410 <menuchoice><guimenuitem>Reactivate</guimenuitem></menuchoice>
411 from the context menu.</para>
412 </listitem>
413 </itemizedlist>
415 </sect2>
417 <sect2>
418 <title>Enabling/Disabling an Alarm</title>
420 <para>See <link linkend="enable-disable">Enabling and Disabling Alarms</link>
421 for how to enable and disable alarms, either individually or as a whole.</para>
423 </sect2>
425 <sect2>
426 <title>Viewing an Alarm</title>
428 <para>To view an existing alarm without the ability to modify it, do
429 one of the following:</para>
431 <itemizedlist>
432 <listitem>
433 <para>Select it by clicking on its entry in the alarm list. Then choose
434 <menuchoice>
435 <guimenu>Actions</guimenu><guimenuitem>View</guimenuitem>
436 </menuchoice>.</para>
437 </listitem>
438 <listitem>
439 <para><mousebutton>Right</mousebutton> click on its entry in the alarm
440 list and choose
441 <menuchoice><guimenuitem>View</guimenuitem></menuchoice>
442 from the context menu.</para>
443 </listitem>
444 </itemizedlist>
446 <para>This displays the <link linkend="alarm-edit-dlg">Alarm Edit
447 dialog</link> in read-only mode.</para>
449 </sect2>
451 <sect2>
452 <title>Acknowledging an Alarm</title>
454 <para>See <link linkend="message-window">Alarm Message Window</link>
455 for how to acknowledge alarms.</para>
457 </sect2>
459 <sect2 id="templates">
460 <title>Alarm Templates</title>
462 <para>If you frequently want to set up similar alarms, you can create
463 an alarm template to avoid having to enter all the details from
464 scratch each time. A template can contain all the details which an
465 alarm can contain, apart from the start date.</para>
467 <para>As an example, you may regularly want to set an
468 alarm to remind you about a television program whose time varies
469 from week to week. The template would contain all the alarm details
470 (message text, whether to play a sound, &etc;) except for the time and
471 date. Now, to create the alarm, all you need to do is open the
472 <link linkend="alarm-edit-dlg">Alarm Edit dialog</link> with that
473 template and then enter the time and date.</para>
475 <para>To create an alarm based on a template, open the
476 <link linkend="alarm-edit-dlg">Alarm Edit dialog</link> preset with
477 the template details:</para>
479 <itemizedlist>
480 <listitem>
481 <para>Select the <menuchoice>
482 <guimenu>Actions</guimenu><guimenuitem>New From Template</guimenuitem>
483 </menuchoice> menu item, and then select the desired template.</para>
484 </listitem>
486 <listitem>
487 <para><mousebutton>Right</mousebutton> click on the system tray icon
488 and choose
489 <menuchoice><guimenuitem>New Alarm From Template</guimenuitem></menuchoice>
490 from the context menu. Then select the desired template.</para>
491 </listitem>
493 <listitem>
494 <para>Open the <link linkend="alarm-edit-dlg">Alarm Edit dialog</link>
495 in the usual way, and click the
496 <guibutton>Load Template...</guibutton> button to select a template to
497 preset the dialog with.</para>
498 </listitem>
499 </itemizedlist>
501 <sect3>
502 <title>Configuring Templates</title>
504 <para>You can create, modify or delete templates using the Alarm
505 Templates dialog, or you can create a new alarm template based on an
506 existing alarm.</para>
508 <para>To create a new alarm template, do one of the following:</para>
510 <itemizedlist>
511 <listitem>
512 <para>Display the Alarm Templates dialog by selecting the <menuchoice>
513 <guimenu>File</guimenu><guimenuitem>Templates...</guimenuitem>
514 </menuchoice> menu item, clicking <guibutton>New</guibutton>, and
515 choosing the alarm type from the list which appears. This displays a
516 blank Template Edit dialog.</para>
517 </listitem>
519 <listitem>
520 <para>Display the Alarm Templates dialog by selecting the <menuchoice>
521 <guimenu>File</guimenu><guimenuitem>Templates...</guimenuitem>
522 </menuchoice> menu item, select an existing template from the list and
523 click <guibutton>Copy</guibutton>. This opens the Template Edit dialog
524 already filled in with a copy of the existing template's
525 details.</para>
526 </listitem>
528 <listitem>
529 <para>Highlight an alarm in the alarm list and select <menuchoice>
530 <guimenu>Actions</guimenu><guimenuitem>Create template</guimenuitem>
531 </menuchoice>. This opens the Template Edit dialog already filled in
532 with a copy of the selected alarm's details.</para>
533 </listitem>
534 </itemizedlist>
536 <para>To modify an existing template, display the Alarm Templates
537 dialog by selecting the <menuchoice>
538 <guimenu>File</guimenu><guimenuitem>Templates...</guimenuitem>
539 </menuchoice> menu item and click <guibutton>Edit</guibutton>. This
540 displays the Template Edit dialog which is described below.</para>
542 <para>To delete existing templates, display the Alarm Templates
543 dialog by selecting the <menuchoice>
544 <guimenu>File</guimenu><guimenuitem>Templates...</guimenuitem>
545 </menuchoice> menu item, select one or more templates and click
546 <guibutton>Delete</guibutton>. A confirmation prompt is issued to
547 prevent accidental deletions.</para>
549 </sect3>
551 <sect3>
552 <title>Template Edit Dialog</title>
554 <para>The Template Edit dialog is similar to the
555 <link linkend="alarm-edit-dlg">Alarm Edit dialog</link>. The
556 following controls are different:</para>
558 <itemizedlist>
559 <listitem>
560 <para>Enter the template's name in <guilabel>Template name</guilabel>.
561 It is the template's name which is displayed in template selection
562 lists, so it is best to choose a name which will remind you of its
563 function. Each template's name must be unique.</para>
564 </listitem>
566 <listitem>
567 <para>In the <guilabel>Time</guilabel> group box, select one of:</para>
569 <itemizedlist>
570 <listitem>
571 <para><guilabel>Default time</guilabel> if you do not wish to specify
572 any trigger time. Alarms based on this template will initially
573 use the normal default trigger time for new alarms.</para>
574 </listitem>
576 <listitem>
577 <para>Check <guilabel>Time</guilabel> to enter a time when the alarm
578 is to be triggered.</para>
579 </listitem>
581 <listitem>
582 <para>Check <guilabel>Any time</guilabel> to specify that the alarm
583 should only have a date, not a time.</para>
584 </listitem>
586 <listitem>
587 <para>Check <guilabel>Time from now</guilabel> to enter how long (in
588 hours and minutes) after the alarm is created, that it should be
589 triggered.</para>
590 </listitem>
591 </itemizedlist>
592 </listitem>
594 <listitem>
595 <para>In the <guilabel>Recurrence Rule</guilabel> group box in the
596 <guilabel>Recurrence</guilabel> tab, no day or month need be selected
597 for weekly or yearly recurrences, respectively.</para>
598 </listitem>
599 </itemizedlist>
601 </sect3>
603 </sect2>
605 <sect2 id="resources">
606 <title>Alarm Resources</title>
608 <para>If you only use one computer and work independently, it may not
609 matter to you where &kalarm; stores its alarms. But if you need to
610 access alarms on more than one computer, or in more than one location
611 on your local computer, you can define <quote>alarm resources</quote>
612 to tell &kalarm; to use other alarm calendars additional to, or in
613 place of, its default ones.</para>
615 <para>You can view and manipulate resources via the resource list,
616 which can be displayed alongside the alarm list in &kalarm;'s main
617 window. Alarms from all alarm resources are shown merged together in
618 the alarm list. When you save a new alarm, you can set a configuration
619 option to determine whether it is automatically saved into the default
620 resource, or whether you will be prompted to choose a resource. When
621 you edit an existing alarm, it is automatically saved back into its
622 original alarm resource.</para>
624 <sect3>
625 <title>Resource Types and Options</title>
627 <para>Alarm resources are categorized by alarm type and storage type.
628 They can be disabled, set read-only, or made the default resource for
629 their alarm type.</para>
631 <variablelist>
632 <varlistentry>
633 <term>Alarm type</term>
634 <listitem>
635 <para>The three alarm entity types &ndash; active alarms, archived
636 alarms and alarm templates &ndash;
637 are stored in separate alarm resources. &kalarm; therefore has three
638 standard default resources, one for each type (see
639 <link linkend="faq">Questions and Answers</link> for details), which
640 you can change if you wish.</para>
641 </listitem>
642 </varlistentry>
644 <varlistentry>
645 <term>Storage type</term>
646 <listitem>
647 <para>&kalarm; handles three alarm resource storage
648 types:</para>
650 <itemizedlist>
651 <listitem><para>Local file: Alarms are stored in a single local file
652 in iCalendar format. &kalarm; uses local file resources by default
653 (see <link linkend="faq">Questions and Answers</link> for details).
654 <quote>Local files</quote>, in addition to files on the local
655 computer, can include alarm calendars on the local network as long as
656 their location can be represented by a path name starting with
657 <literal>/</literal>.</para>
658 </listitem>
660 <listitem><para>Local directory: Alarms are stored in a local folder,
661 each alarm being stored in a separate iCalendar file within the
662 folder. This storage method has the advantage that in the event of
663 file corruption, you should lose only one alarm, not the entire
664 calendar.</para>
665 </listitem>
667 <listitem><para>Remote file: Alarms are stored in a single remote
668 file in iCalendar format. This storage method allows you to access
669 your alarm data remotely no matter where you are, or enables alarm
670 calendars to be viewed by other people. When using remote files,
671 &kalarm; works with a local cache of the data.</para>
673 <warning><para>If a remote alarm calendar is shared between users,
674 changes made by one person may not be automatically made available to
675 another user, or there could be a time delay before the other user
676 sees it. So one user could make a change which is then overwritten by
677 another user without either person noticing what has happened. The
678 technical reason for this is that a change made by person A will only
679 be available to person B after person A's cached copy has first been
680 saved to the remote file, and then person B's cached copy
681 of the remote file has been reloaded. When and if the calendar is
682 saved and reloaded depends on the resource configuration parameters
683 which each user has set for that alarm calendar.</para>
685 <para>Ways to avoid this problem include adjusting the resource save
686 and reload configuration parameters, or adopting a policy that users
687 other than the alarm calendar's owner should open it in read-only
688 mode.</para></warning>
689 </listitem>
690 </itemizedlist>
691 </listitem>
692 </varlistentry>
694 <varlistentry>
695 <term>Enabled/disabled status</term>
696 <listitem>
697 <para>Disabling a resource has the same
698 effect as removing it, except that it still appears in the resource
699 list for easy re-enabling. When disabled, its alarms are ignored and
700 do not appear in the alarm list or list of templates. When it is
701 re-enabled, its alarms are once again shown and, if it is an active
702 alarm resource, made active.</para>
703 </listitem>
704 </varlistentry>
706 <varlistentry>
707 <term>Read-only status</term>
708 <listitem>
709 <para>A read-only resource's alarms cannot be
710 changed or added to. So you cannot edit its alarms, or save new alarms
711 to it. Also, it is not possible to defer its alarms, since to do so
712 would need the deferral time to be saved into the alarm. After its
713 alarms trigger, they are not removed from the resource and archived
714 until you or another user accesses the resource in read-write
715 mode.</para>
717 <para>You can set the read-only status of a resource in the resource
718 configuration dialog. However, some resources cannot be made
719 writeable, for various reasons:</para>
721 <itemizedlist>
722 <listitem><para>If a resource was created by another application, it
723 would be unsafe to allow &kalarm; to update it, since differences in
724 data format might make it unusable by the creating application.</para>
725 </listitem>
727 <listitem><para>If the resource was created by a later version of
728 &kalarm;, data might be lost if your version of &kalarm; updated
729 it.</para>
730 </listitem>
732 <listitem><para>If the resource was created by a previous version of
733 &kalarm;, data could be lost or it could be made unusable for the
734 previous &kalarm; version if your version of &kalarm; updated it. You
735 will be prompted whether to convert its format so as to make it
736 writeable, bearing in mind the potential compatibility problems if the
737 previous &kalarm; version needs to access it again.</para>
738 </listitem>
740 <listitem><para>If you do not have permission to write to the
741 resource file or folder.</para>
742 </listitem>
743 </itemizedlist>
745 <para>If you need write access to alarms in a resource which cannot be
746 made writeable, you can copy its alarms by importing them into a
747 writeable resource using the latter resource's
748 <menuchoice><guimenuitem>Import...</guimenuitem></menuchoice> context
749 menu option (see <link linkend="import">Importing Alarms from External
750 Calendars</link>).</para>
751 </listitem>
752 </varlistentry>
754 <varlistentry>
755 <term>Default resource status</term>
756 <listitem>
757 <para>One resource of each alarm type can optionally be made the
758 default resource for that alarm type. New alarms are automatically
759 saved to the default resource for the appropriate alarm type, unless
760 you have selected the prompt option for new alarms and templates in the
761 <link linkend="preferences-storage">Preferences dialog</link>.</para>
762 </listitem>
763 </varlistentry>
764 </variablelist>
766 </sect3>
768 <sect3>
769 <title>Using Resources</title>
771 <para>You can view and manipulate resources via the resource list,
772 which can be displayed or hidden by <menuchoice>
773 <guimenu>View</guimenu><guimenuitem>Show Resources</guimenuitem>
774 </menuchoice>. When using the resource list, first select the alarm
775 type using the combo box above the list. Then either click on one of
776 the buttons below the list, or <mousebutton>Right</mousebutton> click
777 on the appropriate resource in the list and choose an item from the
778 context menu. The actions available are:</para>
780 <variablelist>
781 <varlistentry>
782 <term><menuchoice><guimenuitem>Add...</guimenuitem></menuchoice></term>
783 <listitem>
784 <para>Add a resource of the selected type to the list. You are asked
785 to choose a storage type, following which the resource configuration
786 dialog is displayed, where you can enter the location of the resource
787 and its characteristics. If there is no existing alarm resource in
788 the specified location, a new one will be created.</para>
789 </listitem>
790 </varlistentry>
792 <varlistentry>
793 <term><menuchoice><guimenuitem>Remove</guimenuitem></menuchoice></term>
794 <listitem>
795 <para>Remove the selected resource from the list. The resource itself
796 is left intact; it is simply removed from the list, and may
797 subsequently be reinstated in the list if desired.</para>
798 </listitem>
799 </varlistentry>
801 <varlistentry>
802 <term><menuchoice><guimenuitem>Edit...</guimenuitem></menuchoice></term>
803 <listitem>
804 <para>Edit the selected resource. This displays the configuration
805 dialog for the selected resource.</para>
806 </listitem>
807 </varlistentry>
809 <varlistentry>
810 <term><menuchoice><guimenuitem>Reload</guimenuitem></menuchoice></term>
811 <listitem>
812 <para>Reload the selected resource. The resource is re-read from its
813 storage location, ensuring that there is no discrepancy between what
814 &kalarm; displays and the current state of the resource. If the
815 resource is shared with other users, any changes which they have made
816 will now be seen by &kalarm;.</para>
818 <warning><para>If you reload a remote resource, any changes to alarms
819 which you have made since the resource was last saved will be lost.
820 Also, any alarms which have expired since the last save may be
821 retriggered.</para></warning>
822 </listitem>
823 </varlistentry>
825 <varlistentry>
826 <term><menuchoice><guimenuitem>Save</guimenuitem></menuchoice></term>
827 <listitem>
828 <para>Save any changes to the selected resource. The resource is
829 updated with any alarm changes which have occurred since the last time
830 the resource was saved or reloaded. This is only useful for remote
831 resources, since local resources are automatically saved after every
832 change. You can configure when and how frequently a remote resource
833 should be automatically saved, using its configuration dialog (via
834 the <menuchoice><guimenuitem>Edit...</guimenuitem></menuchoice>
835 context menu option).</para>
837 <warning><para>If you save a remote resource which is shared with other
838 users, any changes which they have made since you last reloaded the
839 resource (automatically or manually) will be lost.</para></warning>
840 </listitem>
841 </varlistentry>
843 <varlistentry>
844 <term><menuchoice><guimenuitem>Import...</guimenuitem></menuchoice></term>
845 <listitem>
846 <para>Import alarms from an external calendar file into the selected
847 resource. This is described in
848 <link linkend="import">Importing Alarms from External Calendars</link>.
849 This option is not available for disabled or read-only
850 resources.</para>
851 </listitem>
852 </varlistentry>
854 <varlistentry>
855 <term><menuchoice><guimenuitem>Show Details</guimenuitem></menuchoice></term>
856 <listitem>
857 <para>Display details about the selected resource. This shows the
858 resource's location, storage type and status information.
859 </para>
860 </listitem>
861 </varlistentry>
863 <varlistentry>
864 <term><menuchoice><guimenuitem>Use as Default</guimenuitem></menuchoice></term>
865 <listitem>
866 <para>Make the selected resource the default resource for the selected
867 resource type. This option is not available for disabled or read-only
868 resources.</para>
869 </listitem>
870 </varlistentry>
872 <varlistentry>
873 <term><menuchoice><guimenuitem>Set Color...</guimenuitem></menuchoice></term>
874 <listitem>
875 <para>Select a background color for highlighting this resource's alarms
876 in the alarm list. This enables you to see at a glance which alarms
877 belong to a particular resource.</para>
878 </listitem>
879 </varlistentry>
881 <varlistentry>
882 <term><menuchoice><guimenuitem>Clear Color</guimenuitem></menuchoice></term>
883 <listitem>
884 <para>Clear color highlighting for this resource's alarms in the alarm
885 list.</para>
886 </listitem>
887 </varlistentry>
888 </variablelist>
890 </sect3>
892 </sect2>
894 <sect2 id="import">
895 <title>Importing Alarms from External Calendars</title>
897 <para>You can import alarms from other calendar files into &kalarm;.
898 The import function scans the selected calendar
899 file for events containing alarms, and copies them (with new unique
900 IDs) into &kalarm;'s calendar. Events without alarms, and calendar
901 entries other than events, are ignored. There are two ways to import
902 alarms:</para>
904 <itemizedlist>
905 <listitem>
906 <para>Use <menuchoice><guimenu>File</guimenu>
907 <guimenuitem>Import Alarms...</guimenuitem></menuchoice> to import
908 alarms of all types (active alarms, archived alarms and alarm
909 templates) from the calendar.</para>
911 <para>If you have configured
912 <link linkend="resources">alarm resources</link>, alarms of each type
913 will be added to the appropriate default resource, or if you have
914 selected the prompt option for new alarms and templates in the
915 <link linkend="preferences-storage">Preferences dialog</link>, you will
916 be prompted for the resource to use.</para>
917 </listitem>
919 <listitem>
920 <para><mousebutton>Right</mousebutton> click on a resource in the
921 resource list, and choose
922 <menuchoice><guimenuitem>Import...</guimenuitem></menuchoice> from the
923 context menu. This imports alarms of the currently selected type into
924 that resource. For example, if the selected resource type is alarm
925 templates, alarm templates (and not active alarms or archived alarms)
926 will be imported.</para>
927 </listitem>
928 </itemizedlist>
930 <warning><para>If you import alarms from calendar files which were
931 created by applications other than &kalarm;, the alarms may be changed
932 by the import process &ndash; even alarm times may change. This depends
933 on the data storage conventions used by the other application, and is
934 unavoidable if those conventions differ from what &kalarm; expects.
935 Always check imported alarms for unexpected changes, and adjust them
936 as necessary.</para></warning>
938 </sect2>
940 <sect2 id="birthdays">
941 <title>Importing Birthdays from &kaddressbook;</title>
943 <para>You can set up display alarms for birthdays stored in
944 &kaddressbook;, by <menuchoice><guimenu>File</guimenu>
945 <guimenuitem>Import Birthdays...</guimenuitem></menuchoice>. This
946 displays a dialog which allows you to select which birthdays to create
947 alarms for.</para>
949 <itemizedlist>
950 <listitem>
951 <para>In the <guilabel>Alarm Text</guilabel> group box, you can set up
952 the text to be displayed in the birthday alarm messages. The message
953 text is created by combining the <guilabel>Prefix</guilabel> text
954 followed by the person's name followed by the
955 <guilabel>Suffix</guilabel> text. No spaces are added, so remember to
956 include any necessary trailing space in <guilabel>Prefix</guilabel>
957 and leading space in <guilabel>Suffix</guilabel>.</para>
959 <note><para>If you change the alarm text, the birthday selection list
960 will be re-evaluated.</para></note>
961 </listitem>
963 <listitem>
964 <para>In the <guilabel>Select Birthdays</guilabel> list, select the
965 birthdays which you want to create alarms for. Note that the list
966 shows only those entries in &kaddressbook; which contain a birthday
967 and which do not already have a birthday alarm in the format currently
968 defined in the <guilabel>Alarm Text</guilabel> group box.</para>
969 </listitem>
971 <listitem>
972 <para>The remaining controls are the same as for
973 <guilabel>Text</guilabel> alarms in the
974 <link linkend="alarm-edit-dlg">Alarm Edit dialog</link>.</para>
975 </listitem>
976 </itemizedlist>
978 <para>If you have configured
979 <link linkend="resources">alarm resources</link>, the alarms will be
980 added to the default active alarm resource, or if you have selected the
981 prompt option for new alarms and templates in the
982 <link linkend="preferences-storage">Preferences dialog</link>, you will
983 be prompted for the resource to use.</para>
985 </sect2>
987 <sect2 id="undo">
988 <title>Undo / Redo</title>
990 <para>You can undo and redo the most recent changes which you have
991 made during the current session of &kalarm;. Most actions can be
992 undone, including creation, edit and deletion of alarms and alarm
993 templates, and reactivation of alarms. To prevent excessive resources
994 being used by the undo history, the number of changes stored is
995 limited to the last 12.</para>
997 <para>To undo the last change, select <menuchoice>
998 <guimenu>Edit</guimenu><guimenuitem>Undo</guimenuitem></menuchoice>.
999 To redo the last change which was undone, select <menuchoice>
1000 <guimenu>Edit</guimenu><guimenuitem>Redo</guimenuitem>
1001 </menuchoice>.</para>
1003 <para>To undo a change other than the last one, click on the
1004 <guibutton>Undo</guibutton> button in the toolbar and hold the mouse
1005 button down. A list of actions will be displayed from which you can
1006 choose the one to undo. If you don't see the action which you are
1007 looking for, remember that you may need to undo more recent changes
1008 first, which the desired change depends on. For example, if you edited
1009 an alarm and then deleted it, you cannot undo the edit until you have
1010 first undone the deletion.</para>
1012 <para>Redoing a change other than the last one can be done in a
1013 similar manner, using the <guibutton>Redo</guibutton> toolbar
1014 button.</para>
1016 </sect2>
1017 </sect1>
1019 <sect1 id="alarm-edit-dlg">
1020 <title>The Alarm Edit Dialog</title>
1022 <para>The Alarm Edit dialog enables you to view and edit an
1023 alarm.</para>
1025 <screenshot>
1026 <screeninfo>Screenshot of the Alarm Edit dialog</screeninfo>
1027 <mediaobject>
1028 <imageobject>
1029 <imagedata fileref="editwindow.png" format="PNG"/>
1030 </imageobject>
1031 <textobject>
1032 <phrase>Alarm Edit dialog for a display alarm</phrase>
1033 </textobject>
1034 </mediaobject>
1035 </screenshot>
1037 <sect2>
1038 <title>Alarm Action</title>
1040 <para>The controls in the <guilabel>Action</guilabel> group box vary
1041 depending on the type of alarm being edited.</para>
1043 <sect3>
1044 <title>Display Alarms</title>
1046 <para>Display alarms display a window when the alarm triggers. Select
1047 the method used to generate the alarm window contents, using the combo
1048 box at the top:</para>
1050 <itemizedlist>
1051 <listitem>
1052 <para><guilabel>Text message</guilabel> in order to enter an alarm
1053 message text (which may include newlines) in the edit box.</para>
1054 </listitem>
1056 <listitem>
1057 <para><guilabel>File contents</guilabel> to enter the path or &URL; of
1058 a text or image file whose contents are to be displayed in the alarm
1059 message. Use the button beside the edit box to display a file selection
1060 dialog. The <guilabel>Speak</guilabel> option is not available for this
1061 type of alarm.</para>
1062 </listitem>
1064 <listitem>
1065 <para><guilabel>Command output</guilabel> to specify that the alarm
1066 message text will be generated by a command which is executed when the
1067 alarm triggers. See
1068 <link linkend="command-alarm">Command Alarms</link> below for details
1069 of how to enter the command or command script to execute.</para>
1070 </listitem>
1071 </itemizedlist>
1073 <para>The controls available for display alarms are:</para>
1075 <itemizedlist>
1076 <listitem>
1077 <para>The <guilabel>Sound</guilabel> option allows you to select
1078 whether an audible alarm should sound when the alarm message is
1079 displayed. Choose:</para>
1081 <itemizedlist>
1082 <listitem>
1083 <para><guilabel>None</guilabel> to display the alarm silently.</para>
1084 </listitem>
1086 <listitem>
1087 <para><guilabel>Beep</guilabel> to sound a beep.</para>
1088 </listitem>
1090 <listitem>
1091 <para><guilabel>Speak</guilabel> to have the alarm message spoken as
1092 well as being displayed. This option is only available if you have
1093 <application>KTTSD</application> (from the kdeaccessibility package)
1094 installed and configured, together with a compatible speech
1095 synthesizer, &eg; <application>Festival</application>.</para>
1096 </listitem>
1098 <listitem>
1099 <para><guilabel>Sound file</guilabel> to play an audio file. Use the
1100 button on the right to display the Sound File dialog which lets you
1101 select a file to play and set volume and repetition options. If you
1102 hover the mouse over the selector, a tooltip will display the audio file
1103 currently selected.</para>
1105 <para>In the Sound File dialog:</para>
1107 <itemizedlist>
1108 <listitem>
1109 <para>Enter the sound file path, or use the button beside the
1110 edit box to display a file selection dialog. You can listen to the
1111 selected file by clicking the play button to the left of the edit
1112 field. That button then changes function to allow you to stop playing
1113 when you have heard enough.</para>
1114 </listitem>
1116 <listitem>
1117 <para>Check <guilabel>Repeat</guilabel> to continually repeat the
1118 audio file for as long as the alarm is displayed. (The alarm message
1119 window contains a button to stop playing the sound should you need
1120 silence but still want to display the alarm.)</para>
1121 </listitem>
1123 <listitem>
1124 <para>Check <guilabel>Volume</guilabel> and adjust the slider
1125 control if you want to adjust the volume at which the audio file is
1126 played.</para>
1127 </listitem>
1129 <listitem>
1130 <para>If you wish, you can fade the volume. Fading means to start
1131 playing the audio file at one volume and gradually change to the final
1132 volume, over a specified time interval. The final volume is that
1133 entered in <guilabel>Volume</guilabel> above. To enable fade, check
1134 <guilabel>Fade</guilabel>, and then enter the fade period in seconds
1135 in the <guilabel>Fade time</guilabel> field, and adjust the
1136 <guilabel>Initial volume</guilabel> slider.</para>
1137 </listitem>
1138 </itemizedlist>
1140 <tip><para>You can use the <guibutton>Try</guibutton> button to test out
1141 the selected sound levels.</para></tip>
1142 </listitem>
1143 </itemizedlist>
1144 </listitem>
1146 <listitem>
1147 <para>Use the <guibutton>Font &amp; Color...</guibutton> button to
1148 select a font, and foreground and background colors, for the alarm
1149 message. In the <guilabel>Choose Alarm Font &amp; Color</guilabel>
1150 dialog, check <guilabel>Use default font</guilabel> to display the
1151 message in whatever font is configured as the default at the time
1152 the message is displayed. To choose a specific font for the message,
1153 uncheck <guilabel>Use default font</guilabel>. (The default font, and
1154 the colors shown in the color selection lists, can be set in the
1155 <link linkend="preferences-fontcolour">Preferences dialog</link>.)</para>
1157 <para>The selected font and colors are shown in a sample text
1158 alongside the button. You can edit this text to show special
1159 characters.</para>
1160 </listitem>
1162 <listitem>
1163 <para>Use the <guibutton>Special Actions...</guibutton> button to
1164 specify shell commands to execute before or after displaying the
1165 alarm. In the <guilabel>Special Alarm Actions</guilabel>
1166 dialog:</para>
1168 <itemizedlist>
1169 <listitem>
1170 <para>In the <guilabel>Pre-alarm action</guilabel> field, enter a
1171 shell command to execute before the alarm is displayed. Note that
1172 &kalarm; will wait for the command to complete before displaying the
1173 alarm.</para>
1175 <para>A pre-alarm action is only executed once when the alarm message
1176 is initially displayed, including when a reminder message is replaced
1177 by the actual alarm message. It is <emphasis>not</emphasis> executed
1178 in any of the following circumstances:</para>
1180 <itemizedlist>
1181 <listitem><para>When a reminder message is displayed.</para></listitem>
1182 <listitem><para>When the message is redisplayed after deferring the
1183 alarm.</para></listitem>
1184 <listitem><para>When the message was displaying at the time you logged
1185 off and is then restored when you log back in.</para></listitem>
1186 <listitem><para>When a recurring alarm triggers but the alarm message
1187 (or a deferred alarm message) from a previous occurrence of the alarm
1188 is still visible; in other words, when the previous occurrence of the
1189 alarm has not yet been acknowledged.</para></listitem>
1190 </itemizedlist>
1191 </listitem>
1193 <listitem>
1194 <para>In the <guilabel>Post-alarm action</guilabel> field, enter a
1195 shell command to execute when the alarm is acknowledged (whether by
1196 clicking <guibutton>Close</guibutton> or by using the close button
1197 in the window's titlebar). It is <emphasis>not</emphasis>
1198 executed in any of the following circumstances:</para>
1200 <itemizedlist>
1201 <listitem><para>When a reminder message is closed.</para></listitem>
1202 <listitem><para>When you defer the alarm, except when the deferred
1203 alarm is finally acknowledged.</para></listitem>
1204 <listitem><para>When the alarm message is closed due to logging
1205 out.</para></listitem>
1206 </itemizedlist>
1207 </listitem>
1208 </itemizedlist>
1210 <para>See <link linkend="command-alarm">Command Alarms</link> below
1211 for details of how shell commands are executed.</para>
1213 </listitem>
1214 </itemizedlist>
1215 </sect3>
1217 <sect3 id="command-alarm">
1218 <title>Command Alarms</title>
1220 <para>Command alarms execute a command without displaying any alarm
1221 message.</para>
1223 <note><para>This alarm type is not available if &kde; is running in
1224 kiosk mode.</para></note>
1226 <para>The controls available for command alarms are:</para>
1228 <itemizedlist>
1229 <listitem>
1230 <para>The <guilabel>Enter a script</guilabel> check box lets you choose
1231 whether to enter a shell command line or a script.</para>
1233 <para>If this option is unchecked, you can enter a shell command line
1234 to execute. The command is passed straight to the default shell (defined
1235 by the <envar>SHELL</envar> environment variable), and may include
1236 whatever options, parameters, piped commands, &etc; are permitted by
1237 the shell in a single line command.</para>
1239 <para>If this option is checked, you can enter the text of a script to
1240 execute. Remember to include a first line such as
1241 <literal>#!/bin/bash</literal> to ensure that the correct command
1242 interpreter is invoked.</para>
1243 </listitem>
1245 <listitem>
1246 <para>Use the <guilabel>Command Output</guilabel> group box to specify
1247 what you want to be done with any terminal output which the command
1248 produces when it executes.</para>
1250 <itemizedlist>
1251 <listitem>
1252 <para>Check <guilabel>Execute in terminal window</guilabel> to cause
1253 the command to be executed in a terminal window. You can choose
1254 which type of terminal window should be used in the
1255 <link linkend="preferences-general">Preferences dialog</link>.</para>
1256 </listitem>
1258 <listitem>
1259 <para>Check <guilabel>Log to file</guilabel> to save the command's
1260 output in a file. The output, prefixed by a heading showing the time
1261 at which the command was scheduled to run, will be appended to any
1262 existing contents of the file. Enter the file name in the edit box, or
1263 use the button beside the edit box to display a file selection
1264 dialog.</para>
1265 </listitem>
1267 <listitem>
1268 <para>Check <guilabel>Discard</guilabel> to throw away the command's
1269 output.</para>
1270 </listitem>
1271 </itemizedlist>
1272 </listitem>
1273 </itemizedlist>
1274 </sect3>
1276 <sect3>
1277 <title>Email Alarms</title>
1279 <para>Email alarms send an email without displaying any alarm
1280 message.</para>
1282 <para>Fill in the recipients' addresses, the email subject line and the
1283 message body in the three edit fields. Use the button beside the
1284 addressee edit box to display your &kde; address book from which you
1285 can select email recipients. Attachments may be added using the
1286 <guibutton>Add...</guibutton> button. Note that attached files must
1287 still exist when the alarm is triggered; no copy is stored at the time
1288 the alarm is configured. To remove an attachment, highlight it in the
1289 drop-down list and click the <guibutton>Remove</guibutton>
1290 button.</para>
1292 <para>Set the following options:</para>
1294 <itemizedlist>
1295 <listitem>
1296 <para>The <guilabel>From</guilabel> combo box allows you to select
1297 which &kmail; identity to use as your email address for sending the
1298 email. This option only appears if your <guilabel>From</guilabel>
1299 email address in the
1300 <link linkend="preferences-email">Preferences dialog</link> is set to
1301 <guilabel>Use &kmail; identities</guilabel>. Otherwise your email
1302 address is preset in the
1303 <link linkend="preferences-email">Preferences dialog</link>, rendering
1304 this option inapplicable.</para>
1305 </listitem>
1307 <listitem>
1308 <para>Check <guilabel>Copy email to self</guilabel> to send a blind
1309 copy of the email to yourself when the alarm is triggered. The email
1310 address to which the copy will be sent may be set in the
1311 <link linkend="preferences-email">Preferences dialog</link>, the
1312 default being your email address set in the &kde; System
1313 Settings.</para>
1314 </listitem>
1315 </itemizedlist>
1317 </sect3>
1318 </sect2>
1320 <sect2>
1321 <title>Deferral</title>
1323 <para>If the alarm is a recurring alarm and it was deferred after it
1324 was last displayed, the <guilabel>Deferred Alarm</guilabel> group box
1325 shows the time the alarm was deferred to.
1326 <guibutton>Change...</guibutton> displays a dialog which allows you to
1327 change the deferred time or to cancel the deferral.</para>
1329 </sect2>
1331 <sect2>
1332 <title>Time</title>
1334 <para>In the <guilabel>Time</guilabel> group box, select either</para>
1336 <itemizedlist>
1337 <listitem>
1338 <para><guilabel>At date/time</guilabel> to enter the date and time
1339 when the alarm is to be triggered. Check <guilabel>Any time</guilabel>
1340 if you want to specify only a date for the alarm: in this case the
1341 alarm will be displayed at the first opportunity on or after the
1342 configured start-of-day time, on the specified date.
1343 (<link linkend="preferences-time">Configuring &kalarm;</link>
1344 describes how to set the start-of-day time.)</para>
1346 <para>For a non-recurring alarm, the date/time which you enter must be
1347 in the future, or if you enter only a date it must be today or later.
1348 For a recurring alarm, there are no such restrictions since the start
1349 date/time will be automatically adjusted to the first recurrence due
1350 after the current time.</para>
1351 </listitem>
1353 <listitem>
1354 <para><guilabel>Time from now</guilabel> to enter how long after now
1355 (in hours and minutes) the alarm should be triggered.</para>
1356 </listitem>
1357 </itemizedlist>
1359 <para>Choose the time zone to apply to the alarm. This time zone is
1360 used for all dates and times relating to this alarm, including
1361 recurrence and exception dates and times. Normally, you should leave
1362 the time zone controls unchanged unless you have a good reason to
1363 change them.</para>
1365 <itemizedlist>
1366 <listitem>
1367 <para>In the combo box, choose the time zone which this alarm is to
1368 use. When creating a new alarm, this is initially set to the time zone
1369 selected in the
1370 <link linkend="preferences-time">Preferences dialog</link>, which
1371 will be your computer's time zone unless you have changed it.</para>
1372 </listitem>
1374 <listitem>
1375 <para>Check <guilabel>Ignore time zone</guilabel> if you want to use
1376 the local computer time (on whichever computer &kalarm; happens to be
1377 running on at the time), ignoring time zones.</para>
1379 <warning><para>You are recommended not to select this option if the
1380 alarm has a recurrence specified in hours and minutes; if you do, the
1381 alarm may occur at unexpected times after daylight saving time
1382 shifts.</para></warning>
1383 </listitem>
1384 </itemizedlist>
1386 </sect2>
1388 <sect2>
1389 <title>Reminder</title>
1391 <para>For a display alarm, check <guilabel>Reminder</guilabel> if you
1392 want to display a reminder in advance of the main alarm and of each of
1393 its recurrences (if any). Enter how long in advance using the edit
1394 controls beside the check box.</para>
1396 <note><para>Reminders are not displayed for sub-repetitions within a
1397 recurrence. Reminders are only shown before each main
1398 recurrence of the alarm.</para></note>
1400 <para>If the alarm recurs, check <guilabel>Reminder for first
1401 recurrence only</guilabel> if you only want a reminder before the
1402 alarm's first recurrence. If this is not checked, the reminder period
1403 is limited to being less than the recurrence interval.</para>
1405 </sect2>
1407 <sect2>
1408 <title>Cancelation</title>
1410 <para>The late-cancelation options determine how an alarm is treated
1411 after its scheduled time:</para>
1413 <itemizedlist>
1414 <listitem>
1415 <para>The <guilabel>Cancel if late</guilabel> check box determines what
1416 happens if the alarm cannot be triggered at its scheduled time.</para>
1418 <para>Check this box to cancel the alarm if it cannot be triggered
1419 within a specified time period after the right time. The time period
1420 is selected using controls which appear when you check the box. For
1421 example, if you enter a time period of 1 hour, the alarm will be
1422 triggered at the first opportunity up to an hour after it is due, but
1423 if it cannot be triggered within an hour its activation will be
1424 canceled.</para>
1426 <note><para>The lateness of date-only alarms, &ie; ones for which the
1427 <guilabel>Any time</guilabel> option is selected, is calculated from
1428 the start-of-day time on the alarm's scheduled date.</para></note>
1430 <para>Leave the box unchecked to trigger the alarm at the first
1431 opportunity starting at the scheduled time, regardless of how late it
1432 is.</para>
1434 <note><para>An alarm can only be triggered while you are logged in,
1435 and while both X and &kalarm; are running.</para></note>
1436 </listitem>
1438 <listitem>
1439 <para>Check <guilabel>Auto-close window after this time</guilabel> if
1440 you want the alarm window to be automatically closed if it is still
1441 showing at the expiry of the late-cancelation time.</para>
1442 </listitem>
1443 </itemizedlist>
1445 </sect2>
1447 <sect2>
1448 <title>Recurrence</title>
1450 <para>Specify whether or how the alarm should be repeated using the
1451 <guilabel>Recurrence</guilabel> tab.</para>
1453 <note><para>The alarm's basic repetition characteristics are displayed
1454 for convenience in the title of the <guilabel>Recurrence</guilabel>
1455 tab. The recurrence interval is shown first, followed by any
1456 sub-repetition interval set up using the
1457 <guibutton>Sub-Repetition</guibutton> button.</para></note>
1459 <para>In the <guilabel>Recurrence Rule</guilabel> group box, set the
1460 recurrence type or time period as follows:</para>
1462 <itemizedlist>
1463 <listitem><para>To trigger the alarm once only, select <guilabel>No
1464 recurrence</guilabel>.</para></listitem>
1466 <listitem><para>Select <guilabel>At login</guilabel> to trigger the
1467 alarm whenever you log in, until its scheduled end time. Then, at its
1468 scheduled end time it will finally be triggered one last time. (Note
1469 that an alarm repeated at login will also be triggered any time you
1470 restart &kalarm;.)</para></listitem>
1472 <listitem>
1473 <para>To make the alarm recur at regular intervals, select one of the
1474 time period types and then enter in the
1475 <guilabel>Recur every</guilabel> box how many time periods should
1476 elapse between recurrences. For example, to repeat
1477 every fortnight, you could select <guilabel>Daily</guilabel> and enter
1478 a value of 14, or select <guilabel>Weekly</guilabel> and enter a value
1479 of 2. Depending on the time period type selected, you may have further
1480 options:</para>
1482 <itemizedlist>
1483 <listitem>
1484 <para>For a weekly recurrence, check each day in the week on which you
1485 wish to trigger the alarm.</para>
1486 </listitem>
1488 <listitem>
1489 <para>For a monthly recurrence, you may select either a fixed date, or
1490 a position (&eg; the second Tuesday).</para>
1491 </listitem>
1493 <listitem>
1494 <para>For a yearly recurrence, you may select either a fixed day in
1495 the month, or a position in a month (&eg; the last Saturday in
1496 May). Check each month of the year in which you wish to trigger the
1497 alarm.</para>
1498 </listitem>
1499 </itemizedlist>
1501 <tip><para>To set a daily alarm to occur only on weekdays, use a
1502 weekly recurrence and check each weekday.</para></tip>
1504 </listitem>
1505 </itemizedlist>
1507 <para>In the <guilabel>Recurrence End</guilabel> group box, set the
1508 overall recurrence time span as follows:</para>
1510 <itemizedlist>
1511 <listitem><para>Select <guilabel>No end</guilabel> to continue the
1512 repetitions indefinitely.</para></listitem>
1514 <listitem><para>Select <guilabel>End after</guilabel> to specify the
1515 total number of occurrences of the alarm.</para></listitem>
1517 <listitem><para>Select <guilabel>End by</guilabel> to specify the
1518 date/time until which the alarm will be repeated. Note that this uses
1519 the same time zone as the alarm's start time.</para>
1521 <note><para>The end date/time determines when the last main recurrence
1522 will be, but does not limit sub-repetitions. If sub-repetitions are
1523 configured, they will trigger as normal after the last main recurrence,
1524 regardless of the end date/time.</para></note>
1525 </listitem>
1526 </itemizedlist>
1528 <para>If you wish to exclude certain date/times from the recurrence
1529 which you have set up, specify them in the
1530 <guilabel>Exceptions</guilabel> group box. The list of exceptions
1531 (&ie; excluded date/times) is shown on the left. To add a new
1532 exception, enter a date on the right and press
1533 <guibutton>Add</guibutton>. To change an exception, highlight it in
1534 the list, enter the new date on the right and press
1535 <guibutton>Change</guibutton>. To delete an exception, highlight it
1536 in the list and press <guibutton>Delete</guibutton>.</para>
1538 <para>You can restrict an alarm to occur only during working time by
1539 checking <guilabel>Only during working hours</guilabel>. This does not
1540 change the way the alarm is scheduled; it simply suppresses the alarm
1541 whenever it happens to trigger outside working hours. Work days and
1542 working hours are set in the
1543 <link linkend="preferences-time">Preferences dialog</link>.</para>
1545 <sect3>
1546 <title>Sub-Repetition</title>
1548 <para>You can use the <guibutton>Sub-Repetition</guibutton> button to
1549 set up a repetition within a repetition. In this case, each time the
1550 alarm is due as specified in the main recurrence, instead of being
1551 triggered just once it is triggered repeatedly in accordance with your
1552 sub-repetition specification. For example, to set up an alarm which
1553 repeats every hour from noon to 6 pm each Thursday, you would set up a
1554 weekly recurrence on Thursday at 12:00, and use the Sub-Repetition
1555 dialog to specify an interval of 1 hour and either a count of 6 or a
1556 duration of 6 hours.</para>
1558 <para>In the Sub-Repetition dialog which is displayed when you click
1559 the <guibutton>Sub-Repetition</guibutton> button, check
1560 <guilabel>Repeat every</guilabel> to set up a repetition, or uncheck
1561 it to remove the repetition. If <guilabel>Repeat every</guilabel> is
1562 checked, set up the repetition as follows:</para>
1564 <itemizedlist>
1565 <listitem><para>Enter the time interval between repetitions in the
1566 controls beside <guilabel>Repeat every</guilabel>. Select the desired
1567 time units (&eg; <guilabel>days</guilabel>) and then enter the number
1568 of units.</para>
1569 </listitem>
1571 <listitem><para>Specify either the repetition count or its
1572 duration:</para>
1574 <itemizedlist>
1575 <listitem><para>Select <guilabel>Number of times</guilabel> to enter
1576 how many times the alarm should be triggered after the main
1577 recurrence. So, for example, to make the alarm occur 4 times at each
1578 main recurrence, &ie; 3 additional times, you should enter 3
1579 here.</para>
1580 </listitem>
1582 <listitem><para>Select <guilabel>Duration</guilabel> to enter the
1583 total time period during which the alarm should be repeated. This need
1584 not be an exact multiple of the repetition interval; it will
1585 automatically be rounded down when you click
1586 <guibutton>OK</guibutton>.</para>
1587 </listitem>
1588 </itemizedlist>
1589 </listitem>
1590 </itemizedlist>
1592 <note><para>To prevent overlapping sub-repetitions for the same alarm,
1593 a sub-repetition's duration is restricted to be less than the longest
1594 interval between main recurrences. Each time the alarm recurs as
1595 specified in the main recurrence, any still active sub-repetition
1596 which started at the previous recurrence is automatically
1597 cancelled.</para></note>
1599 </sect3>
1600 </sect2>
1602 <sect2>
1603 <title>Other Controls</title>
1605 <para>For display alarms, the
1606 <guilabel>Confirm acknowledgment</guilabel> check box lets you specify
1607 whether you will be prompted for confirmation when you close the alarm
1608 message window. This may be used as a safeguard against accidental
1609 acknowledgment of alarms.</para>
1611 <para>Select <guilabel>Show in &korganizer;</guilabel> to add the
1612 alarm to &korganizer;'s active calendar, where it will appear as an
1613 event without an alarm. This option allows you to track alarms in
1614 &korganizer; while still making use of &kalarm;'s functions.</para>
1616 <note><para>If you later modify or delete the alarm in &kalarm;, the
1617 &korganizer; event will be modified or deleted correspondingly. But
1618 if you change the event in &korganizer;, the alarm in &kalarm; will
1619 not be affected.</para></note>
1621 <para>Press the <guibutton>Load Template</guibutton> button to select
1622 a template to preset the dialog with, as described in <link
1623 linkend="create-edit">Creating and Manipulating Alarms</link>. </para>
1625 <para>Press the <guibutton>Try</guibutton> button to test the alarm
1626 and check whether it works correctly. The alarm is executed just as
1627 if it had been scheduled in the normal way.</para>
1629 <para>Press the <guibutton>OK</guibutton> button
1630 when all details are correct, to add the alarm to the scheduled
1631 list.</para>
1633 </sect2>
1634 </sect1>
1636 <sect1 id="message-window">
1637 <title>Alarm Message Window</title>
1639 <para>When an alarm message is due, it is displayed on each &kde;
1640 desktop and cannot be covered by ordinary windows, to ensure that
1641 you see it. The message window shows the time for which the alarm was
1642 scheduled, so that you can see when it popped up if you were away from
1643 the computer at the time. If the alarm's scheduled time is in a
1644 different time zone from your local computer's setting, its time zone
1645 will also be displayed. (For reminder messages, the date/time shown is
1646 that for the main alarm or its recurrence, not the reminder message
1647 time, and the window title is <quote>Reminder</quote>.)</para>
1649 <para>Alarm message windows remain visible until you acknowledge them,
1650 unless <guilabel>Auto-close window after late-cancelation
1651 time</guilabel> was checked in the <link
1652 linkend="alarm-edit-dlg">Alarm Edit dialog</link>. In the case of a
1653 recurring alarm, if an unacknowledged message window remains from a
1654 previous occurrence of the alarm, the existing window is simply popped
1655 up when the alarm recurs. This avoids having to acknowledge multiple
1656 copies of the same message should you not wish, or be unable, to
1657 acknowledge a message at the time it appears.</para>
1659 <para>The alarm message window provides whichever of the following
1660 options are applicable to the displayed alarm:</para>
1662 <itemizedlist>
1663 <listitem>
1664 <para>Acknowledge the alarm by clicking the
1665 <guibutton>Close</guibutton> button. This closes the window (after a
1666 prompt for confirmation, if you selected
1667 <guilabel>Confirm acknowledgment</guilabel>).</para>
1668 </listitem>
1670 <listitem>
1671 <para>Edit the alarm by clicking the <guibutton>Edit...</guibutton>
1672 button. This displays the
1673 <link linkend="alarm-edit-dlg">Alarm Edit dialog</link>.</para>
1674 </listitem>
1676 <listitem>
1677 <para>Display options to defer the alarm until later by clicking the
1678 <guibutton>Defer...</guibutton> button. Then select
1679 <guilabel>Defer to date/time</guilabel> to enter the date and time
1680 when the message is to be redisplayed, or select <guilabel>Defer for
1681 time interval</guilabel> to enter how long after now (in hours and
1682 minutes) the message should be redisplayed. Then click
1683 <guibutton>Defer</guibutton> to defer the alarm message and close its
1684 window.</para>
1686 <note><para>The time the alarm is deferred to must be earlier than its
1687 next scheduled occurrence or next reminder. For this reason, the
1688 <guibutton>Defer...</guibutton> button in the alarm message window and
1689 the <guibutton>OK</guibutton> button in the Deferral dialog are
1690 disabled one minute before the next occurrence or
1691 reminder.</para></note>
1693 <note><para>The <guibutton>Defer...</guibutton> button is not
1694 available for alarms which are displayed at login due to the
1695 <guilabel>Repeat at login</guilabel> option having been
1696 selected.</para></note>
1697 </listitem>
1699 <listitem>
1700 <para>Stop playing the alarm's sound file by clicking the button
1701 showing the <quote>stop playing</quote> symbol.</para>
1702 </listitem>
1704 <listitem>
1705 <para>If the alarm message was created by dragging an email from
1706 &kmail;, you can directly access the email in &kmail; by clicking the
1707 button showing the &kmail; icon. This will select and highlight the
1708 email in &kmail;'s folder list.</para>
1710 <warning><para>If &kmail;'s indexes are regenerated, the link to the
1711 email in &kmail; will be lost.</para></warning>
1712 </listitem>
1714 <listitem>
1715 <para>The button showing the <guiicon>&kalarm;</guiicon> icon provides
1716 a convenient way to activate &kalarm;.</para>
1717 </listitem>
1718 </itemizedlist>
1720 <para>You can choose in the
1721 <link linkend="preferences-view">Preferences dialog</link> which of
1722 two schemes should be used to position alarm message windows:</para>
1724 <itemizedlist>
1725 <listitem>
1726 <para>The windows are displayed as far away from the current mouse
1727 cursor as possible. This minimizes disruption to your work flow and
1728 minimizes the possibility of accidentally acknowledging the
1729 alarm.</para>
1730 </listitem>
1732 <listitem>
1733 <para>The windows are displayed in the center of the screen. To reduce
1734 the chance of accidentally acknowledging the alarm, the buttons on the
1735 window are initially disabled, becoming active only after a
1736 configurable delay.</para>
1737 </listitem>
1738 </itemizedlist>
1740 <para>You can also choose in the
1741 <link linkend="preferences-view">Preferences dialog</link> which of
1742 two different modes should be used to display alarm message
1743 windows:</para>
1745 <itemizedlist>
1746 <listitem>
1747 <para>As a normal window. In this mode, the keyboard focus is taken
1748 by the alarm message window when it appears, so if you are typing at
1749 the time your keystrokes will be diverted to it rather than your
1750 original application.</para>
1751 </listitem>
1753 <listitem>
1754 <para>As a non-modal window. In this mode, the keyboard focus is
1755 unaffected when the alarm message window appears, so it will not
1756 interfere with your typing. However in this mode the window has no
1757 titlebar or frame, so you cannot move it or resize it.</para>
1758 </listitem>
1759 </itemizedlist>
1761 </sect1>
1763 <sect1 id="system-tray">
1764 <title>System Tray Operation</title>
1766 <para>&kalarm; by default displays an icon in the system tray. The icon
1767 provides both control and an alarm monitoring status indication. A
1768 normal &kalarm; icon indicates that alarms are being monitored, while
1769 a gray icon indicates that alarms are not being monitored.</para>
1771 <para>If you hover the mouse cursor over the system tray icon, a
1772 summary of the first few message alarms due in the next 24 hours are
1773 displayed as a tooltip. You can switch this feature off, or configure
1774 the number of alarms to display and their format, in the
1775 <link linkend="preferences-view">Preferences dialog</link>.</para>
1777 <para><mousebutton>Left</mousebutton> click on the system tray icon to
1778 toggle between displaying and hiding the &kalarm; main window.</para>
1780 <para><mousebutton>Right</mousebutton> click on the system tray icon to
1781 display its context menu:</para>
1783 <variablelist>
1784 <varlistentry>
1785 <term><menuchoice><guimenuitem>Enable Alarms</guimenuitem></menuchoice></term>
1786 <listitem><para><action>Enables monitoring of alarms. This option
1787 only appears if alarms are currently disabled.</action></para>
1788 <para>See
1789 <link linkend="enable-disable">Enabling and Disabling Alarms</link>
1790 for details.</para>
1791 </listitem>
1792 </varlistentry>
1794 <varlistentry>
1795 <term><menuchoice><guimenuitem>Disable Alarms</guimenuitem></menuchoice></term>
1796 <listitem><para><action>Disables monitoring of alarms. This option
1797 only appears if alarms are currently enabled.</action></para>
1798 <para>See
1799 <link linkend="enable-disable">Enabling and Disabling Alarms</link>
1800 for details.</para>
1801 </listitem>
1802 </varlistentry>
1804 <varlistentry>
1805 <term><menuchoice><guimenuitem>New Alarm</guimenuitem></menuchoice></term>
1806 <listitem><para><action>After you select the alarm type from the list
1807 which appears, opens the Alarm Edit dialog to create a new
1808 alarm.</action></para>
1809 </listitem>
1810 </varlistentry>
1812 <varlistentry>
1813 <term><menuchoice><guimenuitem>New Alarm From Template</guimenuitem></menuchoice></term>
1814 <listitem><para><action>Displays the list of alarm templates in a
1815 menu. When you select one, the Alarm Edit dialog is opened, preset
1816 with that template's details.</action></para>
1817 </listitem>
1818 </varlistentry>
1820 <varlistentry>
1821 <term><menuchoice><guimenuitem>Configure &kalarm;...</guimenuitem></menuchoice></term>
1822 <listitem><para><action>Displays the &kalarm; Preferences dialog.</action></para>
1823 <para>The Preferences dialog is described in
1824 <link linkend="preferences">Configuring &kalarm;</link>. It
1825 includes options relating to the &kalarm; system tray icon.</para>
1826 </listitem>
1827 </varlistentry>
1829 <varlistentry>
1830 <term><menuchoice><guimenuitem>Restore / Minimize</guimenuitem></menuchoice></term>
1831 <listitem><para><action>Restores or minimizes the main &kalarm; window.</action></para>
1832 </listitem>
1833 </varlistentry>
1835 <varlistentry>
1836 <term><menuchoice><guimenuitem>Quit</guimenuitem></menuchoice></term>
1837 <listitem><para><action>Closes the &kalarm; system tray
1838 icon and main windows.</action></para>
1839 <para>Quits &kalarm; if no alarm message windows are displayed.</para>
1840 </listitem>
1841 </varlistentry>
1842 </variablelist>
1844 <sect2>
1845 <title>Displaying &kalarm; in the System Tray</title>
1847 <para>You must be running the &kde; desktop or another suitable window
1848 manager in order to display &kalarm; in the system tray.</para>
1850 <para>To display &kalarm; in the system tray, select <menuchoice>
1851 <guimenu>View</guimenu><guimenuitem>Show in System Tray</guimenuitem>
1852 </menuchoice>.</para>
1854 <para>To remove &kalarm; from the system tray, select
1855 <menuchoice><guimenu>View</guimenu>
1856 <guimenuitem>Hide from System Tray</guimenuitem></menuchoice>.</para>
1858 <para>To choose whether or not &kalarm; will be shown at startup in
1859 the system tray, use the <link linkend="preferences-view">View</link>
1860 tab of the Preferences dialog.</para>
1861 </sect2>
1862 </sect1>
1864 <sect1 id="refreshing">
1865 <title>Refreshing Alarms</title>
1867 <para>If in the unlikely event that any alarm was not triggered when
1868 it should have been, you can refresh the alarm list and trigger any
1869 missed alarms by selecting
1870 <menuchoice>
1871 <guimenu>Actions</guimenu><guimenuitem>Refresh Alarms</guimenuitem>
1872 </menuchoice>. This causes &kalarm; to reload all alarm calendar files
1873 and resources.</para>
1875 <para>You can reload an individual resource and refresh its alarms in
1876 the alarm list by
1877 <mousebutton>Right</mousebutton> clicking the resource in the
1878 resources list and selecting the
1879 <menuchoice><guimenuitem>Reload</guimenuitem></menuchoice> menu
1880 option. See <link linkend="resources">Alarm Resources</link> for
1881 details.</para>
1883 </sect1>
1885 <sect1 id="enable-disable">
1886 <title>Enabling and Disabling Alarms</title>
1888 <para>Alarms may be enabled and disabled either as a whole or
1889 individually:</para>
1891 <itemizedlist>
1892 <listitem>
1893 <para><quote>Alarm monitoring</quote> applies to alarms as a whole.
1894 While alarm monitoring is disabled, no alarms are triggered at all.
1895 While alarm monitoring is enabled (the normal situation), all alarms
1896 which are not individually disabled will trigger at the appropriate
1897 times.</para>
1899 <para>When alarm monitoring is re-enabled, alarms which would have
1900 triggered while it was disabled are now triggered (unless any
1901 late-cancel option prevents this). In other words, disabling alarm
1902 monitoring has the same effect as stopping &kalarm; &ndash; alarms are
1903 postponed until it is re-enabled.</para>
1904 </listitem>
1906 <listitem>
1907 <para>Alarms may be individually enabled and disabled, independently
1908 of the alarm monitoring status. So the enabled/disabled status of
1909 individual alarms will be unchanged by disabling and then re-enabling
1910 alarm monitoring. Unlike alarm monitoring which could potentially be
1911 disabled due to &kalarm; not running, individual alarms can only be
1912 disabled if you use menu commands to do so.</para>
1914 <para>When an alarm is individually re-enabled, it is not now
1915 triggered if it became due while disabled. In other words, disabling
1916 an individual alarm cancels all its occurrences until it is
1917 re-enabled.</para>
1919 <para>An alarm's individual enabled/disabled status is indicated by
1920 its color in the alarm list (the color being configurable in the
1921 <link linkend="preferences-fontcolour">Font &amp; Color</link> tab of
1922 the Preferences dialog).</para>
1923 </listitem>
1924 </itemizedlist>
1926 <para>For an alarm to trigger, it must be individually enabled as well
1927 as alarm monitoring being enabled.</para>
1929 <sect2>
1930 <title>Enabling Alarm Monitoring</title>
1932 <para>For alarm monitoring to occur, &kalarm; must be running. Once you
1933 run &kalarm;, it will from then on start automatically whenever you log
1934 in unless you later disable it in the
1935 <link linkend="preferences-general">General</link> tab of the
1936 Preferences dialog.</para>
1938 <para>If alarm monitoring is currently disabled, do one of the
1939 following to enable alarms:</para>
1941 <itemizedlist>
1942 <listitem>
1943 <para>Select <menuchoice><guimenu>Actions</guimenu>
1944 <guimenuitem>Enable Alarms</guimenuitem></menuchoice>.</para>
1945 </listitem>
1947 <listitem>
1948 <para><mousebutton>Right</mousebutton> click on the system tray icon
1949 and choose
1950 <menuchoice><guimenuitem>Enable Alarms</guimenuitem></menuchoice>
1951 from the context menu.</para>
1952 </listitem>
1953 </itemizedlist>
1955 </sect2>
1957 <sect2>
1958 <title>Disabling Alarm Monitoring</title>
1960 <para>You can temporarily disable alarm monitoring, which prevents
1961 &kalarm; from checking any alarms either until you re-enable alarms, or
1962 &ndash; assuming that &kalarm; is configured to start at login &ndash;
1963 until the next time you log in.</para>
1965 <itemizedlist>
1966 <listitem>
1967 <para>Select <menuchoice><guimenu>Actions</guimenu>
1968 <guimenuitem>Disable Alarms</guimenuitem></menuchoice>.</para>
1969 </listitem>
1971 <listitem>
1972 <para><mousebutton>Right</mousebutton> click on the system tray icon
1973 and choose
1974 <menuchoice><guimenuitem>Disable Alarms</guimenuitem></menuchoice>
1975 from the context menu.</para>
1976 </listitem>
1978 <listitem>
1979 <para>Stop &kalarm; as described in
1980 <link linkend="quitting">Quitting &kalarm;</link>.</para>
1981 </listitem>
1982 </itemizedlist>
1984 <para>Alarms may be permanently disabled by preventing &kalarm; from
1985 being started at login using the
1986 <link linkend="preferences-general">General</link> tab of the
1987 Preferences dialog.</para>
1989 </sect2>
1991 <sect2>
1992 <title>Enabling and Disabling Individual Alarms</title>
1994 <para>To enable individual alarms which are currently disabled, do
1995 one of the following:</para>
1997 <itemizedlist>
1998 <listitem>
1999 <para>Select one or more alarms by clicking on their entries in the
2000 alarm list. Then choose <menuchoice>
2001 <guimenu>Actions</guimenu><guimenuitem>Enable</guimenuitem>
2002 </menuchoice>.</para>
2003 </listitem>
2005 <listitem>
2006 <para><mousebutton>Right</mousebutton> click on the desired entries in
2007 the alarm list and choose
2008 <menuchoice><guimenuitem>Enable</guimenuitem></menuchoice>
2009 from the context menu.</para>
2010 </listitem>
2011 </itemizedlist>
2013 <para>To disable individual alarms which are currently enabled, do one
2014 of the following:</para>
2016 <itemizedlist>
2017 <listitem>
2018 <para>Select one or more alarms by clicking on their entries in the
2019 alarm list. Then choose <menuchoice>
2020 <guimenu>Actions</guimenu><guimenuitem>Disable</guimenuitem>
2021 </menuchoice>.</para>
2022 </listitem>
2024 <listitem>
2025 <para><mousebutton>Right</mousebutton> click on the desired entries in
2026 the alarm list and choose
2027 <menuchoice><guimenuitem>Disable</guimenuitem></menuchoice>
2028 from the context menu.</para>
2029 </listitem>
2030 </itemizedlist>
2032 </sect2>
2033 </sect1>
2035 <sect1 id="quitting">
2036 <title>Quitting &kalarm;</title>
2038 <para>Quit &kalarm; by selecting <menuchoice>
2039 <guimenu>File</guimenu><guimenuitem>Quit</guimenuitem></menuchoice>,
2040 or <menuchoice><guimenuitem>Quit</guimenuitem></menuchoice> in the
2041 system tray icon context menu. Alternatively, if the system tray icon
2042 is not visible, close all &kalarm;'s windows.</para>
2044 </sect1>
2045 </chapter>
2047 <chapter id="preferences">
2048 <title>Configuring &kalarm;</title>
2050 <para>To configure &kalarm;'s operation to suit your system and your
2051 personal preferences, select <menuchoice><guimenu>Settings</guimenu>
2052 <guimenuitem>Configure &kalarm;...</guimenuitem></menuchoice>.
2053 This displays the Preferences dialog.</para>
2055 <sect1 id="preferences-general">
2056 <title>General</title>
2058 <para>The <guilabel>General</guilabel> section lets you control
2059 &kalarm;'s overall behavior:</para>
2061 <itemizedlist>
2062 <listitem>
2063 <para><guilabel>Start at login</guilabel>: &kalarm; will be started
2064 automatically at &kde; session login, ensuring that &kalarm; runs at
2065 all times unless you manually quit.</para>
2067 <warning><para>This option should always be checked unless you intend
2068 to discontinue use of &kalarm;.</para></warning>
2070 <note><para>This option is automatically reselected whenever &kalarm;
2071 is run. So if you have unchecked this option and want to continue to
2072 prevent &kalarm; from running at login, you need to uncheck this
2073 option again each time you run &kalarm;.</para></note>
2074 </listitem>
2076 <listitem>
2077 <para><guilabel>Warn before quitting</guilabel>: When alarms are
2078 disabled while &kalarm; is not running, selecting this option prompts
2079 you for confirmation if you attempt to terminate &kalarm; using the
2080 system tray icon's <menuchoice><guimenu>Quit</guimenu></menuchoice>
2081 option. This prevents accidental disabling of alarms. For safety, this
2082 option is automatically re-enabled by default whenever you change run
2083 mode.</para>
2084 </listitem>
2086 <listitem><para><guilabel>Confirm alarm deletions</guilabel>: Specify
2087 whether you should be prompted for confirmation each time you delete
2088 an alarm.</para>
2089 </listitem>
2091 <listitem><para><guilabel>Terminal for Command Alarms</guilabel>:
2092 Here, you can select which type of terminal window should be used for
2093 command alarms which are executed in a terminal window. Some of the
2094 most common terminal window applications are preconfigured, &eg;
2095 <application>xterm</application>, &konsole;, although only those
2096 which are installed on your system will be shown here. You can view
2097 the actual command options used for each application by displaying the
2098 context help for its radio button.</para>
2100 <para>If you want to use another application, or want to use one of
2101 those listed but with different command options, select
2102 <guilabel>Other</guilabel> and enter the command to invoke the
2103 terminal window. By default, the alarm's command string will be
2104 appended to what you specify. Alternatively, you may specify where the
2105 alarm's command string should be inserted, by use of the following
2106 codes:</para>
2108 <variablelist>
2109 <varlistentry>
2110 <term>%c</term>
2111 <listitem>
2112 <para>The alarm's command string will be substituted.</para>
2113 </listitem>
2114 </varlistentry>
2115 <varlistentry>
2116 <term>%w</term>
2117 <listitem>
2118 <para>The alarm's command string will be substituted, with a <literal>sleep</literal> appended.</para>
2119 </listitem>
2120 </varlistentry>
2121 <varlistentry>
2122 <term>%C</term>
2123 <listitem>
2124 <para>A temporary command file containing the alarm's command string will be created, and the command to execute the file will be substituted.</para>
2125 </listitem>
2126 </varlistentry>
2127 <varlistentry>
2128 <term>%W</term>
2129 <listitem>
2130 <para>A temporary command file containing the alarm's command string will be created with a <literal>sleep</literal> appended, and the command to execute the file will be substituted.</para>
2131 </listitem>
2132 </varlistentry>
2133 </variablelist>
2135 <para>When the command alarm is triggered, its command string will be
2136 quoted before being inserted into the terminal window command.</para>
2137 </listitem>
2139 </itemizedlist>
2140 </sect1>
2142 <sect1 id="preferences-time">
2143 <title>Time and Date</title>
2145 <para>The <guilabel>Time and Date</guilabel> section lets you set
2146 options relating to time and date:</para>
2148 <itemizedlist>
2149 <listitem><para><guilabel>Time zone</guilabel>: Select your time zone.
2150 &kalarm; uses this time zone throughout, except when you override it
2151 for individual alarms.</para>
2152 </listitem>
2154 <listitem><para><guilabel>Start of day for date-only
2155 alarms</guilabel>: Set the start-of-day time for the purposes of
2156 triggering date-only alarms, &ie; ones for which the <guilabel>Any
2157 time</guilabel> option was selected. On the date when they are due,
2158 such alarms will be output at the earliest opportunity during the
2159 24 hours starting from the start-of-day time.</para>
2160 </listitem>
2162 <listitem><para>If you set up yearly recurrences for February 29th,
2163 specify how these are to be handled in non-leap years by selecting one
2164 of the following options:</para>
2166 <itemizedlist>
2167 <listitem><para><guilabel>February 28th</guilabel>: the alarm will
2168 occur on February 29th in leap years, and on February 28th in
2169 non-leap years.</para>
2170 </listitem>
2172 <listitem><para><guilabel>March 1st</guilabel>: the alarm will
2173 occur on February 29th in leap years, and on March 1st in
2174 non-leap years.</para>
2175 </listitem>
2177 <listitem><para><guilabel>Do not repeat</guilabel>: the alarm will
2178 occur on February 29th in leap years, but will be suppressed in
2179 non-leap years.</para>
2180 </listitem>
2181 </itemizedlist>
2183 <note><para>Changing this option will not cause the next scheduled
2184 recurrence of any existing alarms to be re-evaluated. It will only
2185 affect new alarms, or existing alarms after they are next
2186 triggered.</para></note>
2187 </listitem>
2189 <listitem><para><guilabel>Working Hours</guilabel> group box: These
2190 options let you define your working hours, needed when the
2191 <guilabel>Only during working hours</guilabel> option is selected for
2192 a recurrence in the
2193 <link linkend="alarm-edit-dlg">Alarm Edit dialog</link>.</para>
2195 <itemizedlist>
2196 <listitem><para>Check each day which is a working day.</para>
2197 </listitem>
2199 <listitem><para><guilabel>Daily start time</guilabel>: enter the time
2200 at which you start work each day.</para>
2201 </listitem>
2203 <listitem><para><guilabel>Daily end time</guilabel>: enter the time
2204 at which you finish work each day.</para>
2205 </listitem>
2206 </itemizedlist>
2207 </listitem>
2209 </itemizedlist>
2210 </sect1>
2212 <sect1 id="preferences-storage">
2213 <title>Storage</title>
2215 <para>The <guilabel>Storage</guilabel> section lets you choose options
2216 for saving and archiving alarms:</para>
2218 <itemizedlist>
2219 <listitem>
2220 <para><guilabel>New Alarms &amp; Templates</guilabel>: Specify which
2221 resource to store new alarms and alarm templates in when using
2222 multiple alarm resources:</para>
2224 <itemizedlist>
2225 <listitem>
2226 <para><guilabel>Store in default resource</guilabel>: New alarms and
2227 alarm templates are automatically added to the default alarm resource
2228 without prompting for confirmation.</para>
2229 </listitem>
2231 <listitem>
2232 <para><guilabel>Prompt for which resource to store in</guilabel>:
2233 When you create a new alarm or alarm template and there is more than
2234 one writeable alarm resource, you will be prompted to choose which
2235 resource to save it in. Note that when alarms are saved on expiry,
2236 they are always stored in the default archived alarm resource without
2237 prompting.</para>
2238 </listitem>
2239 </itemizedlist>
2240 </listitem>
2242 <listitem><para><guilabel>Archived Alarms</guilabel> group box: These
2243 options control the storage of archived alarms in the default archived
2244 alarm resource.</para>
2246 <itemizedlist>
2247 <listitem><para><guilabel>Keep alarms after expiry</guilabel>:
2248 Select this option to archive expired and deleted alarms. Deselect it
2249 to keep no record of alarms once they cease to be active. Note that
2250 deleted alarms are only archived if they have previously been
2251 triggered. If you delete an alarm before it ever triggers, it is
2252 discarded.</para>
2253 </listitem>
2255 <listitem><para><guilabel>Discard archived alarms after</guilabel>:
2256 Set the number of days to store expired and deleted alarms in the
2257 archive, after which they are permanently deleted.</para>
2258 </listitem>
2260 <listitem><para><guibutton>Clear archived alarms</guibutton>: This
2261 button discards all currently archived alarms from the default archived
2262 alarm resource. (Other archived alarm resources are left unchanged in
2263 case they are shared with other people.) This has no effect on
2264 alarms which subsequently expire or are deleted; they will continue to
2265 be archived according to the selected options.</para>
2266 </listitem>
2267 </itemizedlist>
2268 </listitem>
2270 </itemizedlist>
2271 </sect1>
2273 <sect1 id="preferences-email">
2274 <title>Email</title>
2276 <para>The <guilabel>Email</guilabel> section lets you choose options
2277 for sending and addressing email alarms:</para>
2279 <itemizedlist>
2280 <listitem>
2281 <para><guilabel>Email client</guilabel>: Specify the email
2282 client to be used to send email alarms:</para>
2284 <itemizedlist>
2285 <listitem><para><guilabel>KMail</guilabel>: When an email alarm is
2286 triggered, the email is sent using &kmail; (which is started first if
2287 necessary) as follows:</para>
2289 <itemizedlist>
2290 <listitem><para>If &kmail; is version 1.7 or later, the email is sent
2291 automatically.</para>
2292 </listitem>
2294 <listitem><para>If &kmail; is an older version, the email is added to
2295 &kmail;'s <filename>outbox</filename> folder for later
2296 transmission.</para>
2297 </listitem>
2298 </itemizedlist>
2299 </listitem>
2301 <listitem><para><guilabel>Sendmail</guilabel>: When an email alarm is
2302 triggered, the email is sent automatically using
2303 <application>&Sendmail;</application>. This option will only work if
2304 your system is configured to use <application>&Sendmail;</application>,
2305 or a <application>&Sendmail;</application> compatible mail transport
2306 agent such as <application>postfix</application> or
2307 <application>qmail</application>.</para>
2308 </listitem>
2309 </itemizedlist>
2310 </listitem>
2312 <listitem>
2313 <para><guilabel>Copy sent emails into &kmail;'s sent-items folder</guilabel>:
2314 Select this option if, every time an email alarm is triggered, you
2315 want a copy of the transmitted email to be stored in &kmail;'s
2316 <filename>sent-items</filename> folder.</para>
2318 <note><para>This option is not available when &kmail; is selected as
2319 the email client, since &kmail; automatically does this.</para></note>
2320 </listitem>
2322 <listitem>
2323 <para>Select your email address to be used as the sender's address in
2324 email alarms:</para>
2326 <itemizedlist>
2327 <listitem><para>Select <guilabel>From</guilabel> to enter an email
2328 address.</para>
2329 </listitem>
2331 <listitem><para>Select <guilabel>Use address from System
2332 Settings</guilabel> to use the email address which is configured in the
2333 &kde; System Settings.</para>
2334 </listitem>
2336 <listitem><para>Select <guilabel>Use &kmail; identities</guilabel> to
2337 be able to choose at the time you configure an email alarm which of
2338 &kmail;'s email identities to use. &kmail;'s default identity will be
2339 used for alarms which were already configured before you selected this
2340 option.</para>
2341 </listitem>
2342 </itemizedlist>
2343 </listitem>
2345 <listitem>
2346 <para>Select your email address to be used for sending blind copies of
2347 email alarms to yourself when the
2348 <guilabel>Copy email to self</guilabel> option is selected:</para>
2350 <itemizedlist>
2351 <listitem><para>Select <guilabel>Bcc</guilabel> to enter an email
2352 address. If blind copies are to be sent to your account on the
2353 computer which &kalarm; runs on, you could simply enter your user
2354 login name here.</para>
2355 </listitem>
2357 <listitem><para>Select <guilabel>Use address from System
2358 Settings</guilabel> to use the email address which is configured in the
2359 &kde; System Settings.</para>
2360 </listitem>
2361 </itemizedlist>
2362 </listitem>
2364 <listitem>
2365 <para><guilabel>Notify when remote emails are queued</guilabel>:
2366 Select this option to display a notification whenever an email alarm
2367 queues an email for sending to a remote system. This may be useful
2368 if, for example, you have a dial-up connection, or email is queued in
2369 &kmail;'s <filename>outbox</filename> folder, so that you can
2370 ensure that you do whatever is needed to actually transmit
2371 the email.</para>
2372 </listitem>
2373 </itemizedlist>
2374 </sect1>
2376 <sect1 id="preferences-view">
2377 <title>View</title>
2379 <para>The <guilabel>View</guilabel> section lets you control some
2380 aspects of &kalarm;'s appearance:</para>
2381 <itemizedlist>
2383 <listitem>
2384 <para><guilabel>Show in system tray</guilabel>: When selected, the
2385 system tray icon is displayed while &kalarm; is running. In this mode,
2386 closing the system tray icon closes all &kalarm; main windows, and if
2387 no message windows are visible, quits the application.</para>
2388 </listitem>
2390 <listitem>
2391 <para><guilabel>System Tray Tooltip</guilabel> group box: These options
2392 control what information is shown in the tooltip which appears when the
2393 mouse cursor hovers over &kalarm;'s system tray icon.</para>
2395 <itemizedlist>
2396 <listitem>
2397 <para><guilabel>Show next 24 hours' alarms</guilabel>: When selected,
2398 a summary of the first few alarms due in the next 24 hours is
2399 displayed.</para>
2400 </listitem>
2402 <listitem>
2403 <para><guilabel>Maximum number of alarms to show</guilabel>: Deselect
2404 this option to display all of the next 24 hours' alarms. Select it to
2405 set the maximum number of alarms which will be displayed.</para>
2406 </listitem>
2408 <listitem>
2409 <para><guilabel>Show alarm time</guilabel>: Select this option to show
2410 the time at which each alarm is scheduled.</para>
2411 </listitem>
2413 <listitem>
2414 <para><guilabel>Show time until alarm</guilabel>: Select this option to
2415 show the length of time remaining before each alarm's next scheduled
2416 occurrence. The length of time is shown in hours and minutes.</para>
2418 <itemizedlist>
2419 <listitem>
2420 <para><guilabel>Prefix</guilabel>: Specify a symbol or text to show in
2421 front of the length of time until the alarm, to distinguish it from the
2422 time at which the alarm is scheduled.</para>
2423 </listitem>
2424 </itemizedlist>
2425 </listitem>
2426 </itemizedlist>
2427 </listitem>
2429 <listitem>
2430 <para><guilabel>Alarm Message Windows</guilabel> group box: These options
2431 control the appearance of alarm message windows.</para>
2433 <itemizedlist>
2434 <listitem>
2435 <para><guilabel>Position windows far from mouse cursor</guilabel>:
2436 Select this option to display alarm message windows as far away from
2437 the current mouse cursor position as possible. This minimizes the
2438 chance of accidentally acknowledging an alarm by unintentionally
2439 clicking on a button just as the message window appears.</para>
2440 </listitem>
2442 <listitem>
2443 <para><guilabel>Center windows, delay activating window buttons</guilabel>:
2444 Select this option to display alarm message windows in the center of
2445 the screen. To reduce the chance of accidentally acknowledging the
2446 alarm, the window's buttons are initially disabled. The delay in
2447 seconds before they become active is set in
2448 <guilabel>Button activation delay (seconds)</guilabel>.</para>
2449 </listitem>
2451 <listitem>
2452 <para><guilabel>Message windows have a titlebar and take keyboard focus</guilabel>: This
2453 option controls whether alarm message windows are modal or not, &ie;
2454 whether they grab the keyboard focus when they appear. See the
2455 <link linkend="message-window">Alarm Message Window</link> section for
2456 details.</para>
2457 </listitem>
2458 </itemizedlist>
2459 </listitem>
2460 </itemizedlist>
2461 </sect1>
2463 <sect1 id="preferences-fontcolour">
2464 <title>Font &amp; Color</title>
2466 <para>The <guilabel>Font &amp; Color</guilabel> section lets you set
2467 the default appearance of alarm messages, and the colors to be used
2468 in the alarm list:</para>
2469 <itemizedlist>
2471 <listitem><para>Select the default font and background color to use
2472 for alarm message display.</para>
2473 </listitem>
2475 <listitem><para>Edit the color selection list which is displayed when
2476 you click on the background color combo box:</para>
2477 <itemizedlist>
2479 <listitem><para><guilabel>Add color...</guilabel>: Displays a color
2480 selection dialog which lets you choose a color to add to the
2481 list.</para>
2482 </listitem>
2484 <listitem><para><guilabel>Remove color</guilabel>: Removes the color
2485 currently displayed in the <guilabel>Background color</guilabel>
2486 combo box from the list. The Custom color item cannot be removed from
2487 the list, and when it is displayed, this button is disabled.</para>
2488 </listitem>
2490 </itemizedlist>
2491 </listitem>
2493 <listitem><para>Select the color to be used in the alarm list to show
2494 disabled alarms.</para>
2495 </listitem>
2497 <listitem><para>Select the color to be used in the alarm list to show
2498 archived alarms.</para>
2499 </listitem>
2501 </itemizedlist>
2502 </sect1>
2504 <sect1 id="preferences-edit">
2505 <title>Edit</title>
2507 <para>The <guilabel>Edit</guilabel> section lets you choose
2508 default values for the options in the
2509 <link linkend="alarm-edit-dlg">Alarm Edit dialog</link>:</para>
2511 <para>For display alarms:</para>
2513 <itemizedlist>
2514 <listitem><para>Set the default states for the
2515 <guilabel>Auto-close window after this time</guilabel> and
2516 <guilabel>Confirm acknowledgment</guilabel> check boxes.</para>
2517 </listitem>
2519 <listitem><para>Set the default reminder period units.</para>
2520 </listitem>
2522 <listitem><para>Set the default special display alarm actions.</para>
2523 </listitem>
2525 <listitem><para>Set the default sound options. Note that a default
2526 sound file may be specified even if the sound type is not set to
2527 <guilabel>Sound file</guilabel>.</para>
2528 </listitem>
2529 </itemizedlist>
2531 <para>For command alarms:</para>
2533 <itemizedlist>
2534 <listitem><para>Set the default states for the <guilabel>Enter a
2535 script</guilabel> and <guilabel>Execute in terminal window</guilabel>
2536 check boxes.</para>
2537 </listitem>
2538 </itemizedlist>
2540 <para>For email alarms:</para>
2542 <itemizedlist>
2543 <listitem><para>Set the default state for the <guilabel>Copy email to
2544 self</guilabel> check box.</para>
2545 </listitem>
2546 </itemizedlist>
2548 <para>For all alarm types:</para>
2550 <itemizedlist>
2551 <listitem><para>Set the default states for the <guilabel>Show in
2552 KOrganizer</guilabel> and <guilabel>Cancel if late</guilabel> check
2553 boxes.</para>
2554 </listitem>
2556 <listitem><para>Set the default recurrence type.</para>
2557 </listitem>
2559 <listitem><para>Select the default handling in non-leap years of
2560 yearly recurrences scheduled for February 29th.</para>
2561 </listitem>
2562 </itemizedlist>
2563 </sect1>
2565 </chapter>
2567 <chapter id="cmdline-operation">
2568 <title>Command Line Operation</title>
2570 <para>When command line parameters are supplied, &kalarm; does not
2571 display the list of scheduled alarms as described in <link
2572 linkend="using-kalarm">Using &kalarm;</link> above. Command line
2573 options specific to &kalarm; may be used to perform the following
2574 operations:</para>
2576 <itemizedlist>
2577 <listitem><para>schedule a new alarm</para>
2578 </listitem>
2579 <listitem><para>control &kalarm;'s display mode</para>
2580 </listitem>
2581 <listitem><para>obtain help</para>
2582 </listitem>
2583 </itemizedlist>
2585 <para>Additional command line options are provided primarily to enable
2586 other programs to interface to &kalarm;. They are described in the
2587 chapter <link linkend="cmdline-interface">Developer's Guide to
2588 &kalarm;</link>.</para>
2590 <para>The command line must only contain options applicable to one
2591 &kalarm; operation. If you want to perform multiple operations, you
2592 must invoke &kalarm; multiple times with a single set of options each
2593 time.</para>
2595 <sect1 id="cmdline-schedule">
2596 <title>Schedule a New Alarm</title>
2598 <para>The following options are used to schedule a new alarm:</para>
2600 <informaltable>
2601 <tgroup cols="2">
2602 <thead>
2603 <row>
2604 <entry>Option</entry>
2605 <entry>Description</entry>
2606 </row>
2607 </thead>
2608 <tbody>
2609 <row>
2610 <entry><option>-a</option>, <option>--ack-confirm</option></entry>
2611 <entry>Prompt for confirmation when the alarm message is
2612 acknowledged.</entry>
2613 </row>
2614 <row>
2615 <entry><option>-A</option>, <option>--attach <replaceable>URL</replaceable></option></entry>
2616 <entry>Specify the path or &URL; of a file which is to be attached
2617 to the email. This option may be repeated as necessary.
2618 <option>--mail</option> must be specified with this option.</entry>
2619 </row>
2620 <row>
2621 <entry><option>--auto-close</option></entry>
2622 <entry>Automatically close the alarm window after the expiry of the
2623 <option>--late-cancel</option> period.
2624 <option>--late-cancel</option> must be specified with this
2625 option.</entry>
2626 </row>
2627 <row>
2628 <entry><option>-b</option>, <option>--beep</option></entry>
2629 <entry>Make an audible beep when the message is displayed.
2630 <option>--speak</option>, <option>--play</option> and
2631 <option>--play-repeat</option> cannot be specified with this
2632 option.</entry>
2633 </row>
2634 <row>
2635 <entry><option>--bcc</option></entry>
2636 <entry>Blind copy the email to yourself.
2637 <option>--mail</option> must be specified with this option.</entry>
2638 </row>
2639 <row>
2640 <entry><option>-c</option>, <option>--color</option>, <option>--colour
2641 <replaceable>color</replaceable></option></entry>
2642 <entry>Set the message background color to the specified &Qt;
2643 color name or hex code 0xRRGGBB.</entry>
2644 </row>
2645 <row>
2646 <entry><option>-C</option>, <option>--colorfg</option>, <option>--colourfg
2647 <replaceable>color</replaceable></option></entry>
2648 <entry>Set the message foreground color to the specified &Qt;
2649 color name or hex code 0xRRGGBB.</entry>
2650 </row>
2651 <row>
2652 <entry><option>-d</option>, <option>--disable</option></entry>
2653 <entry>Disable the alarm. It will not trigger until it has been
2654 manually enabled.</entry>
2655 </row>
2656 <row>
2657 <entry><option>-e</option>, <option>--exec <replaceable>commandline</replaceable></option></entry>
2658 <entry>Specify a shell command to execute. If specified, this option
2659 must be the last &kalarm; option in &kalarm;'s command line. All
2660 subsequent command parameters and options are interpreted as
2661 forming the command line to execute. <option>--file</option> and
2662 <option>--exec-display</option> and <option>--mail</option> cannot
2663 be specified with this option.
2664 <option>--ack-confirm</option>, <option>--beep</option>,
2665 <option>--color</option> and <option>--colorfg</option> are ignored
2666 with this option.</entry>
2667 </row>
2668 <row>
2669 <entry><option>-E</option>, <option>--exec-display <replaceable>commandline</replaceable></option></entry>
2670 <entry>Specify a shell command to execute to generate the alarm
2671 message text. If specified, this option must be the last &kalarm;
2672 option in &kalarm;'s command line. All subsequent command parameters
2673 and options are interpreted as forming the command line to execute.
2674 <option>--exec</option>, <option>--file</option> and
2675 <option>--mail</option> cannot be specified with this option.
2676 <option>--ack-confirm</option>, <option>--beep</option>,
2677 <option>--color</option> and <option>--colorfg</option> are ignored
2678 with this option.</entry>
2679 </row>
2680 <row>
2681 <entry><option>-f</option>, <option>--file <replaceable>URL</replaceable></option></entry>
2682 <entry>Specify the path or &URL; of a text or image file whose
2683 contents are to form the alarm message. <option>--exec</option>,
2684 <option>--exec-display</option> and <option>--mail</option> cannot
2685 be specified, and <replaceable>message</replaceable> must not be
2686 present with this option.</entry>
2687 </row>
2688 <row>
2689 <entry><option>-F</option>, <option>--from-id
2690 <replaceable>ID</replaceable></option></entry>
2691 <entry>Use the specified &kmail; identity as the sender of the
2692 email. <option>--mail</option> must be specified with this
2693 option.</entry>
2694 </row>
2695 <row>
2696 <entry><option>-i</option>, <option>--interval
2697 <replaceable>period</replaceable></option></entry>
2698 <entry>Set the interval between repetitions of the alarm.
2699 Hours/minutes are specified in the format
2700 <replaceable>nHnM</replaceable>, where <replaceable>n</replaceable>
2701 is a number, &eg; 3H30M. Other time periods are specified in the
2702 format <replaceable>nX</replaceable>, where
2703 <replaceable>n</replaceable> is a number and
2704 <replaceable>X</replaceable> is one of the following letters: Y
2705 (years), M (months), W (weeks), D (days). If
2706 <option>--recurrence</option> is also specified, Y (years) and M
2707 (months) are not allowed.
2708 Mandatory if <option>--repeat</option> or <option>--until</option>
2709 is specified.</entry>
2710 </row>
2711 <row>
2712 <entry><option>-k</option>, <option>--korganizer</option></entry>
2713 <entry>Show the alarm as an event in &korganizer;'s active
2714 calendar.</entry>
2715 </row>
2716 <row>
2717 <entry><option>-l</option>, <option>--late-cancel
2718 <replaceable>period</replaceable></option></entry>
2719 <entry>Cancel the alarm if it cannot be triggered within the
2720 specified <replaceable>period</replaceable> after the correct
2721 time. The <replaceable>period</replaceable> period is specified in
2722 the same format as described for <option>--reminder</option>.
2723 The default value of <replaceable>period</replaceable> is 1
2724 minute.</entry>
2725 </row>
2726 <row>
2727 <entry><option>-L</option>, <option>--login</option></entry>
2728 <entry>Trigger the alarm every time you log in.
2729 <option>--interval</option>, <option>--repeat</option> and
2730 <option>--until</option> cannot be specified with this
2731 option.</entry>
2732 </row>
2733 <row>
2734 <entry><option>-m</option>, <option>--mail
2735 <replaceable>address</replaceable></option></entry>
2736 <entry>Send an email to the specified address. This option may be
2737 repeated as necessary. <option>--exec</option>,
2738 <option>--exec-display</option> and <option>--file</option> cannot
2739 be specified with this option.
2740 <option>--ack-confirm</option>, <option>--beep</option>,
2741 <option>--color</option> and <option>--colorfg</option> are ignored
2742 with this option.</entry>
2743 </row>
2744 <row>
2745 <entry><option>-p</option>, <option>--play <replaceable>URL</replaceable></option></entry>
2746 <entry>Specify the path or &URL; of an audio file to be played once
2747 when the alarm message is displayed.
2748 <option>--play-repeat</option>, <option>--beep</option> and
2749 <option>--speak</option> cannot be specified with this
2750 option.</entry>
2751 </row>
2752 <row>
2753 <entry><option>-P</option>, <option>--play-repeat <replaceable>URL</replaceable></option></entry>
2754 <entry>Specify the path or &URL; of an audio file to be played
2755 repeatedly for as long as the alarm message is displayed.
2756 <option>--play</option>, <option>--beep</option> and
2757 <option>--speak</option> cannot be specified with this
2758 option.</entry>
2759 </row>
2760 <row>
2761 <entry><option>--recurrence
2762 <replaceable>spec</replaceable></option></entry>
2763 <entry>Set the alarm to recur. Specify the recurrence using iCalendar
2764 syntax (defined in
2765 <ulink url="http://www.w3.org/2002/12/cal/rfc2445.html">RFC2445</ulink>),
2766 &eg; <quote>FREQ=MONTHLY;COUNT=4;INTERVAL=3;BYDAY=-1MO</quote>.
2767 <option>--until</option> cannot be specified with this
2768 option.</entry>
2769 </row>
2770 <row>
2771 <entry><option>-r</option>, <option>--repeat
2772 <replaceable>count</replaceable></option></entry>
2773 <entry>Set the number of times the alarm should be triggered, or if
2774 a recurrence is specified with <option>--recurrence</option>, the
2775 number of times the alarm should be triggered each time
2776 <option>--recurrence</option> activates it (&ie; a repetition within
2777 a recurrence). If <option>--recurrence</option> is not present,
2778 specify -1 to repeat the alarm indefinitely.
2779 <option>--interval</option> must be, and <option>--until</option>
2780 cannot be, specified with this option.</entry>
2781 </row>
2782 <row>
2783 <entry><option>-R</option>, <option>--reminder
2784 <replaceable>period</replaceable></option></entry>
2785 <entry>Output a reminder alarm the specified length of time before
2786 the main alarm and each of its recurrences (if any). Hours/minutes are
2787 specified in the format <replaceable>nHnM</replaceable>, where
2788 <replaceable>n</replaceable> is a number, &eg; 3H30M. Other time
2789 periods are specified in the format <replaceable>nX</replaceable>,
2790 where <replaceable>n</replaceable> is a number and
2791 <replaceable>X</replaceable> is one of the following letters: W
2792 (weeks), D (days). This option cannot be specified with
2793 <option>--exec</option>, <option>--mail</option> or
2794 <option>--reminder-once</option>.</entry>
2795 </row>
2796 <row>
2797 <entry><option>--reminder-once
2798 <replaceable>period</replaceable></option></entry>
2799 <entry>Output a reminder alarm once, the specified length of time
2800 before the first recurrence of the alarm. No reminder will be
2801 displayed before subsequent recurrences (if any). This option cannot
2802 be specified with <option>--exec</option>, <option>--mail</option>
2803 or <option>--reminder</option>.</entry>
2804 </row>
2805 <row>
2806 <entry><option>-s</option>, <option>--speak</option></entry>
2807 <entry>Speak the message when it is displayed. This option requires
2808 <application>KTTSD</application> to be installed and configured,
2809 together with a compatible speech synthesizer.
2810 <option>--beep</option>, <option>--play</option> and
2811 <option>--play-repeat</option> cannot be specified with this
2812 option.</entry>
2813 </row>
2814 <row>
2815 <entry><option>-S</option>, <option>--subject
2816 <replaceable>subject</replaceable></option></entry>
2817 <entry>The subject line of the email. <option>--mail</option> must
2818 be specified with this option.</entry>
2819 </row>
2820 <row>
2821 <entry><option>-t</option>, <option>--time
2822 <replaceable>date/time</replaceable></option></entry>
2823 <entry>Trigger alarm on the date or at the date/time specified.
2824 Specify a date without a time in the format
2825 <replaceable>yyyy-mm-dd [TZ]</replaceable>; specify a date and time
2826 by <replaceable>[[[yyyy-]mm-]dd-]hh:mm [TZ]</replaceable> (where
2827 omitted, date fields default to the values for today).
2828 If no time zone is specified, the local system time zone is
2829 assumed. If a time zone specifier <replaceable>TZ</replaceable> is
2830 present, it may be the name of a system time zone (&eg;
2831 <userinput>Europe/London</userinput>), <userinput>UTC</userinput>
2832 representing the UTC time zone, or <userinput>Clock</userinput> to
2833 use the local computer clock and ignore time zones.</entry>
2834 </row>
2835 <row>
2836 <entry><option>-v</option>, <option>--volume
2837 <replaceable>percentage</replaceable></option></entry>
2838 <entry>Set the audio volume for playing the audio file. This option
2839 can only be used when <option>--play</option> or
2840 <option>--play-repeat</option> is specified.</entry>
2841 </row>
2842 <row>
2843 <entry><option>-u</option>, <option>--until
2844 <replaceable>date/time</replaceable></option></entry>
2845 <entry>Repeat the alarm until the date or date/time specified.
2846 Specify the date or date/time using the same syntax as for
2847 <option>--time</option>. Note that if <option>--time</option> is
2848 specified, the time zone will be taken from its value and no time
2849 zone may be included in the <option>--until</option> value.
2850 <option>--interval</option> must be, and
2851 <option>--repeat</option> and <option>--recurrence</option> cannot
2852 be, specified with this option.</entry>
2853 </row>
2854 <row>
2855 <entry><replaceable>message</replaceable></entry>
2856 <entry>Message text to display or, if <option>--mail</option> is
2857 specified, the body of the email message.</entry>
2858 </row>
2859 </tbody>
2860 </tgroup>
2861 </informaltable>
2863 <para>Either a message text, <option>--file</option>,
2864 <option>--exec</option> or <option>--exec-display</option> must be
2865 specified; except as noted above, all the options are optional.</para>
2867 <para>Two alternative examples which display a multi-line message with
2868 a red background at 10 p.m. on the 27th of this month are:</para>
2870 <informalexample><screen>
2871 <prompt>%</prompt> <userinput><command>kalarm</command> <option>-c <replaceable>red</replaceable></option> <option>-t <replaceable>27-22:00</replaceable></option> <option><replaceable>"Remember to\nSTOP"</replaceable></option></userinput>
2872 <prompt>%</prompt> <userinput><command>kalarm</command> <option>-c <replaceable>0xFF0000</replaceable></option> <option>-t <replaceable>27-22:00</replaceable></option> <option><replaceable>"Remember to\nSTOP"</replaceable></option></userinput>
2873 </screen>
2874 </informalexample>
2876 </sect1>
2878 <sect1 id="cmdline-other">
2879 <title>Other Options</title>
2881 <para>The following options are used to display the
2882 <link linkend="alarm-edit-dlg">Alarm Edit dialog</link>, or to control
2883 &kalarm;'s display mode.</para>
2885 <informaltable>
2886 <tgroup cols="2">
2887 <thead>
2888 <row>
2889 <entry>Option</entry>
2890 <entry>Description</entry>
2891 </row>
2892 </thead>
2893 <tbody>
2894 <row>
2895 <entry><option>--edit <replaceable>eventID</replaceable></option></entry>
2896 <entry>Display the Alarm Edit dialog to edit the alarm with the
2897 specified event ID.</entry>
2898 </row>
2899 <row>
2900 <entry><option>--edit-new-command</option></entry>
2901 <entry>Display the Alarm Edit dialog, in order to edit a new command
2902 alarm.</entry>
2903 </row>
2904 <row>
2905 <entry><option>--edit-new-display</option></entry>
2906 <entry>Display the Alarm Edit dialog, in order to edit a new display
2907 alarm.</entry>
2908 </row>
2909 <row>
2910 <entry><option>--edit-new-email</option></entry>
2911 <entry>Display the Alarm Edit dialog, in order to edit a new email
2912 alarm.</entry>
2913 </row>
2914 <row>
2915 <entry><option>--edit-new-preset <replaceable>templateName</replaceable></option></entry>
2916 <entry>Display the Alarm Edit dialog, preset with the alarm template
2917 of the specified name, in order to edit a new alarm.</entry>
2918 </row>
2919 <row>
2920 <entry><option>--tray</option></entry>
2921 <entry>Display &kalarm; as an icon in the system tray.</entry>
2922 </row>
2923 </tbody>
2924 </tgroup>
2925 </informaltable>
2927 </sect1>
2929 <sect1 id="cmdline-help">
2930 <title>Help Options</title>
2932 <para>The following help options are common to all
2933 &kde; programs:</para>
2935 <informaltable>
2936 <tgroup cols="2">
2937 <thead>
2938 <row>
2939 <entry>Option</entry>
2940 <entry>Description</entry>
2941 </row>
2942 </thead>
2943 <tbody>
2944 <row>
2945 <entry><option>--help</option></entry>
2946 <entry>Shows a brief options help text.</entry>
2947 </row>
2948 <row>
2949 <entry><option>--help-qt</option></entry>
2950 <entry>Shows numerous generic &Qt;-specific options.</entry>
2951 </row>
2952 <row>
2953 <entry><option>--help-kde</option></entry>
2954 <entry>Shows numerous generic &kde;-specific options.</entry>
2955 </row>
2956 <row>
2957 <entry><option>--help-all</option></entry>
2958 <entry>Shows all options.</entry>
2959 </row>
2960 <row>
2961 <entry><option>--author</option></entry>
2962 <entry>Shows the names and email addresses of &kalarm; authors.</entry>
2963 </row>
2964 <row>
2965 <entry><option>-v</option>, <option>--version</option></entry>
2966 <entry>Shows the running versions of the &Qt; library , &kde; and
2967 &kalarm;.</entry>
2968 </row>
2969 <row>
2970 <entry><option>--license</option></entry>
2971 <entry>Show license information.</entry>
2972 </row>
2973 </tbody>
2974 </tgroup>
2975 </informaltable>
2977 </sect1>
2978 </chapter>
2980 <chapter id="developers">
2981 <title>Developer's Guide to &kalarm;</title>
2983 <para>&kalarm; provides an interface to allow other applications to
2984 request the following functions:</para>
2986 <itemizedlist>
2987 <listitem><para>schedule a new alarm</para></listitem>
2988 <listitem><para>cancel an already scheduled alarm</para></listitem>
2989 <listitem><para>trigger an already scheduled alarm</para></listitem>
2990 <listitem><para>display the Alarm Edit dialog</para></listitem>
2991 </itemizedlist>
2993 <para>Each of the above functions is implemented both by a D-Bus call
2994 and by the command line. D-Bus calls should be used in preference if
2995 &kalarm; is already running.</para>
2997 <sect1 id="dbus-interface">
2998 <title>D-Bus Interface</title>
3000 <para>The D-Bus calls described in this document are all implemented
3001 in &kalarm;'s <constant>/kalarm</constant> D-Bus object path. The
3002 interface is defined in the files
3003 <filename>org.kde.kalarm.kalarm.xml</filename> and
3004 <filename>kalarmiface.h</filename>.</para>
3006 <refentry id="cancelEvent">
3007 <refmeta>
3008 <refentrytitle>cancelEvent</refentrytitle>
3009 </refmeta>
3010 <refnamediv>
3011 <refname>cancelEvent</refname>
3012 <refpurpose>cancel an already scheduled alarm.</refpurpose>
3013 </refnamediv>
3014 <refsynopsisdiv>
3015 <synopsis>
3016 void cancelEvent(const QString&amp; <replaceable>eventID</replaceable>)
3017 </synopsis>
3019 <refsect2>
3020 <title>Parameters</title>
3021 <variablelist>
3022 <varlistentry>
3023 <term><parameter>eventID</parameter></term>
3024 <listitem>
3025 <para>Specifies the unique ID of the event to be canceled.</para>
3026 </listitem>
3027 </varlistentry>
3028 </variablelist>
3029 </refsect2>
3030 </refsynopsisdiv>
3032 <refsect1>
3033 <title>Description</title>
3035 <para><function>cancelEvent()</function> is a D-Bus call to cancel
3036 the specified alarm. &kalarm; deletes the alarm from the calendar
3037 without displaying or executing it.</para>
3039 </refsect1>
3040 </refentry>
3042 <refentry id="triggerEvent">
3043 <refmeta>
3044 <refentrytitle>triggerEvent</refentrytitle>
3045 </refmeta>
3046 <refnamediv>
3047 <refname>triggerEvent</refname>
3048 <refpurpose>trigger an already scheduled alarm.</refpurpose>
3049 </refnamediv>
3050 <refsynopsisdiv>
3051 <synopsis>
3052 void triggerEvent(const QString&amp; <replaceable>eventID</replaceable>)
3053 </synopsis>
3055 <refsect2>
3056 <title>Parameters</title>
3057 <variablelist>
3058 <varlistentry>
3059 <term><parameter>eventID</parameter></term>
3060 <listitem>
3061 <para>Specifies the unique ID of the event to be triggered.</para>
3062 </listitem>
3063 </varlistentry>
3064 </variablelist>
3065 </refsect2>
3066 </refsynopsisdiv>
3068 <refsect1>
3069 <title>Description</title>
3071 <para><function>triggerEvent()</function> is a D-Bus call to trigger
3072 the immediate display or execution of the specified alarm (regardless
3073 of what time it is scheduled for). &kalarm; retrieves the alarm from
3074 the calendar and then displays or executes it.</para>
3076 <para>If the alarm is already due, &kalarm; then deletes all scheduled
3077 occurrences of the alarm up to the current time, and if no repetitions
3078 of the alarm still remain, the alarm is deleted from the calendar. If
3079 the alarm is not due yet, its scheduled occurrences are left
3080 unchanged.</para>
3082 </refsect1>
3083 </refentry>
3085 <refentry id="scheduleMessage">
3086 <refmeta>
3087 <refentrytitle>scheduleMessage</refentrytitle>
3088 </refmeta>
3089 <refnamediv>
3090 <refname>scheduleMessage</refname>
3091 <refpurpose>schedule a new alarm message.</refpurpose>
3092 </refnamediv>
3093 <refsynopsisdiv>
3094 <synopsis>
3095 bool scheduleMessage(const QString&amp; <replaceable>message</replaceable>,
3096 const QString&amp; <replaceable>startDateTime</replaceable>,
3097 int <replaceable>lateCancel</replaceable>,
3098 unsigned <replaceable>flags</replaceable>,
3099 const QString&amp; <replaceable>bgColor</replaceable>,
3100 const QString&amp; <replaceable>fgColor</replaceable>,
3101 const QString&amp; <replaceable>font</replaceable>,
3102 const QString&amp; <replaceable>audioURL</replaceable>,
3103 int <replaceable>reminderMins</replaceable>,
3104 const QString&amp; <replaceable>recurrence</replaceable>,
3105 int <replaceable>subRepeatInterval</replaceable>,
3106 int <replaceable>subRepeatCount</replaceable>)
3107 </synopsis>
3108 <synopsis>
3109 bool scheduleMessage(const QString&amp; <replaceable>message</replaceable>,
3110 const QString&amp; <replaceable>startDateTime</replaceable>,
3111 int <replaceable>lateCancel</replaceable>,
3112 unsigned <replaceable>flags</replaceable>,
3113 const QString&amp; <replaceable>bgColor</replaceable>,
3114 const QString&amp; <replaceable>fgColor</replaceable>,
3115 const QString&amp; <replaceable>font</replaceable>,
3116 const QString&amp; <replaceable>audioURL</replaceable>,
3117 int <replaceable>reminderMins</replaceable>,
3118 int <replaceable>recurType</replaceable>,
3119 int <replaceable>recurInterval</replaceable>,
3120 int <replaceable>recurCount</replaceable>)
3121 </synopsis>
3122 <synopsis>
3123 bool scheduleMessage(const QString&amp; <replaceable>message</replaceable>,
3124 const QString&amp; <replaceable>startDateTime</replaceable>,
3125 int <replaceable>lateCancel</replaceable>,
3126 unsigned <replaceable>flags</replaceable>,
3127 const QString&amp; <replaceable>bgColor</replaceable>,
3128 const QString&amp; <replaceable>fgColor</replaceable>,
3129 const QString&amp; <replaceable>font</replaceable>,
3130 const QString&amp; <replaceable>audioURL</replaceable>,
3131 int <replaceable>reminderMins</replaceable>,
3132 int <replaceable>recurType</replaceable>,
3133 int <replaceable>recurInterval</replaceable>,
3134 const QString&amp; <replaceable>endDateTime</replaceable>)
3135 </synopsis>
3137 <refsect2>
3138 <title>Parameters</title>
3139 <variablelist>
3140 <varlistentry>
3141 <term><parameter>message</parameter></term>
3142 <listitem>
3143 <para>Specifies the text of the message to be scheduled, or if
3144 <parameter>flags</parameter> has the
3145 <userinput>DISPLAY_COMMAND</userinput> bit set, specifies the command
3146 line to execute to generate the message text.</para>
3147 </listitem>
3148 </varlistentry>
3150 <varlistentry>
3151 <term><parameter>startDateTime</parameter></term>
3152 <listitem>
3153 <para>Specifies the scheduled date, or date and time, at which the
3154 message should be displayed. For a date-only alarm, the string should
3155 be in the format <replaceable>YYYY-MM-DD [TZ]</replaceable> (as
3156 returned by <methodname>QDate::toString(Qt::ISODate)</methodname>). For
3157 an alarm with a date and time, the string should be in the format
3158 <replaceable>YYYY-MM-DDTHH:MM[:SS] [TZ]</replaceable> (as returned by
3159 <methodname>QDateTime::toString(Qt::ISODate)</methodname>) or
3160 <replaceable>HH:MM[:SS] [Clock]</replaceable> (as returned by
3161 <methodname>QTime::toString(Qt::ISODate)</methodname>). If no date is
3162 specified, today's date is used. Note that any seconds value is
3163 ignored.</para>
3165 <para>If no time zone is specified, the local system time zone is
3166 assumed. If a time zone specifier <replaceable>TZ</replaceable> is
3167 present, it may be the name of a system time zone (&eg;
3168 <userinput>Europe/London</userinput>), <userinput>UTC</userinput>
3169 representing the UTC time zone, or <userinput>Clock</userinput> to use
3170 the local computer clock and ignore time zones.</para>
3171 </listitem>
3172 </varlistentry>
3174 <varlistentry>
3175 <term><parameter>lateCancel</parameter></term>
3176 <listitem>
3177 <para>Causes the alarm to be canceled if it cannot be triggered within
3178 the specified number of minutes after the alarm's scheduled time. If
3179 the value is 0, the alarm will not be canceled no matter how late it
3180 is triggered.</para>
3181 </listitem>
3182 </varlistentry>
3184 <varlistentry>
3185 <term><parameter>flags</parameter></term>
3186 <listitem>
3187 <para>Specifies the logical OR of the desired alarm flags. The flag
3188 bits are those defined in class <classname>KAlarmIface</classname> in
3189 <filename>kalarmiface.h</filename>. Note that not all flag bits are
3190 applicable to message alarms.</para>
3191 </listitem>
3192 </varlistentry>
3194 <varlistentry>
3195 <term><parameter>bgColor</parameter></term>
3196 <listitem>
3197 <para>Specifies the background color for displaying the message. The
3198 string may be in the format <quote>#RRGGBB</quote> (as returned by
3199 <methodname>QColor::name()</methodname>) where RR, GG and BB are
3200 two-digit hexadecimal values for red, green and blue. Alternatively
3201 the string may be in any of the other formats accepted by
3202 <methodname>QColor::setNamedColor()</methodname>, such as a name from
3203 the X color database (&eg; <quote>red</quote> or
3204 <quote>steelblue</quote>). Set the string to null to specify the
3205 current default background color.</para>
3206 </listitem>
3207 </varlistentry>
3209 <varlistentry>
3210 <term><parameter>fgColor</parameter></term>
3211 <listitem>
3212 <para>Specifies the foreground color for displaying the message. The
3213 format of the string is the same as for
3214 <parameter>bgColor</parameter>, or alternatively set the string to
3215 null to specify the current default foreground color.</para>
3216 </listitem>
3217 </varlistentry>
3219 <varlistentry>
3220 <term><parameter>font</parameter></term>
3221 <listitem>
3222 <para>Specifies the font for displaying the message. The format of the
3223 string is that output by <methodname>QFont::toString()</methodname>.
3224 Set the string to null to use the default message font current at the
3225 time the message is displayed.</para>
3226 </listitem>
3227 </varlistentry>
3229 <varlistentry>
3230 <term><parameter>audioURL</parameter></term>
3231 <listitem>
3232 <para>Specifies the audio file which is to be played when the message
3233 is displayed. Set the value to null if no audio file is to be
3234 played.</para>
3235 </listitem>
3236 </varlistentry>
3238 <varlistentry>
3239 <term><parameter>reminderMins</parameter></term>
3240 <listitem>
3241 <para>Specifies the number of minutes in advance of the main alarm
3242 and of each of its recurrences (if any) at which a reminder alarm
3243 should be displayed. Specify 0 if no reminder is required.</para>
3244 </listitem>
3245 </varlistentry>
3247 <varlistentry>
3248 <term><parameter>recurrence</parameter></term>
3249 <listitem>
3250 <para>Specifies a regular recurrence for the alarm, using iCalendar
3251 syntax as defined in
3252 <ulink url="http://www.w3.org/2002/12/cal/rfc2445.html">RFC2445</ulink>.
3253 For example, <quote>FREQ=MONTHLY;COUNT=4;INTERVAL=3;BYDAY=-1MO</quote>
3254 would specify 4 repetitions at 3-monthly intervals on the last Monday
3255 of the month. For a non-recurring alarm, specify an empty
3256 string.</para>
3257 </listitem>
3258 </varlistentry>
3260 <varlistentry>
3261 <term><parameter>recurType</parameter></term>
3262 <listitem>
3263 <para>Specifies the recurrence type for the alarm. The permissible
3264 values are MINUTELY, DAILY, WEEKLY, MONTHLY, YEARLY. These
3265 are defined in class <classname>KAlarmIface</classname> in
3266 <filename>kalarmiface.h</filename>. Monthly recurrences are of the
3267 day of the month type, and yearly recurrences are of the date in
3268 the year type, with the date in both cases taken from the
3269 <parameter>startDateTime</parameter> parameter.</para>
3270 </listitem>
3271 </varlistentry>
3273 <varlistentry>
3274 <term><parameter>recurInterval</parameter></term>
3275 <listitem>
3276 <para>Specifies the number of periods
3277 (minutes/days/weeks/months/years as specified by
3278 <parameter>recurType</parameter>) between recurrences of the
3279 alarm.</para>
3280 </listitem>
3281 </varlistentry>
3283 <varlistentry>
3284 <term><parameter>recurCount</parameter></term>
3285 <listitem>
3286 <para>Specifies the number of times that the alarm should be
3287 repeated. Specify -1 to repeat the alarm indefinitely.</para>
3288 </listitem>
3289 </varlistentry>
3291 <varlistentry>
3292 <term><parameter>endDateTime</parameter></term>
3293 <listitem>
3294 <para>Specifies the end date, or date and time, for recurrences of the
3295 alarm. If <parameter>startDateTime</parameter> includes a time, this
3296 parameter must also include a time; if <parameter>startDateTime</parameter>
3297 contains only a date, this parameter must also contain only a
3298 date. It must not contain a time zone specifier; the same time zone as
3299 for <parameter>startDateTime</parameter> is used to interpret this
3300 parameter's value.</para>
3301 </listitem>
3302 </varlistentry>
3304 <varlistentry>
3305 <term><parameter>subRepeatInterval</parameter></term>
3306 <listitem>
3307 <para>Specifies the number of minutes between sub-repetitions of
3308 the alarm. Specify 0 for no sub-repetition. Ignored if no recurrence
3309 is specified.</para>
3310 </listitem>
3311 </varlistentry>
3313 <varlistentry>
3314 <term><parameter>subRepeatCount</parameter></term>
3315 <listitem>
3316 <para>Specifies the number of sub-repetitions of the alarm,
3317 including the initial occurrence.</para>
3318 </listitem>
3319 </varlistentry>
3320 </variablelist>
3321 </refsect2>
3322 </refsynopsisdiv>
3324 <refsect1 id="scheduleMessage-descrip">
3325 <title>Description</title>
3326 <para><function>scheduleMessage()</function> is a D-Bus call to
3327 schedule the specified alarm message for display at the specified date
3328 and time. It has three forms. The most general form allows an
3329 arbitrary recurrence to be specified &ndash; use this also for
3330 non-repeating alarms. The other forms provide convenient access to a
3331 restricted set of alarm recurrence types, one specifying a repetition
3332 count and the other an end time.</para>
3334 <para>If the scheduled time (including any repetitions) has already
3335 passed, &kalarm; immediately displays the message (unless the
3336 <parameter>lateCancel</parameter> value indicates that it is now too
3337 late to display the alarm, in which case &kalarm; ignores the
3338 request). If the scheduled time (or a repetition) is in the future,
3339 &kalarm; adds the alarm message to the default active alarm resource
3340 for later display.</para>
3341 </refsect1>
3342 </refentry>
3344 <refentry id="scheduleFile">
3345 <refmeta>
3346 <refentrytitle>scheduleFile</refentrytitle>
3347 </refmeta>
3348 <refnamediv>
3349 <refname>scheduleFile</refname>
3350 <refpurpose>schedule a new alarm which displays the contents of a
3351 text or image file.</refpurpose>
3352 </refnamediv>
3353 <refsynopsisdiv>
3354 <synopsis>
3355 bool scheduleFile(const QString&amp; <replaceable>URL</replaceable>,
3356 const QString&amp; <replaceable>startDateTime</replaceable>,
3357 int <replaceable>lateCancel</replaceable>,
3358 unsigned <replaceable>flags</replaceable>,
3359 const QString&amp; <replaceable>bgColor</replaceable>,
3360 const QString&amp; <replaceable>audioURL</replaceable>,
3361 int <replaceable>reminderMins</replaceable>,
3362 const QString&amp; <replaceable>recurrence</replaceable>,
3363 int <replaceable>subRepeatInterval</replaceable>,
3364 int <replaceable>subRepeatCount</replaceable>)
3365 </synopsis>
3366 <synopsis>
3367 bool scheduleFile(const QString&amp; <replaceable>URL</replaceable>,
3368 const QString&amp; <replaceable>startDateTime</replaceable>,
3369 int <replaceable>lateCancel</replaceable>,
3370 unsigned <replaceable>flags</replaceable>,
3371 const QString&amp; <replaceable>bgColor</replaceable>,
3372 const QString&amp; <replaceable>audioURL</replaceable>,
3373 int <replaceable>reminderMins</replaceable>,
3374 int <replaceable>recurType</replaceable>,
3375 int <replaceable>recurInterval</replaceable>,
3376 int <replaceable>recurCount</replaceable>)
3377 </synopsis>
3378 <synopsis>
3379 bool scheduleFile(const QString&amp; <replaceable>URL</replaceable>,
3380 const QString&amp; <replaceable>startDateTime</replaceable>,
3381 int <replaceable>lateCancel</replaceable>,
3382 unsigned <replaceable>flags</replaceable>,
3383 const QString&amp; <replaceable>bgColor</replaceable>,
3384 const QString&amp; <replaceable>audioURL</replaceable>,
3385 int <replaceable>reminderMins</replaceable>,
3386 int <replaceable>recurType</replaceable>,
3387 int <replaceable>recurInterval</replaceable>,
3388 const QString&amp; <replaceable>endDateTime</replaceable>)
3389 </synopsis>
3391 <refsect2>
3392 <title>Parameters</title>
3393 <variablelist>
3394 <varlistentry>
3395 <term><parameter>URL</parameter></term>
3396 <listitem>
3397 <para>Specifies the text or image file whose contents are to be
3398 displayed in the message to be scheduled.</para>
3399 </listitem>
3400 </varlistentry>
3402 <varlistentry>
3403 <term><parameter>startDateTime</parameter></term>
3404 <listitem>
3405 <para>Specifies the scheduled date, or date and time, at which the
3406 message should be displayed. For a date-only alarm, the string should
3407 be in the format <replaceable>YYYY-MM-DD [TZ]</replaceable> (as
3408 returned by <methodname>QDate::toString(Qt::ISODate)</methodname>). For
3409 an alarm with a date and time, the string should be in the format
3410 <replaceable>YYYY-MM-DDTHH:MM[:SS] [TZ]</replaceable> (as returned by
3411 <methodname>QDateTime::toString(Qt::ISODate)</methodname>) or
3412 <replaceable>HH:MM[:SS] [Clock]</replaceable> (as returned by
3413 <methodname>QTime::toString(Qt::ISODate)</methodname>). If no date is
3414 specified, today's date is used. Note that any seconds value is
3415 ignored.</para>
3417 <para>If no time zone is specified, the local system time zone is
3418 assumed. If a time zone specifier <replaceable>TZ</replaceable> is
3419 present, it may be the name of a system time zone (&eg;
3420 <userinput>Europe/London</userinput>), <userinput>UTC</userinput>
3421 representing the UTC time zone, or <userinput>Clock</userinput> to use
3422 the local computer clock and ignore time zones.</para>
3423 </listitem>
3424 </varlistentry>
3426 <varlistentry>
3427 <term><parameter>lateCancel</parameter></term>
3428 <listitem>
3429 <para>Causes the alarm to be canceled if it cannot be triggered within
3430 the specified number of minutes after the alarm's scheduled time. If
3431 the value is 0, the alarm will not be canceled no matter how late it
3432 is triggered.</para>
3433 </listitem>
3434 </varlistentry>
3436 <varlistentry>
3437 <term><parameter>flags</parameter></term>
3438 <listitem>
3439 <para>Specifies the logical OR of the desired alarm flags. The flag
3440 bits are those defined in class <classname>KAlarmIface</classname> in
3441 <filename>kalarmiface.h</filename>. Note that not all flag bits are
3442 applicable to file alarms.</para>
3443 </listitem>
3444 </varlistentry>
3446 <varlistentry>
3447 <term><parameter>bgColor</parameter></term>
3448 <listitem>
3449 <para>Specifies the background color for displaying the file. The
3450 string may be in the format <quote>#RRGGBB</quote> (as returned by
3451 <methodname>QColor::name()</methodname>) where RR, GG and BB are
3452 two-digit hexadecimal values for red, green and blue. Alternatively
3453 the string may be in any of the other formats accepted by
3454 <methodname>QColor::setNamedColor()</methodname>, such as a name from
3455 the X color database (&eg; <quote>red</quote> or
3456 <quote>steelblue</quote>). Set the string to null to specify the
3457 current default background color.</para>
3458 </listitem>
3459 </varlistentry>
3461 <varlistentry>
3462 <term><parameter>audioURL</parameter></term>
3463 <listitem>
3464 <para>Specifies the audio file which is to be played when the message
3465 is displayed. Set the value to null if no audio file is to be
3466 played.</para>
3467 </listitem>
3468 </varlistentry>
3470 <varlistentry>
3471 <term><parameter>reminderMins</parameter></term>
3472 <listitem>
3473 <para>Specifies the number of minutes in advance of the main alarm
3474 and of each of its recurrences (if any) at which a reminder alarm
3475 should be displayed. Specify 0 if no reminder is required.</para>
3476 </listitem>
3477 </varlistentry>
3479 <varlistentry>
3480 <term><parameter>recurrence</parameter></term>
3481 <listitem>
3482 <para>Specifies a regular recurrence for the alarm, using iCalendar
3483 syntax as defined in
3484 <ulink url="http://www.w3.org/2002/12/cal/rfc2445.html">RFC2445</ulink>.
3485 For example, <quote>FREQ=MONTHLY;COUNT=4;INTERVAL=3;BYDAY=-1MO</quote>
3486 would specify 4 repetitions at 3-monthly intervals on the last Monday
3487 of the month. For a non-recurring alarm, specify an empty
3488 string.</para>
3489 </listitem>
3490 </varlistentry>
3492 <varlistentry>
3493 <term><parameter>recurType</parameter></term>
3494 <listitem>
3495 <para>Specifies the recurrence type for the alarm. The permissible
3496 values are MINUTELY, DAILY, WEEKLY, MONTHLY, YEARLY. These
3497 are defined in class <classname>KAlarmIface</classname> in
3498 <filename>kalarmiface.h</filename>. Monthly recurrences are of the
3499 day of the month type, and yearly recurrences are of the date in
3500 the year type, with the date in both cases taken from the
3501 <parameter>startDateTime</parameter> parameter.</para>
3502 </listitem>
3503 </varlistentry>
3505 <varlistentry>
3506 <term><parameter>recurInterval</parameter></term>
3507 <listitem>
3508 <para>Specifies the number of periods
3509 (minutes/days/weeks/months/years as specified by
3510 <parameter>recurType</parameter>) between recurrences of the
3511 alarm.</para>
3512 </listitem>
3513 </varlistentry>
3515 <varlistentry>
3516 <term><parameter>recurCount</parameter></term>
3517 <listitem>
3518 <para>Specifies the number of times that the alarm should be
3519 repeated. Specify -1 to repeat the alarm indefinitely.</para>
3520 </listitem>
3521 </varlistentry>
3523 <varlistentry>
3524 <term><parameter>endDateTime</parameter></term>
3525 <listitem>
3526 <para>Specifies the end date, or date and time, for recurrences of the
3527 alarm. If <parameter>startDateTime</parameter> includes a time, this
3528 parameter must also include a time; if <parameter>startDateTime</parameter>
3529 contains only a date, this parameter must also contain only a
3530 date. It must not contain a time zone specifier; the same time zone as
3531 for <parameter>startDateTime</parameter> is used to interpret this
3532 parameter's value.</para>
3533 </listitem>
3534 </varlistentry>
3536 <varlistentry>
3537 <term><parameter>subRepeatInterval</parameter></term>
3538 <listitem>
3539 <para>Specifies the number of minutes between sub-repetitions of
3540 the alarm. Specify 0 for no sub-repetition. Ignored if no recurrence
3541 is specified.</para>
3542 </listitem>
3543 </varlistentry>
3545 <varlistentry>
3546 <term><parameter>subRepeatCount</parameter></term>
3547 <listitem>
3548 <para>Specifies the number of sub-repetitions of the alarm,
3549 including the initial occurrence.</para>
3550 </listitem>
3551 </varlistentry>
3552 </variablelist>
3553 </refsect2>
3554 </refsynopsisdiv>
3556 <refsect1>
3557 <title>Description</title>
3558 <para><function>scheduleFile()</function> is a D-Bus call to schedule
3559 the specified text or image file for display at the specified date and
3560 time. Apart from specifying a file path or &URL; and omitting the
3561 foreground color and font, its usage is identical to
3562 <link linkend="scheduleMessage-descrip"><function>scheduleMessage</function></link>
3563 - see the description of that function for further details.</para>
3564 </refsect1>
3565 </refentry>
3568 <refentry id="scheduleCommand">
3569 <refmeta>
3570 <refentrytitle>scheduleCommand</refentrytitle>
3571 </refmeta>
3572 <refnamediv>
3573 <refname>scheduleCommand</refname>
3574 <refpurpose>schedule a new alarm which executes a shell
3575 command.</refpurpose>
3576 </refnamediv>
3577 <refsynopsisdiv>
3578 <synopsis>
3579 bool scheduleCommand(const QString&amp; <replaceable>commandLine</replaceable>,
3580 const QString&amp; <replaceable>startDateTime</replaceable>,
3581 int <replaceable>lateCancel</replaceable>,
3582 unsigned <replaceable>flags</replaceable>,
3583 const QString&amp; <replaceable>recurrence</replaceable>,
3584 int <replaceable>subRepeatInterval</replaceable>,
3585 int <replaceable>subRepeatCount</replaceable>)
3586 </synopsis>
3587 <synopsis>
3588 bool scheduleCommand(const QString&amp; <replaceable>commandLine</replaceable>,
3589 const QString&amp; <replaceable>startDateTime</replaceable>,
3590 int <replaceable>lateCancel</replaceable>,
3591 unsigned <replaceable>flags</replaceable>,
3592 int <replaceable>recurType</replaceable>,
3593 int <replaceable>recurInterval</replaceable>,
3594 int <replaceable>recurCount</replaceable>)
3595 </synopsis>
3596 <synopsis>
3597 bool scheduleCommand(const QString&amp; <replaceable>commandLine</replaceable>,
3598 const QString&amp; <replaceable>startDateTime</replaceable>,
3599 int <replaceable>lateCancel</replaceable>,
3600 unsigned <replaceable>flags</replaceable>,
3601 int <replaceable>recurType</replaceable>,
3602 int <replaceable>recurInterval</replaceable>,
3603 const QString&amp; <replaceable>endDateTime</replaceable>)
3604 </synopsis>
3606 <refsect2>
3607 <title>Parameters</title>
3608 <variablelist>
3609 <varlistentry>
3610 <term><parameter>commandLine</parameter></term>
3611 <listitem>
3612 <para>Specifies the command whose execution is to be scheduled. The
3613 <parameter>flags</parameter> parameter indicates whether this
3614 parameter contains a shell command line or a command script.</para>
3615 </listitem>
3616 </varlistentry>
3618 <varlistentry>
3619 <term><parameter>startDateTime</parameter></term>
3620 <listitem>
3621 <para>Specifies the scheduled date, or date and time, at which the
3622 message should be displayed. For a date-only alarm, the string should
3623 be in the format <replaceable>YYYY-MM-DD [TZ]</replaceable> (as
3624 returned by <methodname>QDate::toString(Qt::ISODate)</methodname>). For
3625 an alarm with a date and time, the string should be in the format
3626 <replaceable>YYYY-MM-DDTHH:MM[:SS] [TZ]</replaceable> (as returned by
3627 <methodname>QDateTime::toString(Qt::ISODate)</methodname>) or
3628 <replaceable>HH:MM[:SS] [Clock]</replaceable> (as returned by
3629 <methodname>QTime::toString(Qt::ISODate)</methodname>). If no date is
3630 specified, today's date is used. Note that any seconds value is
3631 ignored.</para>
3633 <para>If no time zone is specified, the local system time zone is
3634 assumed. If a time zone specifier <replaceable>TZ</replaceable> is
3635 present, it may be the name of a system time zone (&eg;
3636 <userinput>Europe/London</userinput>), <userinput>UTC</userinput>
3637 representing the UTC time zone, or <userinput>Clock</userinput> to use
3638 the local computer clock and ignore time zones.</para>
3639 </listitem>
3640 </varlistentry>
3642 <varlistentry>
3643 <term><parameter>lateCancel</parameter></term>
3644 <listitem>
3645 <para>Causes the alarm to be canceled if it cannot be triggered within
3646 the specified number of minutes after the alarm's scheduled time. If
3647 the value is 0, the alarm will not be canceled no matter how late it
3648 is triggered.</para>
3649 </listitem>
3650 </varlistentry>
3652 <varlistentry>
3653 <term><parameter>flags</parameter></term>
3654 <listitem>
3655 <para>Specifies the logical OR of the desired alarm flags. The flag
3656 bits are those defined in class <classname>KAlarmIface</classname> in
3657 <filename>kalarmiface.h</filename>. Note that not all flag bits are
3658 applicable to command alarms.</para>
3659 </listitem>
3660 </varlistentry>
3662 <varlistentry>
3663 <term><parameter>recurrence</parameter></term>
3664 <listitem>
3665 <para>Specifies a regular recurrence for the alarm, using iCalendar
3666 syntax as defined in
3667 <ulink url="http://www.w3.org/2002/12/cal/rfc2445.html">RFC2445</ulink>.
3668 For example, <quote>FREQ=MONTHLY;COUNT=4;INTERVAL=3;BYDAY=-1MO</quote>
3669 would specify 4 repetitions at 3-monthly intervals on the last Monday
3670 of the month. For a non-recurring alarm, specify an empty
3671 string.</para>
3672 </listitem>
3673 </varlistentry>
3675 <varlistentry>
3676 <term><parameter>recurType</parameter></term>
3677 <listitem>
3678 <para>Specifies the recurrence type for the alarm. The permissible
3679 values are MINUTELY, DAILY, WEEKLY, MONTHLY, YEARLY. These
3680 are defined in class <classname>KAlarmIface</classname> in
3681 <filename>kalarmiface.h</filename>. Monthly recurrences are of the
3682 day of the month type, and yearly recurrences are of the date in
3683 the year type, with the date in both cases taken from the
3684 <parameter>startDateTime</parameter> parameter.</para>
3685 </listitem>
3686 </varlistentry>
3688 <varlistentry>
3689 <term><parameter>recurInterval</parameter></term>
3690 <listitem>
3691 <para>Specifies the number of periods
3692 (minutes/days/weeks/months/years as specified by
3693 <parameter>recurType</parameter>) between recurrences of the
3694 alarm.</para>
3695 </listitem>
3696 </varlistentry>
3698 <varlistentry>
3699 <term><parameter>recurCount</parameter></term>
3700 <listitem>
3701 <para>Specifies the number of times that the alarm should be
3702 repeated. Specify -1 to repeat the alarm indefinitely.</para>
3703 </listitem>
3704 </varlistentry>
3706 <varlistentry>
3707 <term><parameter>endDateTime</parameter></term>
3708 <listitem>
3709 <para>Specifies the end date, or date and time, for recurrences of the
3710 alarm. If <parameter>startDateTime</parameter> includes a time, this
3711 parameter must also include a time; if <parameter>startDateTime</parameter>
3712 contains only a date, this parameter must also contain only a
3713 date. It must not contain a time zone specifier; the same time zone as
3714 for <parameter>startDateTime</parameter> is used to interpret this
3715 parameter's value.</para>
3716 </listitem>
3717 </varlistentry>
3719 <varlistentry>
3720 <term><parameter>subRepeatInterval</parameter></term>
3721 <listitem>
3722 <para>Specifies the number of minutes between sub-repetitions of
3723 the alarm. Specify 0 for no sub-repetition. Ignored if no recurrence
3724 is specified.</para>
3725 </listitem>
3726 </varlistentry>
3728 <varlistentry>
3729 <term><parameter>subRepeatCount</parameter></term>
3730 <listitem>
3731 <para>Specifies the number of sub-repetitions of the alarm,
3732 including the initial occurrence.</para>
3733 </listitem>
3734 </varlistentry>
3735 </variablelist>
3736 </refsect2>
3737 </refsynopsisdiv>
3739 <refsect1>
3740 <title>Description</title>
3741 <para><function>scheduleCommand()</function> is a D-Bus call to
3742 schedule the specified shell command line, or command script, for
3743 execution at the specified date and time. Apart from specifying a
3744 command and omitting the message color, font and audio file
3745 parameters, its usage is identical to
3746 <link linkend="scheduleMessage-descrip"><function>scheduleMessage</function></link>
3747 - see the description of that function for further details.</para>
3748 </refsect1>
3749 </refentry>
3752 <refentry id="scheduleEmail">
3753 <refmeta>
3754 <refentrytitle>scheduleEmail</refentrytitle>
3755 </refmeta>
3756 <refnamediv>
3757 <refname>scheduleEmail</refname>
3758 <refpurpose>schedule a new alarm which sends an email.</refpurpose>
3759 </refnamediv>
3760 <refsynopsisdiv>
3761 <synopsis>
3762 bool scheduleEmail(const QString&amp; <replaceable>fromID</replaceable>,
3763 const QString&amp; <replaceable>addresses</replaceable>,
3764 const QString&amp; <replaceable>subject</replaceable>,
3765 const QString&amp; <replaceable>message</replaceable>,
3766 const QString&amp; <replaceable>attachments</replaceable>,
3767 const QString&amp; <replaceable>startDateTime</replaceable>,
3768 int <replaceable>lateCancel</replaceable>,
3769 unsigned <replaceable>flags</replaceable>,
3770 const QString&amp; <replaceable>recurrence</replaceable>,
3771 int <replaceable>subRepeatInterval</replaceable>,
3772 int <replaceable>subRepeatCount</replaceable>)
3773 </synopsis>
3774 <synopsis>
3775 bool scheduleEmail(const QString&amp; <replaceable>fromID</replaceable>,
3776 const QString&amp; <replaceable>addresses</replaceable>,
3777 const QString&amp; <replaceable>subject</replaceable>,
3778 const QString&amp; <replaceable>message</replaceable>,
3779 const QString&amp; <replaceable>attachments</replaceable>,
3780 const QString&amp; <replaceable>startDateTime</replaceable>,
3781 int <replaceable>lateCancel</replaceable>,
3782 unsigned <replaceable>flags</replaceable>,
3783 int <replaceable>recurType</replaceable>,
3784 int <replaceable>recurInterval</replaceable>,
3785 int <replaceable>recurCount</replaceable>)
3786 </synopsis>
3787 <synopsis>
3788 bool scheduleEmail(const QString&amp; <replaceable>fromID</replaceable>,
3789 const QString&amp; <replaceable>addresses</replaceable>,
3790 const QString&amp; <replaceable>subject</replaceable>,
3791 const QString&amp; <replaceable>message</replaceable>,
3792 const QString&amp; <replaceable>attachments</replaceable>,
3793 const QString&amp; <replaceable>startDateTime</replaceable>,
3794 int <replaceable>lateCancel</replaceable>,
3795 unsigned <replaceable>flags</replaceable>,
3796 int <replaceable>recurType</replaceable>,
3797 int <replaceable>recurInterval</replaceable>,
3798 const QString&amp; <replaceable>endTime</replaceable>)
3799 </synopsis>
3801 <refsect2>
3802 <title>Parameters</title>
3803 <variablelist>
3804 <varlistentry>
3805 <term><parameter>fromID</parameter></term>
3806 <listitem>
3807 <para>The &kmail; identity to use as the sender of the email. If
3808 empty, the sender's email address will be that configured in
3809 &kalarm;'s
3810 <link linkend="preferences-email">Email preferences</link>.</para>
3811 </listitem>
3812 </varlistentry>
3814 <varlistentry>
3815 <term><parameter>addresses</parameter></term>
3816 <listitem>
3817 <para>A comma separated list of recipients' email addresses.</para>
3818 </listitem>
3819 </varlistentry>
3821 <varlistentry>
3822 <term><parameter>subject</parameter></term>
3823 <listitem>
3824 <para>Specifies the subject line of the email.</para>
3825 </listitem>
3826 </varlistentry>
3828 <varlistentry>
3829 <term><parameter>message</parameter></term>
3830 <listitem>
3831 <para>Specifies the email message body.</para>
3832 </listitem>
3833 </varlistentry>
3835 <varlistentry>
3836 <term><parameter>attachments</parameter></term>
3837 <listitem>
3838 <para>A comma-separated list of paths or &URL;s of files to send as
3839 email attachments.</para>
3840 </listitem>
3841 </varlistentry>
3843 <varlistentry>
3844 <term><parameter>startDateTime</parameter></term>
3845 <listitem>
3846 <para>Specifies the scheduled date, or date and time, at which the
3847 message should be displayed. For a date-only alarm, the string should
3848 be in the format <replaceable>YYYY-MM-DD [TZ]</replaceable> (as
3849 returned by <methodname>QDate::toString(Qt::ISODate)</methodname>). For
3850 an alarm with a date and time, the string should be in the format
3851 <replaceable>YYYY-MM-DDTHH:MM[:SS] [TZ]</replaceable> (as returned by
3852 <methodname>QDateTime::toString(Qt::ISODate)</methodname>) or
3853 <replaceable>HH:MM[:SS] [Clock]</replaceable> (as returned by
3854 <methodname>QTime::toString(Qt::ISODate)</methodname>). If no date is
3855 specified, today's date is used. Note that any seconds value is
3856 ignored.</para>
3858 <para>If no time zone is specified, the local system time zone is
3859 assumed. If a time zone specifier <replaceable>TZ</replaceable> is
3860 present, it may be the name of a system time zone (&eg;
3861 <userinput>Europe/London</userinput>), <userinput>UTC</userinput>
3862 representing the UTC time zone, or <userinput>Clock</userinput> to use
3863 the local computer clock and ignore time zones.</para>
3864 </listitem>
3865 </varlistentry>
3867 <varlistentry>
3868 <term><parameter>lateCancel</parameter></term>
3869 <listitem>
3870 <para>Causes the alarm to be canceled if it cannot be triggered within
3871 the specified number of minutes after the alarm's scheduled time. If
3872 the value is 0, the alarm will not be canceled no matter how late it
3873 is triggered.</para>
3874 </listitem>
3875 </varlistentry>
3877 <varlistentry>
3878 <term><parameter>flags</parameter></term>
3879 <listitem>
3880 <para>Specifies the logical OR of the desired alarm flags. The flag
3881 bits are those defined in class <classname>KAlarmIface</classname> in
3882 <filename>kalarmiface.h</filename>. Note that not all flag bits are
3883 applicable to email alarms.</para>
3884 </listitem>
3885 </varlistentry>
3887 <varlistentry>
3888 <term><parameter>recurrence</parameter></term>
3889 <listitem>
3890 <para>Specifies a regular recurrence for the alarm, using iCalendar
3891 syntax as defined in
3892 <ulink url="http://www.w3.org/2002/12/cal/rfc2445.html">RFC2445</ulink>.
3893 For example, <quote>FREQ=MONTHLY;COUNT=4;INTERVAL=3;BYDAY=-1MO</quote>
3894 would specify 4 repetitions at 3-monthly intervals on the last Monday
3895 of the month. For a non-recurring alarm, specify an empty
3896 string.</para>
3897 </listitem>
3898 </varlistentry>
3900 <varlistentry>
3901 <term><parameter>recurType</parameter></term>
3902 <listitem>
3903 <para>Specifies the recurrence type for the alarm. The permissible
3904 values are MINUTELY, DAILY, WEEKLY, MONTHLY, YEARLY. These
3905 are defined in class <classname>KAlarmIface</classname> in
3906 <filename>kalarmiface.h</filename>. Monthly recurrences are of the
3907 day of the month type, and yearly recurrences are of the date in
3908 the year type, with the date in both cases taken from the
3909 <parameter>startDateTime</parameter> parameter.</para>
3910 </listitem>
3911 </varlistentry>
3913 <varlistentry>
3914 <term><parameter>recurInterval</parameter></term>
3915 <listitem>
3916 <para>Specifies the number of periods
3917 (minutes/days/weeks/months/years as specified by
3918 <parameter>recurType</parameter>) between recurrences of the
3919 alarm.</para>
3920 </listitem>
3921 </varlistentry>
3923 <varlistentry>
3924 <term><parameter>recurCount</parameter></term>
3925 <listitem>
3926 <para>Specifies the number of times that the alarm should be
3927 repeated. Specify -1 to repeat the alarm indefinitely.</para>
3928 </listitem>
3929 </varlistentry>
3931 <varlistentry>
3932 <term><parameter>endDateTime</parameter></term>
3933 <listitem>
3934 <para>Specifies the end date, or date and time, for recurrences of the
3935 alarm. If <parameter>startDateTime</parameter> includes a time, this
3936 parameter must also include a time; if <parameter>startDateTime</parameter>
3937 contains only a date, this parameter must also contain only a
3938 date. It must not contain a time zone specifier; the same time zone as
3939 for <parameter>startDateTime</parameter> is used to interpret this
3940 parameter's value.</para>
3941 </listitem>
3942 </varlistentry>
3944 <varlistentry>
3945 <term><parameter>subRepeatInterval</parameter></term>
3946 <listitem>
3947 <para>Specifies the number of minutes between sub-repetitions of
3948 the alarm. Specify 0 for no sub-repetition. Ignored if no recurrence
3949 is specified.</para>
3950 </listitem>
3951 </varlistentry>
3953 <varlistentry>
3954 <term><parameter>subRepeatCount</parameter></term>
3955 <listitem>
3956 <para>Specifies the number of sub-repetitions of the alarm,
3957 including the initial occurrence.</para>
3958 </listitem>
3959 </varlistentry>
3960 </variablelist>
3961 </refsect2>
3962 </refsynopsisdiv>
3964 <refsect1>
3965 <title>Description</title>
3966 <para><function>scheduleEmail()</function> is a D-Bus call to
3967 schedule the specified email for sending at the specified date and
3968 time. Apart from specifying the email header and contents and omitting
3969 the message color, font and audio file parameters, its usage is
3970 identical to
3971 <link linkend="scheduleMessage-descrip"><function>scheduleMessage</function></link>
3972 - see the description of that function for further details.</para>
3973 </refsect1>
3974 </refentry>
3976 <refentry id="dbus_edit">
3977 <refmeta>
3978 <refentrytitle>edit</refentrytitle>
3979 </refmeta>
3980 <refnamediv>
3981 <refname>edit</refname>
3982 <refpurpose>Display the <link linkend="alarm-edit-dlg">Alarm Edit
3983 dialog</link> to edit an alarm.</refpurpose>
3984 </refnamediv>
3985 <refsynopsisdiv>
3986 <synopsis>
3987 bool edit(const QString&amp; <replaceable>eventID</replaceable>)
3988 </synopsis>
3990 <refsect2>
3991 <title>Parameters</title>
3992 <variablelist>
3993 <varlistentry>
3994 <term><parameter>eventID</parameter></term>
3995 <listitem>
3996 <para>Specifies the unique ID of the event to be edited.</para>
3997 </listitem>
3998 </varlistentry>
3999 </variablelist>
4000 </refsect2>
4002 <refsect2>
4003 <title>Return value</title>
4004 <para><returnvalue>false</returnvalue> if the specified
4005 alarm could not be found or is read-only,
4006 <returnvalue>true</returnvalue> otherwise.</para>
4007 </refsect2>
4008 </refsynopsisdiv>
4010 <refsect1>
4011 <title>Description</title>
4013 <para><function>edit()</function> is a D-Bus call to display the
4014 <link linkend="alarm-edit-dlg">Alarm Edit dialog</link> to edit the
4015 specified alarm.</para>
4017 </refsect1>
4018 </refentry>
4020 <refentry id="dbus_editnew">
4021 <refmeta>
4022 <refentrytitle>editNew</refentrytitle>
4023 </refmeta>
4024 <refnamediv>
4025 <refname>editNew</refname>
4026 <refpurpose>Display the <link linkend="alarm-edit-dlg">Alarm Edit
4027 dialog</link> to edit a new alarm.</refpurpose>
4028 </refnamediv>
4029 <refsynopsisdiv>
4030 <synopsis>
4031 bool editNew(int <replaceable>type</replaceable>)
4032 </synopsis>
4033 <synopsis>
4034 bool editNew(const QString&amp; <replaceable>templateName</replaceable>)
4035 </synopsis>
4037 <refsect2>
4038 <title>Parameters</title>
4039 <variablelist>
4040 <varlistentry>
4041 <term><parameter>type</parameter></term>
4042 <listitem>
4043 <para>Specifies the alarm type. The permissible values are DISPLAY,
4044 COMMAND, EMAIL. These are defined in class
4045 <classname>KAlarmIface</classname> in
4046 <filename>kalarmiface.h</filename>.</para>
4047 </listitem>
4048 </varlistentry>
4050 <varlistentry>
4051 <term><parameter>templateName</parameter></term>
4052 <listitem>
4053 <para>Specifies the name of an alarm template to base the new alarm
4054 on.</para>
4055 </listitem>
4056 </varlistentry>
4057 </variablelist>
4058 </refsect2>
4060 <refsect2>
4061 <title>Return value</title>
4062 <para><returnvalue>false</returnvalue> if <parameter>type</parameter>
4063 has an invalid value, or if no template with the name
4064 <parameter>templateName</parameter> can be found;
4065 <returnvalue>true</returnvalue> otherwise.</para>
4066 </refsect2>
4067 </refsynopsisdiv>
4069 <refsect1>
4070 <title>Description</title>
4072 <para><function>editNew()</function> is a D-Bus call to display the
4073 <link linkend="alarm-edit-dlg">Alarm Edit dialog</link> to edit a new
4074 alarm. If an alarm type is specified as a parameter, a blank dialog is
4075 displayed. Alternatively, if an alarm template name is specified as a
4076 parameter, the dialog is preset with details from the template.</para>
4078 </refsect1>
4079 </refentry>
4081 </sect1>
4083 <sect1 id="cmdline-interface">
4084 <title>Command Line Interface</title>
4086 <para>Command line options are provided to enable other programs to
4087 start up &kalarm; if it is not already running, in order to trigger or
4088 cancel scheduled alarms, or schedule new alarms. The reason for using
4089 command line options for this purpose is that if &kalarm; were started
4090 without any command line parameters and then sent D-Bus requests, it
4091 would start in its default graphical mode, which is clearly undesirable
4092 for an inter-program request.</para>
4094 <note><para>Programs should first check whether &kalarm; is already
4095 running; if it is, they should instead use D-Bus calls to request these
4096 operations.</para></note>
4098 <para>The command line options for scheduling a new alarm are as
4099 described in the chapter <link linkend="cmdline-operation">Command Line
4100 Operation</link>. The options for triggering and canceling scheduled
4101 alarms are as follows:</para>
4103 <note><para>Normal users may also if they wish use these command line
4104 options (assuming that they can supply the necessary parameter
4105 information).</para></note>
4107 <informaltable>
4108 <tgroup cols="2">
4109 <thead>
4110 <row>
4111 <entry>Option</entry>
4112 <entry>Description</entry>
4113 </row>
4114 </thead>
4115 <tbody>
4116 <row>
4117 <entry><option>--cancelEvent <replaceable>eventID</replaceable></option></entry>
4118 <entry>Cancel the alarm with the specified event ID.
4119 <option>--triggerEvent</option> cannot be specified with this
4120 option.</entry>
4121 </row>
4122 <row>
4123 <entry><option>--triggerEvent <replaceable>eventID</replaceable></option></entry>
4124 <entry>Trigger the alarm with the specified event ID. The action
4125 taken is the same as for the
4126 <link linkend="triggerEvent">triggerEvent()</link> D-Bus call.
4127 <option>--cancelEvent</option> cannot be specified with this
4128 option.</entry>
4129 </row>
4130 </tbody>
4131 </tgroup>
4132 </informaltable>
4134 <para>Examples are:</para>
4136 <informalexample><screen>
4137 <prompt>%</prompt> <userinput><command>kalarm</command> <option>--triggerEvent <replaceable>&kalarm;-387486299.702</replaceable></option></userinput>
4138 <prompt>%</prompt> <userinput><command>kalarm</command> <option>--cancelEvent <replaceable>&kalarm;-388886299.793</replaceable></option></userinput>
4139 </screen>
4140 </informalexample>
4142 </sect1>
4143 </chapter>
4146 <chapter id="faq">
4147 <title>Questions and Answers</title>
4149 &reporting.bugs;
4150 &updating.documentation;
4152 <qandaset id="faqlist">
4153 <qandaentry>
4154 <question>
4155 <para>What configuration files does &kalarm; use?</para>
4156 </question>
4157 <answer>
4158 <para><filename>$KDEHOME/share/config/kalarmrc</filename>
4159 holds your &kalarm; preferences.</para>
4160 <para>
4161 <filename>$KDEHOME/share/config/kresources/alarms/stdrc</filename>
4162 holds your alarm resource configuration.</para>
4164 <para>($<envar>KDEHOME</envar> is usually
4165 <filename class="directory">~/.kde</filename> or similar.)</para>
4166 </answer>
4167 </qandaentry>
4169 <qandaentry>
4170 <question>
4171 <para>Where does &kalarm; store its alarms?</para>
4172 </question>
4173 <answer>
4175 <para>The names of the calendar files which &kalarm; creates the first
4176 time it is run are as follows (but these may be overridden by entries
4177 in the <parameter>General</parameter> section of &kalarm;'s preferences
4178 file):</para>
4180 <itemizedlist>
4181 <listitem>
4182 <para><filename>$KDEHOME/share/apps/kalarm/calendar.ics</filename>
4183 holds active alarms (overridable by the
4184 <parameter>Calendar</parameter> entry).</para>
4185 </listitem>
4187 <listitem>
4188 <para><filename>$KDEHOME/share/apps/kalarm/expired.ics</filename>
4189 holds archived alarms (overridable by the
4190 <parameter>ExpiredCalendar</parameter> entry).</para>
4191 </listitem>
4193 <listitem>
4194 <para><filename>$KDEHOME/share/apps/kalarm/template.ics</filename>
4195 holds alarm templates (overridable by the
4196 <parameter>TemplateCalendar</parameter> entry).</para>
4197 </listitem>
4198 </itemizedlist>
4200 <para>You can find out which calendar files are currently in use by
4201 viewing each resource's details in the alarm resources list. The file
4202 names are stored in the alarm resource configuration file.</para>
4204 <para>Details of alarms currently being displayed are stored in the
4205 calendar file
4206 <filename>$KDEHOME/share/apps/kalarm/displaying.ics</filename>.</para>
4207 </answer>
4208 </qandaentry>
4210 <qandaentry>
4211 <question>
4212 <para>What format are alarms stored in?</para>
4213 </question>
4214 <answer>
4215 <para>The calendar files in which &kalarm; stores its alarms are text
4216 files whose format is defined by the document
4217 <ulink url="http://www.w3.org/2002/12/cal/rfc2445.html">RFC2445 -
4218 Internet Calendaring and Scheduling Core Object Specification
4219 (iCalendar)</ulink>. This is the standard format used by all kdepim
4220 applications. &kalarm; uses certain non-standard properties, in
4221 conformance with RFC2445. In the VEVENT component:
4222 <literal>X-KDE-KALARM-FLAGS</literal>,
4223 <literal>X-KDE-KALARM-NEXTRECUR</literal>,
4224 <literal>X-KDE-KALARM-REPEAT</literal>,
4225 <literal>X-KDE-KALARM-ARCHIVE</literal>,
4226 <literal>X-KDE-KALARM-LOG</literal>, and in the VALARM component:
4227 <literal>X-KDE-KALARM-TYPE</literal>,
4228 <literal>X-KDE-KALARM-NEXTREPEAT</literal>,
4229 <literal>X-KDE-KALARM-FONTCOLOR</literal>,
4230 <literal>X-KDE-KALARM-VOLUME</literal>,
4231 <literal>X-KDE-KALARM-SPEAK</literal>,
4232 <literal>X-KDE-KALARM-EMAILID</literal>.</para>
4233 </answer>
4234 </qandaentry>
4236 <qandaentry>
4237 <question>
4238 <para>What is the program <application>kalarmautostart</application>?</para>
4239 </question>
4240 <answer>
4241 <para><application>kalarmautostart</application> is a little helper
4242 program whose function is to autostart &kalarm; at login.</para>
4244 <para>&kalarm; is usually restored by the session manager at login
4245 (to redisplay its windows in the same state as they were when you
4246 logged off). But if it was not running when you logged off, it would
4247 not be started by the session manager and therefore needs to be
4248 autostarted. The problem is that when an application is both session
4249 managed and autostarted, there is no guarantee as to which will occur
4250 first. If autostart gets in first, it will prevent the session manager
4251 from restoring the application's state.</para>
4253 <para>To avoid this problem,
4254 <application>kalarmautostart</application> is autostarted at login
4255 instead of &kalarm;. All it does is wait for a short time (to ensure
4256 that the session manager has time to do its job) before starting
4257 &kalarm;, at which point it terminates.</para>
4258 </answer>
4259 </qandaentry>
4261 </qandaset>
4262 </chapter>
4265 <chapter id="credits">
4267 <title>Credits and License</title>
4269 <para>
4270 &kalarm;
4271 </para>
4272 <para>
4273 Program copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 &David.Jarvie; &David.Jarvie.mail;
4274 </para>
4276 <para>
4277 Documentation copyright 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 &David.Jarvie; &David.Jarvie.mail;
4278 </para>
4280 <!-- TRANS:CREDIT_FOR_TRANSLATORS -->
4282 &underFDL; <!-- FDL: do not remove -->
4284 &underGPL; <!-- GPL License -->
4286 <para>Thanks go to the author of the &kde; 1 KAlarm application,
4287 Stefan Nikolaus <email>stefan.nikolaus@stuco.uni-oldenburg.de</email>,
4288 who kindly agreed to allow the name &kalarm; to be used by this
4289 application, which has been available for &kde; 2 onwards.
4290 </para>
4292 </chapter>
4294 <appendix id="installation">
4295 <title>Installation</title>
4297 <sect1 id="getting-kalarm">
4298 <title>How to Obtain &kalarm;</title>
4300 &install.intro.documentation;
4302 <para>&kalarm; is available for &kde; 2 and as a standalone package for
4303 &kde; 3 from <ulink url="http://www.astrojar.org.uk/kalarm">http://www.astrojar.org.uk/kalarm</ulink>
4304 </para>
4306 </sect1>
4308 <sect1 id="requirements">
4309 <title>Requirements</title>
4311 <para>&kalarm; requires the standard &kde; libraries to be installed
4312 (the <filename>kdelibs</filename> and <filename>kdepimlibs</filename>
4313 packages), plus the <filename>kdebase/runtime</filename> package. To
4314 compile from source, you also need the relevant library development
4315 packages, and the &Qt; development package.</para>
4317 <para>The following optional packages enhance &kalarm; at runtime if
4318 they are installed:</para>
4320 <itemizedlist>
4321 <listitem><para><application>KTTSD</application> (from
4322 kdeaccessibility package): if installed and configured, together with
4323 a compatible speech synthesizer package, it allows &kalarm; to speak
4324 alarm messages when they are displayed.</para>
4325 </listitem>
4326 </itemizedlist>
4328 <para>&kalarm; uses about 12 Mb of memory to run, but this may vary
4329 depending on your platform and configuration.</para>
4331 <para>You can find a list of changes in the
4332 <filename>ChangeLog</filename> file, or at <ulink
4333 url="http://www.astrojar.org.uk/kalarm">http://www.astrojar.org.uk/kalarm</ulink>.</para>
4334 </sect1>
4336 <sect1 id="compilation">
4337 <title>Compilation and Installation</title>
4339 <para>If you cannot obtain a suitable precompiled binary package, you
4340 need to compile &kalarm; yourself from source files. Get the source
4341 package file <filename>kdepim-x.x.tar.bz2</filename> or
4342 <filename>kalarm-x.x.tar.bz2</filename> (or similar), depending on
4343 whether you want to install &package; or just &kalarm;. Unpack it in a
4344 new folder using a command similar to
4345 <userinput><command>tar</command> <option>xvfj
4346 <replaceable>package.tar.bz2</replaceable></option></userinput>, and
4347 change to the folder which has been created.</para>
4349 &install.compile.documentation;
4351 <note><para>If you have more than one version of &kde; installed
4352 (e.g. &kde; 2 and &kde; 3), this may possibly install &kalarm; into
4353 the wrong &kde; folder. If necessary, you can give the &kde; folder
4354 as a parameter to
4355 <userinput><command>./configure</command></userinput> . For example,
4356 if your &kde; is installed in <filename>/opt/kde2</filename>:</para>
4358 <para><userinput><command>./configure</command> --prefix=<replaceable>/opt/kde2</replaceable></userinput></para>
4359 </note>
4361 <warning><para>If you install &kalarm; into a folder different from
4362 where &kde; is installed, it will not run correctly unless you make
4363 its location known to &kde;. To do this, you must prefix the
4364 <envar>KDEDIRS</envar> environment variable with &kalarm;'s location,
4365 each time before you start &kde;.</para>
4367 <para>For example, if &kde; is installed in
4368 <literal>/opt/kde</literal>, <envar>KDEDIRS</envar> might normally
4369 be set to <literal>/etc/opt/kde:/opt/kde</literal>. If you install
4370 &kalarm; into <literal>/usr/local</literal>, you would need to set
4371 <envar>KDEDIRS</envar> to
4372 <literal>/usr/local:/etc/opt/kde:/opt/kde</literal> before starting
4373 &kde;.</para></warning>
4375 <para>The standalone version of &kalarm; has a special configuration
4376 option which allows you to select which languages documentation is to
4377 be installed for by specifying a language code, or a list of language
4378 codes, as a parameter to <command>./configure</command>. By default,
4379 documentation in all available languages is installed. A list of
4380 documentation languages included in the package, together with their
4381 codes, is in the <filename>DOC-LANGUAGES</filename> file. For example,
4382 to install only French and British English documentation:</para>
4384 <para><userinput><command>./configure</command> --enable-doc-language=<replaceable>"fr en_GB"</replaceable></userinput></para>
4386 <para>Note that this option has no effect on which user interface
4387 translations are installed.</para>
4389 </sect1>
4391 <sect1 id="configuration">
4392 <title>Configuration</title>
4394 <para>No special configuration is required to set up &kalarm; to run
4395 on the &kde; desktop. Once you have run &kalarm; for the first time,
4396 it will start every time you log in, in order to monitor scheduled
4397 alarms.</para>
4399 <para>To run &kalarm; on a non-&kde; desktop, the main requirement is
4400 to ensure that &kalarm; is run automatically whenever you log in. More
4401 detailed instructions are contained in the
4402 <filename>INSTALL</filename> file which is distributed with
4403 &kalarm;.</para>
4405 </sect1>
4407 </appendix>
4409 &documentation.index;
4410 </book>
4411 <!--
4412 Local Variables:
4413 mode: sgml
4414 sgml-minimize-attributes:nil
4415 sgml-general-insert-case:lower
4416 sgml-indent-step:0
4417 sgml-indent-data:nil
4418 End: