summaryrefslogtreecommitdiffstats
path: root/files/manual.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/manual.html')
-rw-r--r--files/manual.html3694
1 files changed, 927 insertions, 2767 deletions
diff --git a/files/manual.html b/files/manual.html
index 79899a7..c468fe9 100644
--- a/files/manual.html
+++ b/files/manual.html
@@ -1,2767 +1,927 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
- "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
-<head>
-<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" />
-<meta name="generator" content="AsciiDoc 8.6.5" />
-<title>CALCURSE - text-based organizer</title>
-<style type="text/css">
-/* Shared CSS for AsciiDoc xhtml11 and html5 backends */
-
-/* Default font. */
-body {
- font-family: Georgia,serif;
-}
-
-/* Title font. */
-h1, h2, h3, h4, h5, h6,
-div.title, caption.title,
-thead, p.table.header,
-#toctitle,
-#author, #revnumber, #revdate, #revremark,
-#footer {
- font-family: Arial,Helvetica,sans-serif;
-}
-
-body {
- margin: 1em 5% 1em 5%;
-}
-
-a {
- color: blue;
- text-decoration: underline;
-}
-a:visited {
- color: fuchsia;
-}
-
-em {
- font-style: italic;
- color: navy;
-}
-
-strong {
- font-weight: bold;
- color: #083194;
-}
-
-h1, h2, h3, h4, h5, h6 {
- color: #527bbd;
- margin-top: 1.2em;
- margin-bottom: 0.5em;
- line-height: 1.3;
-}
-
-h1, h2, h3 {
- border-bottom: 2px solid silver;
-}
-h2 {
- padding-top: 0.5em;
-}
-h3 {
- float: left;
-}
-h3 + * {
- clear: left;
-}
-h5 {
- font-size: 1.0em;
-}
-
-div.sectionbody {
- margin-left: 0;
-}
-
-hr {
- border: 1px solid silver;
-}
-
-p {
- margin-top: 0.5em;
- margin-bottom: 0.5em;
-}
-
-ul, ol, li > p {
- margin-top: 0;
-}
-ul > li { color: #aaa; }
-ul > li > * { color: black; }
-
-pre {
- padding: 0;
- margin: 0;
-}
-
-#author {
- color: #527bbd;
- font-weight: bold;
- font-size: 1.1em;
-}
-#email {
-}
-#revnumber, #revdate, #revremark {
-}
-
-#footer {
- font-size: small;
- border-top: 2px solid silver;
- padding-top: 0.5em;
- margin-top: 4.0em;
-}
-#footer-text {
- float: left;
- padding-bottom: 0.5em;
-}
-#footer-badges {
- float: right;
- padding-bottom: 0.5em;
-}
-
-#preamble {
- margin-top: 1.5em;
- margin-bottom: 1.5em;
-}
-div.imageblock, div.exampleblock, div.verseblock,
-div.quoteblock, div.literalblock, div.listingblock, div.sidebarblock,
-div.admonitionblock {
- margin-top: 1.0em;
- margin-bottom: 1.5em;
-}
-div.admonitionblock {
- margin-top: 2.0em;
- margin-bottom: 2.0em;
- margin-right: 10%;
- color: #606060;
-}
-
-div.content { /* Block element content. */
- padding: 0;
-}
-
-/* Block element titles. */
-div.title, caption.title {
- color: #527bbd;
- font-weight: bold;
- text-align: left;
- margin-top: 1.0em;
- margin-bottom: 0.5em;
-}
-div.title + * {
- margin-top: 0;
-}
-
-td div.title:first-child {
- margin-top: 0.0em;
-}
-div.content div.title:first-child {
- margin-top: 0.0em;
-}
-div.content + div.title {
- margin-top: 0.0em;
-}
-
-div.sidebarblock > div.content {
- background: #ffffee;
- border: 1px solid #dddddd;
- border-left: 4px solid #f0f0f0;
- padding: 0.5em;
-}
-
-div.listingblock > div.content {
- border: 1px solid #dddddd;
- border-left: 5px solid #f0f0f0;
- background: #f8f8f8;
- padding: 0.5em;
-}
-
-div.quoteblock, div.verseblock {
- padding-left: 1.0em;
- margin-left: 1.0em;
- margin-right: 10%;
- border-left: 5px solid #f0f0f0;
- color: #777777;
-}
-
-div.quoteblock > div.attribution {
- padding-top: 0.5em;
- text-align: right;
-}
-
-div.verseblock > pre.content {
- font-family: inherit;
- font-size: inherit;
-}
-div.verseblock > div.attribution {
- padding-top: 0.75em;
- text-align: left;
-}
-/* DEPRECATED: Pre version 8.2.7 verse style literal block. */
-div.verseblock + div.attribution {
- text-align: left;
-}
-
-div.admonitionblock .icon {
- vertical-align: top;
- font-size: 1.1em;
- font-weight: bold;
- text-decoration: underline;
- color: #527bbd;
- padding-right: 0.5em;
-}
-div.admonitionblock td.content {
- padding-left: 0.5em;
- border-left: 3px solid #dddddd;
-}
-
-div.exampleblock > div.content {
- border-left: 3px solid #dddddd;
- padding-left: 0.5em;
-}
-
-div.imageblock div.content { padding-left: 0; }
-span.image img { border-style: none; }
-a.image:visited { color: white; }
-
-dl {
- margin-top: 0.8em;
- margin-bottom: 0.8em;
-}
-dt {
- margin-top: 0.5em;
- margin-bottom: 0;
- font-style: normal;
- color: navy;
-}
-dd > *:first-child {
- margin-top: 0.1em;
-}
-
-ul, ol {
- list-style-position: outside;
-}
-ol.arabic {
- list-style-type: decimal;
-}
-ol.loweralpha {
- list-style-type: lower-alpha;
-}
-ol.upperalpha {
- list-style-type: upper-alpha;
-}
-ol.lowerroman {
- list-style-type: lower-roman;
-}
-ol.upperroman {
- list-style-type: upper-roman;
-}
-
-div.compact ul, div.compact ol,
-div.compact p, div.compact p,
-div.compact div, div.compact div {
- margin-top: 0.1em;
- margin-bottom: 0.1em;
-}
-
-tfoot {
- font-weight: bold;
-}
-td > div.verse {
- white-space: pre;
-}
-
-div.hdlist {
- margin-top: 0.8em;
- margin-bottom: 0.8em;
-}
-div.hdlist tr {
- padding-bottom: 15px;
-}
-dt.hdlist1.strong, td.hdlist1.strong {
- font-weight: bold;
-}
-td.hdlist1 {
- vertical-align: top;
- font-style: normal;
- padding-right: 0.8em;
- color: navy;
-}
-td.hdlist2 {
- vertical-align: top;
-}
-div.hdlist.compact tr {
- margin: 0;
- padding-bottom: 0;
-}
-
-.comment {
- background: yellow;
-}
-
-.footnote, .footnoteref {
- font-size: 0.8em;
-}
-
-span.footnote, span.footnoteref {
- vertical-align: super;
-}
-
-#footnotes {
- margin: 20px 0 20px 0;
- padding: 7px 0 0 0;
-}
-
-#footnotes div.footnote {
- margin: 0 0 5px 0;
-}
-
-#footnotes hr {
- border: none;
- border-top: 1px solid silver;
- height: 1px;
- text-align: left;
- margin-left: 0;
- width: 20%;
- min-width: 100px;
-}
-
-div.colist td {
- padding-right: 0.5em;
- padding-bottom: 0.3em;
- vertical-align: top;
-}
-div.colist td img {
- margin-top: 0.3em;
-}
-
-@media print {
- #footer-badges { display: none; }
-}
-
-#toc {
- margin-bottom: 2.5em;
-}
-
-#toctitle {
- color: #527bbd;
- font-size: 1.1em;
- font-weight: bold;
- margin-top: 1.0em;
- margin-bottom: 0.1em;
-}
-
-div.toclevel1, div.toclevel2, div.toclevel3, div.toclevel4 {
- margin-top: 0;
- margin-bottom: 0;
-}
-div.toclevel2 {
- margin-left: 2em;
- font-size: 0.9em;
-}
-div.toclevel3 {
- margin-left: 4em;
- font-size: 0.9em;
-}
-div.toclevel4 {
- margin-left: 6em;
- font-size: 0.9em;
-}
-
-span.aqua { color: aqua; }
-span.black { color: black; }
-span.blue { color: blue; }
-span.fuchsia { color: fuchsia; }
-span.gray { color: gray; }
-span.green { color: green; }
-span.lime { color: lime; }
-span.maroon { color: maroon; }
-span.navy { color: navy; }
-span.olive { color: olive; }
-span.purple { color: purple; }
-span.red { color: red; }
-span.silver { color: silver; }
-span.teal { color: teal; }
-span.white { color: white; }
-span.yellow { color: yellow; }
-
-span.aqua-background { background: aqua; }
-span.black-background { background: black; }
-span.blue-background { background: blue; }
-span.fuchsia-background { background: fuchsia; }
-span.gray-background { background: gray; }
-span.green-background { background: green; }
-span.lime-background { background: lime; }
-span.maroon-background { background: maroon; }
-span.navy-background { background: navy; }
-span.olive-background { background: olive; }
-span.purple-background { background: purple; }
-span.red-background { background: red; }
-span.silver-background { background: silver; }
-span.teal-background { background: teal; }
-span.white-background { background: white; }
-span.yellow-background { background: yellow; }
-
-span.big { font-size: 2em; }
-span.small { font-size: 0.6em; }
-
-span.underline { text-decoration: underline; }
-span.overline { text-decoration: overline; }
-span.line-through { text-decoration: line-through; }
-
-
-/*
- * xhtml11 specific
- *
- * */
-
-tt {
- font-family: monospace;
- font-size: inherit;
- color: navy;
-}
-
-div.tableblock {
- margin-top: 1.0em;
- margin-bottom: 1.5em;
-}
-div.tableblock > table {
- border: 3px solid #527bbd;
-}
-thead, p.table.header {
- font-weight: bold;
- color: #527bbd;
-}
-p.table {
- margin-top: 0;
-}
-/* Because the table frame attribute is overriden by CSS in most browsers. */
-div.tableblock > table[frame="void"] {
- border-style: none;
-}
-div.tableblock > table[frame="hsides"] {
- border-left-style: none;
- border-right-style: none;
-}
-div.tableblock > table[frame="vsides"] {
- border-top-style: none;
- border-bottom-style: none;
-}
-
-
-/*
- * html5 specific
- *
- * */
-
-.monospaced {
- font-family: monospace;
- font-size: inherit;
- color: navy;
-}
-
-table.tableblock {
- margin-top: 1.0em;
- margin-bottom: 1.5em;
-}
-thead, p.tableblock.header {
- font-weight: bold;
- color: #527bbd;
-}
-p.tableblock {
- margin-top: 0;
-}
-table.tableblock {
- border-width: 3px;
- border-spacing: 0px;
- border-style: solid;
- border-color: #527bbd;
- border-collapse: collapse;
-}
-th.tableblock, td.tableblock {
- border-width: 1px;
- padding: 4px;
- border-style: solid;
- border-color: #527bbd;
-}
-
-table.tableblock.frame-topbot {
- border-left-style: hidden;
- border-right-style: hidden;
-}
-table.tableblock.frame-sides {
- border-top-style: hidden;
- border-bottom-style: hidden;
-}
-table.tableblock.frame-none {
- border-style: hidden;
-}
-
-th.tableblock.halign-left, td.tableblock.halign-left {
- text-align: left;
-}
-th.tableblock.halign-center, td.tableblock.halign-center {
- text-align: center;
-}
-th.tableblock.halign-right, td.tableblock.halign-right {
- text-align: right;
-}
-
-th.tableblock.valign-top, td.tableblock.valign-top {
- vertical-align: top;
-}
-th.tableblock.valign-middle, td.tableblock.valign-middle {
- vertical-align: middle;
-}
-th.tableblock.valign-bottom, td.tableblock.valign-bottom {
- vertical-align: bottom;
-}
-</style>
-<script type="text/javascript">
-/*<![CDATA[*/
-var asciidoc = { // Namespace.
-
-/////////////////////////////////////////////////////////////////////
-// Table Of Contents generator
-/////////////////////////////////////////////////////////////////////
-
-/* Author: Mihai Bazon, September 2002
- * http://students.infoiasi.ro/~mishoo
- *
- * Table Of Content generator
- * Version: 0.4
- *
- * Feel free to use this script under the terms of the GNU General Public
- * License, as long as you do not remove or alter this notice.
- */
-
- /* modified by Troy D. Hanson, September 2006. License: GPL */
- /* modified by Stuart Rackham, 2006, 2009. License: GPL */
-
-// toclevels = 1..4.
-toc: function (toclevels) {
-
- function getText(el) {
- var text = "";
- for (var i = el.firstChild; i != null; i = i.nextSibling) {
- if (i.nodeType == 3 /* Node.TEXT_NODE */) // IE doesn't speak constants.
- text += i.data;
- else if (i.firstChild != null)
- text += getText(i);
- }
- return text;
- }
-
- function TocEntry(el, text, toclevel) {
- this.element = el;
- this.text = text;
- this.toclevel = toclevel;
- }
-
- function tocEntries(el, toclevels) {
- var result = new Array;
- var re = new RegExp('[hH]([2-'+(toclevels+1)+'])');
- // Function that scans the DOM tree for header elements (the DOM2
- // nodeIterator API would be a better technique but not supported by all
- // browsers).
- var iterate = function (el) {
- for (var i = el.firstChild; i != null; i = i.nextSibling) {
- if (i.nodeType == 1 /* Node.ELEMENT_NODE */) {
- var mo = re.exec(i.tagName);
- if (mo && (i.getAttribute("class") || i.getAttribute("className")) != "float") {
- result[result.length] = new TocEntry(i, getText(i), mo[1]-1);
- }
- iterate(i);
- }
- }
- }
- iterate(el);
- return result;
- }
-
- var toc = document.getElementById("toc");
- if (!toc) {
- return;
- }
-
- // Delete existing TOC entries in case we're reloading the TOC.
- var tocEntriesToRemove = [];
- var i;
- for (i = 0; i < toc.childNodes.length; i++) {
- var entry = toc.childNodes[i];
- if (entry.nodeName == 'DIV'
- && entry.getAttribute("class")
- && entry.getAttribute("class").match(/^toclevel/))
- tocEntriesToRemove.push(entry);
- }
- for (i = 0; i < tocEntriesToRemove.length; i++) {
- toc.removeChild(tocEntriesToRemove[i]);
- }
-
- // Rebuild TOC entries.
- var entries = tocEntries(document.getElementById("content"), toclevels);
- for (var i = 0; i < entries.length; ++i) {
- var entry = entries[i];
- if (entry.element.id == "")
- entry.element.id = "_toc_" + i;
- var a = document.createElement("a");
- a.href = "#" + entry.element.id;
- a.appendChild(document.createTextNode(entry.text));
- var div = document.createElement("div");
- div.appendChild(a);
- div.className = "toclevel" + entry.toclevel;
- toc.appendChild(div);
- }
- if (entries.length == 0)
- toc.parentNode.removeChild(toc);
-},
-
-
-/////////////////////////////////////////////////////////////////////
-// Footnotes generator
-/////////////////////////////////////////////////////////////////////
-
-/* Based on footnote generation code from:
- * http://www.brandspankingnew.net/archive/2005/07/format_footnote.html
- */
-
-footnotes: function () {
- // Delete existing footnote entries in case we're reloading the footnodes.
- var i;
- var noteholder = document.getElementById("footnotes");
- if (!noteholder) {
- return;
- }
- var entriesToRemove = [];
- for (i = 0; i < noteholder.childNodes.length; i++) {
- var entry = noteholder.childNodes[i];
- if (entry.nodeName == 'DIV' && entry.getAttribute("class") == "footnote")
- entriesToRemove.push(entry);
- }
- for (i = 0; i < entriesToRemove.length; i++) {
- noteholder.removeChild(entriesToRemove[i]);
- }
-
- // Rebuild footnote entries.
- var cont = document.getElementById("content");
- var spans = cont.getElementsByTagName("span");
- var refs = {};
- var n = 0;
- for (i=0; i<spans.length; i++) {
- if (spans[i].className == "footnote") {
- n++;
- var note = spans[i].getAttribute("data-note");
- if (!note) {
- // Use [\s\S] in place of . so multi-line matches work.
- // Because JavaScript has no s (dotall) regex flag.
- note = spans[i].innerHTML.match(/\s*\[([\s\S]*)]\s*/)[1];
- spans[i].innerHTML =
- "[<a id='_footnoteref_" + n + "' href='#_footnote_" + n +
- "' title='View footnote' class='footnote'>" + n + "</a>]";
- spans[i].setAttribute("data-note", note);
- }
- noteholder.innerHTML +=
- "<div class='footnote' id='_footnote_" + n + "'>" +
- "<a href='#_footnoteref_" + n + "' title='Return to text'>" +
- n + "</a>. " + note + "</div>";
- var id =spans[i].getAttribute("id");
- if (id != null) refs["#"+id] = n;
- }
- }
- if (n == 0)
- noteholder.parentNode.removeChild(noteholder);
- else {
- // Process footnoterefs.
- for (i=0; i<spans.length; i++) {
- if (spans[i].className == "footnoteref") {
- var href = spans[i].getElementsByTagName("a")[0].getAttribute("href");
- href = href.match(/#.*/)[0]; // Because IE return full URL.
- n = refs[href];
- spans[i].innerHTML =
- "[<a href='#_footnote_" + n +
- "' title='View footnote' class='footnote'>" + n + "</a>]";
- }
- }
- }
-},
-
-install: function(toclevels) {
- var timerId;
-
- function reinstall() {
- asciidoc.footnotes();
- if (toclevels) {
- asciidoc.toc(toclevels);
- }
- }
-
- function reinstallAndRemoveTimer() {
- clearInterval(timerId);
- reinstall();
- }
-
- timerId = setInterval(reinstall, 500);
- if (document.addEventListener)
- document.addEventListener("DOMContentLoaded", reinstallAndRemoveTimer, false);
- else
- window.onload = reinstallAndRemoveTimer;
-}
-
-}
-asciidoc.install(2);
-/*]]>*/
-</script>
-</head>
-<body class="article">
-<div id="header">
-<h1>CALCURSE - text-based organizer</h1>
-<div id="toc">
- <div id="toctitle">Table of Contents</div>
- <noscript><p><b>JavaScript must be enabled in your browser to display the table of contents.</b></p></noscript>
-</div>
-</div>
-<div id="content">
-<div class="sect1">
-<h2 id="_abstract">1. Abstract</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This manual describes <tt>calcurse</tt> functionnalities, and how to use them. The
-installation from source is first described, together with the available
-command line arguments. The user interface is then presented, with all of the
-customizable options that change <tt>calcurse</tt> behavior. Last, bug reporting
-procedure is explained, as well as the way one can contribute to <tt>calcurse</tt>
-development.</p></div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_introduction">2. Introduction</h2>
-<div class="sectionbody">
-<div class="paragraph"><p><tt>calcurse</tt> is a text-based calendar and scheduling application. It helps
-keeping track of events, appointments and everyday tasks. A configurable
-notification system reminds user of upcoming deadlines, and the curses based
-interface can be customized to suit user needs. All of the commands are
-documented within an online help system.</p></div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_overview">3. Overview</h2>
-<div class="sectionbody">
-<div class="sect2">
-<h3 id="_creation_history">3.1. Creation history</h3>
-<div class="paragraph"><p>I started thinking about this project when I was finishing my Ph.D. in
-Astrophysics&#8230; It started to be a little hard to organize myself, and I really
-needed a good tool to help me in that difficult task ;)</p></div>
-<div class="paragraph"><p>I like programs which use Text User Interfaces, because they are simple, fast,
-portable and efficient, so I thought about working on coding a simple calendar
-using such an interface. Moreover, I wanted to go on learning the <tt>C</tt>
-language, which I only used for a while during my undergraduate studies. So I
-thought that would be the good project to start in order to get organized and
-to learn about a few <tt>C</tt> things !</p></div>
-<div class="paragraph"><p>Unfortunately, I finished my Ph.D. before finishing <tt>calcurse</tt>, but anyway, I
-still wanted to work on it, hoping it would be helpful to other people. So
-here it is&#8230;</p></div>
-<div class="paragraph"><p>But why <em>calcurse</em> anyway ? Well, it is simply the concatenation of <em>CALendar</em>
-and <em>nCURSEs</em>, the name of the library used to build the user interface.</p></div>
-</div>
-<div class="sect2">
-<h3 id="_important_features">3.2. Important features</h3>
-<div class="paragraph"><p><tt>Calcurse</tt> is multi-platform and intended to be lightweight, fast and reliable.
-It is to be used inside a console or terminal, locally or on a distant machine
-within an ssh (or similar) connection.</p></div>
-<div class="paragraph"><p><tt>Calcurse</tt> can be run in two different modes : interactive or non-interactive
-mode. The first mode allows oneself to view its own personal organizer almost
-everywhere, thanks to the text-based interface. The second mode permits to
-easily build reminders just by adding <tt>calcurse</tt> with appropriate command line
-arguments inside a cron tab or within a shell init script.</p></div>
-<div class="paragraph"><p>Moreover, <tt>calcurse</tt> was created with the end-user in mind, and tends to be as
-friendly as possible. This means a complete on-line help system, together with
-having all of the possible actions displayed at any time inside a status bar.
-The user interface is configurable, and one can choose between several color
-and layout combinations. Key bindings are also configurable, to fit everyone&#8217;s
-needs. Last, a configurable notification system reminds user of upcoming
-appointments. The reminders are sent even if the user&#8217;s interface is not
-running, as calcurse is able to run in background.</p></div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_installation">4. Installation</h2>
-<div class="sectionbody">
-<div class="sect2">
-<h3 id="_requirements">4.1. Requirements</h3>
-<div class="sect3">
-<h4 id="_ncurses_library">4.1.1. ncurses library</h4>
-<div class="paragraph"><p><tt>Calcurse</tt> requires only a <tt>C</tt> compiler, such as <tt>cc</tt> or <tt>gcc</tt>, and the
-<tt>ncurses</tt> library. It would be very surprising not to have a valid <tt>ncurses</tt>
-library already installed on your computer, but if not, you can find it at the
-following url: <a href="http://ftp.gnu.org/pub/gnu/ncurses/">http://ftp.gnu.org/pub/gnu/ncurses/</a></p></div>
-<div class="admonitionblock">
-<table><tr>
-<td class="icon">
-<img alt="Note" src="data:image/png;base64,
-iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAJhUlEQVRoge2ZWWycVxXHf+fce7/v
-m/GaGCde4pI0aQlJC0kRtE1L00JbLIjY4QkeUB9YHhAIJFCExAsKUkE8IAFFPIDUIqhBRSDRBUqC
-CimFFBCBpCWx02IaZ3G2SdyxPZ7vHh6+mcnSZnFjKIge6Wj8zYzvPf9z/me5d8TM+F8WfbkNuFx5
-BcDLLf/fAEZGRmx4eNh6enqsp6fHhoeHbWRk5D9aFeSlVqHNmzfb6H33sHnT7ZQmD5GfOMax6Sm+
-Pl5h1Yc+xpYtW2SBbX1ReUkRGBkZsdH77mHLW95EOv4Ms3ueJh6YYPHUFF9aljJ63z3cf//9/5FI
-vKQIDA8P293L2yhVjjH7t51ocDiviFecF46n7XzBreChhx4qNhH5t0XjJUVgx44ddGUZ9b/vIpQD
-oRQIWSDJAiFL6B9axo4dO4gxAmANWVDLG+Ln82URMRGhVCqRHxonlAPqFXWKC4r6IhI6OMjMzBN4
-/4LlTUQQEZxzZ32QJAlpmrb+p16vU6vVOHXq1AWjN18AnDj0F971vrs4OnmYJVkoDA4FCPUO172I
-Cgnt7SV++4vvsGhRJx3tJbIsRVVpsUnOBBABBVFEClKYwbKr7sTM7EIUnBcA7z21k7t49x1X8JXv
-bOWra7rw5QRtcN8PLCfvvZJvb9vJycpJpg4/hp/N0I4SMQs4Jw0A5zBXHGiCaIZIKABgpGlKjPEF
-0TpT5pUDRXiVt99+Le03r+WzuytM1gO6pB/3+o0cbxvk8yOPMjW6i2iR2lxOjJDHSDMFogmGwzQ7
-rRJAUpAENAGXIZq2AFzQpvkACCEQcahP+cRH3sKHn9zHXU+MM7rtGeD33NDXzaZynZU9gcezpUw9
-X6OzIyOakkfF4QEpPG6nDRNNEA2FSgKimETSNCXPc0II57VpXhEolUqoOrxPSLOMT330Dv5SqfKD
-NR388Y2L+caQsjITNv3pMBs3rOT56ZyZGaM+J0QUxDc0INrWUgggoRGBAOIRAt77hY1AmqaoeJxP
-cN645jVDbNn8Hj73o8fZ/af9mEE9j9y2YRXt5YzZWmRmzjj1/BwhTXAKzitOHEbeWlc0AVwDnCv8
-KoZzjotV33lTSL1HNKAuEtKM1169jM98/E6mTk3x4Nbd7Bk7TEdHRvAeVY+hmDqmZwx1kIkiqrhz
-S2zL+AbNMC6l/80LgHMOEY9oQvBCks5RKpXo7JhFxbhz42pet2aQet1YtLiDJAkIDq8BHwJmwlwO
-UaD0ojsrNKuUReIZyb9gABCHcwWFgg+0lTPyvIRToVzKWLpkMfV6REQplYvmZCj1uuBUSdJwTg8A
-XBdoCZMOsBkQBeGi/J83gBgjmABC8AlJGsjzFLMyaXDM1etEA0VR50iCx6mSZhkiijpPjEpQD+SF
-4WdJrTAewdCFB1CtVlFVVATnhMQnWJqC5aTBk+c5IIgWRoTgSZJAmiZAo1s7hwsppglI+fTiljeY
-nyHkLQotKIAYI4igzpFHISQOiwEnKTEG8hhRVZw6YjRQLfJGHcF7jleqTBw8znXr12MABnv37efY
-iSnesG4tiUsRUQwD7JIAzKsPqCqiRbVwweM04XdPjhJN+dvTBxgbn6G9q59yZx9/3HWEb33vN+zc
-/RzOJ+w/eJLtO8Z5ZNtT7PvHIUQTvvv9X/Lc/mN0d3by3fseRLQwvWh0Fy+h8wbQ2VFG1KM+xfuA
-qufo8So/fejPPD/rqJys8pvf7eLAoeNMHqnw2U9+kH3jVQ5MClMzKUla5obr13HliiEMmDx6gltv
-uY7Vr1nBQF8PJopQ9AFTt/AROFfMjCW9XTy19xB33Hodb924jr1j+/nDk3/nzTdei4jw3nfeyCOP
-bufa1y5jzeoVrcHM8HR3dfHlr/2Q+x94jFtuuh44/9B2PplXDryYLF3STXd3e+t5UXcHY89OsOH6
-NS2Qed7wpM1Rm50G4MGHH2P961Zy3bqreXrPP5mrzwLt5y6/cACq1eoLCKm+TN/SAebmfn8aUG83
-PYs7+cnPH+eqKwd5as8/edc7bi02847pmVkATk1VWbF8AOcca1Yv59DkqcYK0tCL02deACqVCldc
-0YdIwLmEPM9RV6NnUZlPf3wT6oqJcePN6wHhzTeu4/CRCrfctJ4sSxBRli7pYfHEMUSU97/7Th75
-1RP8eec+Yp5zzTVXM9DfDyogBvHS6HTJACYmJnjVoq5GFw0454gCEOnoaMfiNGZFFRFxJGkbywZ6
-i1NWoy9kWYmbb1gHKCHApuGbisVFGyoYUswa5OR5ftF56JIBjI6OMtDfWwAQ35jnc8AVpRXBohVq
-UowECKqK4RBxoE0W6gvGCcEjaOEAwEQWdpgbGxujt7erOLO2mk3R8i0Wz9EiuUGz+qlKEQEUaJbI
-4lTHmTVePKgWzpDGJGpc8CDTlEsuo88++wxXDA0UIUbAOP23KGZKjI48KnkuhcbiPbPCOBoeBikO
-Lk2VxjqNRilaAEqSZGEAbN261bZt+zW33XY7IAXXm6Ou0YhIMamaaUOl5WRrzg00viuKWWxpQUOH
-NAZFQRpD48Xlkig0MTHBB95zG+VSylz1KCbWyDOh2XyK+56IqjWMKigkUnzWnPPFFFRRLZ29SQRU
-ELOGY4pZ6LKOlM07mZ07d/KOtw1TcB4sGkTDiDQ9K1IkrKeYmQC08d7pZLSiRBpE5s7aS0XAHFEK
-AGY51Wr18g80Zmb33nsvX/z8XdSmj2AWOXhwkrxe46+79jB55Dh/3T2GxUhHextdXW2sXN7PNWtW
-IQKDA71FFBoAjIgQkVg/a5+oHrU5zIznDhxk964xKpXKggAoTlWW8+OfPorlOQ//cjsDy1bS2dFO
-W+diVly1iL6+Pqanpzl5qsL4pPHwN3/G1InDlMsZ7Z1tDA30cfWqIa5dexV9fb2YnT7UTxw4xsHJ
-o4yOjfOP8QOMjx/k4OQx7r777lY0zycXvJ02M4sxMjg4SL1eR0TYsGEDw8PD9PX10d7ejogUN3a1
-GqpKCIE8z5mdnUVVqVarbN++nba2Nvbu3csDDzyAqrJ8+atb+zjn6e/vZ/Xq1axatYq1a9fS29tL
-lmUMDQ1RKpXOm9EXvV6v1+tWr9eZnp5mZmaGWq1GjLHF62aiNZ+bnPfe45xrvTZzxMyYmZk56+LX
-zKjX661DvHOOJElIkoRSqYT3/vLvRlW15eHCa4VxzdvmpjZDfubzuXeb3vuzqCEixBhbo0NTkyS5
-PAr9L8j/96+U/w3yCoCXW14B8HLLvwDd67nwZIEPdgAAAABJRU5ErkJggg==" />
-</td>
-<td class="content">It is also possible to link <tt>calcurse</tt> against the <tt>ncursesw</tt> library
- (ncurses with support for unicode). However, UTF-8 is not yet supported
- by <tt>calcurse</tt>.</td>
-</tr></table>
-</div>
-</div>
-<div class="sect3">
-<h4 id="install_requirements_gettext">4.1.2. gettext library</h4>
-<div class="paragraph"><p><tt>calcurse</tt> supports internationalization (<strong>i18n</strong> hereafter) through the
-<tt>gettext</tt> utilities. This means <tt>calcurse</tt> can produce multi-lingual messages
-if compiled with native language support (i.e. <strong>NLS</strong>).</p></div>
-<div class="paragraph"><p>However, <strong>NLS</strong> is optionnal and if you do not want to have support for
-multi-lingual messages, you can disable this feature. This is done by giving
-the <tt>--disable-nls</tt> option to <tt>configure</tt> (see section
-<a href="#install_process">Install process</a>). To check if the <tt>gettext</tt> utilities are
-installed on your system, you can search for the <tt>libintl.h</tt> header file for
-instance:</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><tt>$ locate libintl.h</tt></pre>
-</div></div>
-<div class="paragraph"><p>If this header file is not found, then you can obtain the <tt>gettext</tt> sources at
-the following url : <a href="http://ftp.gnu.org/pub/gnu/gettext/">http://ftp.gnu.org/pub/gnu/gettext/</a></p></div>
-<div class="admonitionblock">
-<table><tr>
-<td class="icon">
-<img alt="Note" src="data:image/png;base64,
-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" />
-</td>
-<td class="content">Even if <tt>libintl.h</tt> is found on your system, it can be wise to specify
- its location during the <a href="#install_process">install process</a>, by using the
- <tt>--with-libintl-prefix</tt> option with <tt>configure</tt>. Indeed, the <tt>configure</tt>
- could fail to locate this library if installed in an uncommon place.</td>
-</tr></table>
-</div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="install_process">4.2. Install process</h3>
-<div class="paragraph"><p>First you need to gunzip and untar the source archive:</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><tt>$ tar zxvf calcurse-2.9.0.tar.gz</tt></pre>
-</div></div>
-<div class="paragraph"><p>Once you meet the requirements and have extracted the archive, the install
-process is quite simple, and follows the standard three steps process:</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><tt>$ ./configure
-$ make
-$ make install # (may require root privilege)</tt></pre>
-</div></div>
-<div class="paragraph"><p>Use <tt>./configure --help</tt> to obtain a list of possible options.</p></div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_calcurse_basics">5. calcurse basics</h2>
-<div class="sectionbody">
-<div class="sect2">
-<h3 id="_invocation">5.1. Invocation</h3>
-<div class="sect3">
-<h4 id="basics_invocation_commandline">5.1.1. Command line arguments</h4>
-<div class="paragraph"><p><tt>calcurse</tt> takes the following options from the command line (both short and
-long options are supported):</p></div>
-<div class="dlist"><dl>
-<dt class="hdlist1">
-<tt>-a, --appointment</tt>
-</dt>
-<dd>
-<p>
- Print the appointments and events for the current day and exit. The calendar
- from which to read the appointments can be specified using the <tt>-c</tt> flag.
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>-c &lt;file&gt;, --calendar &lt;file&gt;</tt>
-</dt>
-<dd>
-<p>
- Specify the calendar file to use. The default calendar is
- <tt>~/.calcurse/apts</tt> (see section <a href="#basics_files">calcurse files</a>).
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>-d &lt;date|num&gt;, --day &lt;date|num&gt;</tt>
-</dt>
-<dd>
-<p>
- Print the appointments for the given date or for the given number of
- upcoming days, depending on the argument format. Two possible formats are
- supported:
-</p>
-<div class="openblock">
-<div class="content">
-<div class="ulist"><ul>
-<li>
-<p>
-a date (possible formats described below).
-</p>
-</li>
-<li>
-<p>
-a number <tt>n</tt>.
-</p>
-</li>
-</ul></div>
-</div></div>
-<div class="paragraph"><p>In the first case, the appointment list for the specified date will be
-returned, while in the second case the appointment list for the <tt>n</tt> upcoming
-days will be returned. As an example, typing <tt>calcurse -d 3</tt> will display
-your appointments for today, tomorrow, and the day after tomorrow. Possible
-formats for specifying the date are defined inside the general configuration
-menu (see <a href="#options_general">General options</a>), using the
-<tt>input_datefmt</tt> variable.</p></div>
-<div class="paragraph"><p>Note: as for the <tt>-a</tt> flag, the calendar from which to read the appointments
-can be specified using the <tt>-c</tt> flag.</p></div>
-</dd>
-<dt class="hdlist1">
-<tt>-D &lt;dir&gt;, --directory &lt;dir&gt;</tt>
-</dt>
-<dd>
-<p>
- Specify the data directory to use. This option is incompatible with -c.
- If not specified, the default directory is <tt>~/.calcurse/</tt>.
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>-h, --help</tt>
-</dt>
-<dd>
-<p>
- Print a short help text describing the supported command-line options,
- and exit.
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>-i &lt;file&gt;, --import &lt;file&gt;</tt>
-</dt>
-<dd>
-<p>
- Import the icalendar data contained in <tt>file</tt>.
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>-n, --next</tt>
-</dt>
-<dd>
-<p>
- Print the next appointment within upcoming 24 hours and exit. The indicated
- time is the number of hours and minutes left before this appointment.
-</p>
-<div class="paragraph"><p>Note: the calendar from which to read the appointments can be specified using
-the <tt>-c</tt> flag.</p></div>
-</dd>
-<dt class="hdlist1">
-<tt>-N, --note</tt>
-</dt>
-<dd>
-<p>
- When used with the <tt>-a</tt> or <tt>-t</tt> flag, also print note content if one is
- associated with the displayed item.
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>-r[num], --range[=num]</tt>
-</dt>
-<dd>
-<p>
- Print events and appointments for the num number of days and exit. If no num
- is given, a range of 1 day is considered.
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>-s[date], --startday[=date]</tt>
-</dt>
-<dd>
-<p>
- Print events and appointments from date and exit. If no date is given, the
- current day is considered.
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>-S&lt;regex&gt;, --search=&lt;regex&gt;</tt>
-</dt>
-<dd>
-<p>
- When used with the <tt>-a</tt>, <tt>-d</tt>, <tt>-r</tt>, <tt>-s</tt>, or <tt>-t</tt> flag, print only the items
- having a description that matches the given regular expression.
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>--status</tt>
-</dt>
-<dd>
-<p>
- Display the status of running instances of calcurse. If calcurse is
- running, this will tell if the interactive mode was launched or if
- calcurse is running in background. The process pid will also be indicated.
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>-t[num], --todo[=num]</tt>
-</dt>
-<dd>
-<p>
- Print the <tt>todo</tt> list and exit. If the optional number <tt>num</tt> is given, then
- only todos having a priority equal to <tt>num</tt> will be returned. The priority
- number must be between 1 (highest) and 9 (lowest). It is also possible to
- specify <tt>0</tt> for the priority, in which case only completed tasks will be
- shown.
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>-v, --version</tt>
-</dt>
-<dd>
-<p>
- Display <tt>calcurse</tt> version and exit.
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>-x[format], --export[=format]</tt>
-</dt>
-<dd>
-<p>
- Export user data to specified format. Events, appointments and todos are
- converted and echoed to stdout. Two possible formats are available: ical and
- pcal (see section <a href="#links_others">Links</a> below). If the optional
- argument <tt>format</tt> is not given, ical format is selected by default.
-</p>
-<div class="paragraph"><p>Note: redirect standard output to export data to a file, by issuing a command
-such as:</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><tt>$ calcurse --export &gt; my_data.dat</tt></pre>
-</div></div>
-</dd>
-</dl></div>
-</div>
-<div class="sect3">
-<h4 id="basics_invocation_variable">5.1.2. Environment variable for i18n</h4>
-<div class="paragraph"><p><tt>calcurse</tt> can be compiled with native language support (see
-<a href="#install_requirements_gettext">gettext library</a>). Thus, if you wish to have
-messages displayed into your native language, first make sure it is available
-by looking at the <tt>po/LINGUAS</tt> file. This file indicates the set of available
-languages by showing the two-letters corresponding code (for exemple, <strong>fr</strong>
-stands for french). If you do not find your language, it would be greatly
-appreciated if you could help translating <tt>calcurse</tt> (see the <a href="#contribute">How to contribute?</a> section).</p></div>
-<div class="paragraph"><p>If your language is available, run <tt>calcurse</tt> with the following command:</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><tt>$ LC_ALL=fr_FR calcurse</tt></pre>
-</div></div>
-<div class="olist lowerroman"><ol class="lowerroman">
-<li>
-<p>
-where <strong>fr_FR</strong> is the locale name in this exemple, but should be replaced by
-the locale corresponding to the desired language.
-</p>
-</li>
-</ol></div>
-<div class="paragraph"><p>You should also specify the charset to be used, because in some cases the
-accents and such are not displayed correctly. This charset is indicated at the
-beginning of the po file corresponding to the desired language. For instance,
-you can see in the fr.po file that it uses the iso-8859-1 charset, so you could
-run <tt>calcurse</tt> using the following command:</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><tt>$ LC_ALL=fr_FR.ISO8859-1 calcurse</tt></pre>
-</div></div>
-</div>
-<div class="sect3">
-<h4 id="_other_environment_variables">5.1.3. Other environment variables</h4>
-<div class="paragraph"><p>The following environment variables affect the way <tt>calcurse</tt> operates:</p></div>
-<div class="dlist"><dl>
-<dt class="hdlist1">
-<tt>VISUAL</tt>
-</dt>
-<dd>
-<p>
- Specifies the external editor to use for writing notes.
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>EDITOR</tt>
-</dt>
-<dd>
-<p>
- If the <tt>VISUAL</tt> environment variable is not set, then <tt>EDITOR</tt> will be used
- as the default external editor. If none of those variables are set, then
- <tt>/usr/bin/vi</tt> is used instead.
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>PAGER</tt>
-</dt>
-<dd>
-<p>
- Specifies the default viewer to be used for reading notes. If this variable
- is not set, then <tt>/usr/bin/less</tt> is used.
-</p>
-</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_user_interface">5.2. User interface</h3>
-<div class="sect3">
-<h4 id="_non_interactive_mode">5.2.1. Non-interactive mode</h4>
-<div class="paragraph"><p>When called with at least one of the following arguments: <tt>-a</tt>, <tt>-d</tt>, <tt>-h</tt>,
-<tt>-n</tt>, <tt>-t</tt>, <tt>-v</tt>, <tt>-x</tt>, <tt>calcurse</tt> is started in non-interactive mode. This
-means the desired information will be displayed, and after that, <tt>calcurse</tt>
-simply quits and you are driven back to the shell prompt.</p></div>
-<div class="paragraph"><p>That way, one can add a line such as <tt>calcurse --todo --appointment</tt> in its
-init config file to display at logon the list of tasks and appointments
-scheduled for the current day.</p></div>
-</div>
-<div class="sect3">
-<h4 id="basics_interface_interactive">5.2.2. Interactive mode</h4>
-<div class="admonitionblock">
-<table><tr>
-<td class="icon">
-<img alt="Note" src="data:image/png;base64,
-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" />
-</td>
-<td class="content">Key bindings that are indicated in this manual correspond to the default
- ones, defined when <tt>calcurse</tt> is launched for the first time. If those
- key bindings do not suit user&#8217;s needs, it is possible to change them
- within the keys configuration menu (see <a href="#options_keys">key bindings</a>).</td>
-</tr></table>
-</div>
-<div class="paragraph"><p>When called without any argument or only with the <tt>-c</tt> option, <tt>calcurse</tt> is
-started in interactive mode. In this mode, you are shown an interface
-containing three different panels which you can browse using the <tt>TAB</tt> key,
-plus a notification bar and a status bar (see figure below).</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><tt> appointment panel---. .---calendar panel
- | |
- v v
- +------------------------------------++----------------------------+
- | Appointments || Calendar |
- |------------------------------------||----------------------------|
- | (|) April 6, 2006 || April 2006 |
- | ||Mon Tue Wed Thu Fri Sat Sun |
- | || 1 2 |
- | || 3 4 5 6 7 8 9 |
- | || 10 11 12 13 14 15 16 |
- | || 17 18 19 20 21 22 23 |
- | || 24 25 26 27 28 29 30 |
- | || |
- | |+----------------------------+
- | |+----------------------------+
- | || ToDo | todo
- | ||----------------------------| panel
- | || | |
- | || | |
- | || |&lt;--.
- | || |
- +------------------------------------++----------------------------+
- |---[ Mon 2006-11-22 | 10:11:43 ]---(apts)----&gt; 01:20 :: lunch &lt;---|&lt;--.
- +------------------------------------------------------------------+ notify-bar
- | ? Help R Redraw H/L -/+1 Day G GoTo C Config |
- | Q Quit S Save J/K -/+1 Week Tab Chg View |&lt;-.
- +------------------------------------------------------------------+ |
- |
- status bar</tt></pre>
-</div></div>
-<div class="paragraph"><p>The first panel represents a calendar which allows to highlight a particular
-day, the second one contains the list of the events and appointments on that
-day, and the last one contains a list of tasks to do but which are not assigned
-to any specific day.</p></div>
-<div class="paragraph"><p>Depending on the selected view, the calendar could either display a monthly
-(default as shown in previous figure) or weekly view. The weekly view would
-look like the following:</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><tt>+------------------------------------+
-| Calendar |
-|----------------------------(# 13)--|
-| Mon Tue Wed Thu Fri Sat Sun |
-| 29 30 31 01 02 03 04 |
-| &lt;----+-- slice 1: 00:00 to 04:00 AM
-| -- -- -- -- -- -- |
-| &lt;----+-- slice 2: 04:00 to 08:00 AM
-| -- -- -- -- -- -- |
-| &lt;----+-- slice 3: 08:00 to 12:00 AM
-| - -- -- -- -- -- -- - &lt;-+-- midday
-| &lt;----+-- slice 4: 12:00 to 04:00 PM
-| -- -- -- -- -- -- |
-| &lt;----+-- slice 5: 04:00 to 08:00 PM
-| -- -- -- -- -- -- |
-| &lt;----+-- slice 6: 08:00 to 12:00 PM
-+------------------------------------+</tt></pre>
-</div></div>
-<div class="paragraph"><p>The current week number is displayed on the top-right side of the panel (<strong># 13</strong>
-meaning it is the 13th week of the year in the above example). The seven days
-of the current week are displayed in column. Each day is divided into slices of
-4 hours each (6 slices in total, see figure above). A slice will appear in a
-different color if an appointment falls into the corresponding time-slot.</p></div>
-<div class="paragraph"><p>In the appointment panel, one can notice the <strong><tt>(|)</tt></strong> sign just in front of the
-date. This indicates the current phase of the moon. Depending on which is the
-current phase, the following signs can be seen:</p></div>
-<div class="dlist"><dl>
-<dt class="hdlist1">
-` |) `
-</dt>
-<dd>
-<p>
- first quarter
-</p>
-</dd>
-<dt class="hdlist1">
-` (|) `
-</dt>
-<dd>
-<p>
- full moon
-</p>
-</dd>
-<dt class="hdlist1">
-` (| `
-</dt>
-<dd>
-<p>
- last quarter
-</p>
-</dd>
-<dt class="hdlist1">
-` | `
-</dt>
-<dd>
-<p>
- new moon
-</p>
-</dd>
-<dt class="hdlist1">
-no sign
-</dt>
-<dd>
-<p>
- Phase of the moon does not correspond to any of the above ones.
-</p>
-</dd>
-</dl></div>
-<div class="paragraph"><p>At the very bottom of the screen there is a status bar, which indicates the
-possible actions and the corresponding keystrokes.</p></div>
-<div class="paragraph"><p>Just above this status bar is the notify-bar, which indicates from left to
-right : the current date, the current time, the calendar file currently in use
-(apts on the above example, which is the default calendar file, see the
-following section), and the next appointment within the upcoming 24 hours. Here
-it says that it will be lunch time in one hour and twenty minutes.</p></div>
-<div class="admonitionblock">
-<table><tr>
-<td class="icon">
-<img alt="Note" src="data:image/png;base64,
-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" />
-</td>
-<td class="content">Some actions, such as editing or adding an item, require to type in some
- text. This is done with the help of the built-in input line editor.</td>
-</tr></table>
-</div>
-<div class="paragraph"><p>Within this editor, if a line is longer than the screen width, a <tt>&gt;</tt>, <tt>*</tt>, or
-<tt>&lt;</tt> character is displayed in the last column indicating that there are more
-character after, before and after, or before the current position,
-respectively. The line is scrolled horizontally as necessary.</p></div>
-<div class="paragraph"><p>Moreover, some editing commands are bound to particular control characters.
-Hereafter are indicated the available editing commands (<tt>^</tt> stands for the
-control key):</p></div>
-<div class="dlist"><dl>
-<dt class="hdlist1">
-<tt>^a</tt>
-</dt>
-<dd>
-<p>
- moves the cursor to the beginning of the input line
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>^b</tt>
-</dt>
-<dd>
-<p>
- moves the cursor backward
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>^d</tt>
-</dt>
-<dd>
-<p>
- deletes one character forward
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>^e</tt>
-</dt>
-<dd>
-<p>
- moves the cursor to the end of the input line
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>^f</tt>
-</dt>
-<dd>
-<p>
- moves the cursor forward
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>^h</tt>
-</dt>
-<dd>
-<p>
- deletes one character backward
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>^k</tt>
-</dt>
-<dd>
-<p>
- deletes the input from the cursor to the end of the line
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>ESCAPE</tt>
-</dt>
-<dd>
-<p>
- cancels the editing
-</p>
-</dd>
-</dl></div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="basics_daemon">5.3. Background mode</h3>
-<div class="paragraph"><p>When the daemon mode is enabled in the notification configuration menu (see
-<a href="#options_notify">Notify-bar settings</a>), <tt>calcurse</tt> will stay in background
-when the user interface is not running. In background mode, <tt>calcurse</tt> checks
-for upcoming appointments and runs the user-defined notification command when
- necessary. When the user interface is started again, the daemon automatically
- stops.</p></div>
-<div class="paragraph"><p>&#8216;calcurse` background activity can be logged (set the <tt>notify-daemon_log</tt>
-variable in the notification configuration <a href="#options_notify">menu</a>),
-and in that case, information about the daemon start and stop time, reminders&#8217;
-command launch time, signals received&#8230; will be written in the <tt>daemon.log</tt>
-file (see section <a href="#basics_files">files</a>).</p></div>
-<div class="paragraph"><p>Using the <tt>--status</tt> command line option (see section
-<a href="#basics_invocation_commandline">Command line arguments</a>), one can know if
-<tt>calcurse</tt> is currently running in background or not. If the daemon is
-running, a message like the following one will be displayed (the pid of the
-daemon process will be shown):</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><tt>calcurse is running in background (pid 14536)</tt></pre>
-</div></div>
-<div class="admonitionblock">
-<table><tr>
-<td class="icon">
-<img alt="Note" src="data:image/png;base64,
-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" />
-</td>
-<td class="content">To stop the daemon, just send the <tt>TERM</tt> signal to it, using a command
- such as: <tt>kill daemon_pid</tt>, where <strong>daemon_pid</strong> is the process id of the
- daemon (14536 in the above example).</td>
-</tr></table>
-</div>
-</div>
-<div class="sect2">
-<h3 id="basics_files">5.4. calcurse files</h3>
-<div class="paragraph"><p>The following structure is created in your <tt>$HOME</tt> directory (or in the
-directory you specified with the -D option) the first time <tt>calcurse</tt> is run
-:</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><tt>$HOME/.calcurse/
- |___notes/
- |___conf
- |___keys
- |___apts
- |___todo</tt></pre>
-</div></div>
-<div class="dlist"><dl>
-<dt class="hdlist1">
-<tt>notes/</tt>
-</dt>
-<dd>
-<p>
- this subdirectory contains descriptions of the notes which are attached to
- appointments, events or todos. One text file is created per note, whose name
- is built using mkstemp(3) and should be unique, but with no relation with the
- corresponding item&#8217;s description.
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>conf</tt>
-</dt>
-<dd>
-<p>
- this file contains the user configuration
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>keys</tt>
-</dt>
-<dd>
-<p>
- this file contains the user-defined key bindings
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>apts</tt>
-</dt>
-<dd>
-<p>
- this file contains all of the events and user&#8217;s appointments
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>todo</tt>
-</dt>
-<dd>
-<p>
- this file contains the todo list
-</p>
-</dd>
-</dl></div>
-<div class="admonitionblock">
-<table><tr>
-<td class="icon">
-<img alt="Note" src="data:image/png;base64,
-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" />
-</td>
-<td class="content">If the logging of calcurse daemon activity was set in the notification
- configuration menu, the extra file <tt>daemon.log</tt> will appear in calcurse
- data directory. This file contains logs about calcurse activity when
- running in background.</td>
-</tr></table>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_import_export_capabilities">5.5. Import/Export capabilities</h3>
-<div class="paragraph"><p>The import and export capabilities offered by <tt>calcurse</tt> are described below.</p></div>
-<div class="sect3">
-<h4 id="_import">5.5.1. Import</h4>
-<div class="paragraph"><p>Data in icalendar format as described in the rfc2445 specification (see
-<a href="#links_others">links</a> section below) can be imported into calcurse. Calcurse
-ical parser is based on version 2.0 of this specification, but for now on, only
-a subset of it is supported.</p></div>
-<div class="paragraph"><p>The following icalendar properties are handled by calcurse:</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-<tt>VTODO</tt> items: "PRIORITY", "VALARM", "SUMMARY", "DESCRIPTION"
-</p>
-</li>
-<li>
-<p>
-<tt>VEVENT</tt> items: "DTSTART", "DTEND", "DURATION", "RRULE", "EXDATE", "VALARM",
- "SUMMARY", "DESCRIPTION"
-</p>
-</li>
-</ul></div>
-<div class="paragraph"><p>The icalendar <tt>DESCRIPTION</tt> property will be converted into calcurse format by
-adding a note to the item. If a "VALARM" property is found, the item will be
-flagged as important and the user will get a notification (this is only
-applicable to appointments).</p></div>
-<div class="paragraph"><p>Here are the properties that are not implemented:</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-negative time durations are not taken into account (item is skipped)
-</p>
-</li>
-<li>
-<p>
-some recurence frequences are not recognize: "SECONDLY" / "MINUTELY" /
- "HOURLY"
-</p>
-</li>
-<li>
-<p>
-some recurrence keywords are not recognized (all those starting with <tt>BY</tt>):
- "BYSECOND" / "BYMINUTE" / "BYHOUR" / "BYDAY" / "BYMONTHDAY" / "BYYEARDAY" /
- "BYWEEKNO" / "BYMONTH" / "BYSETPOS" plus "WKST"
-</p>
-</li>
-<li>
-<p>
-the recurrence exception keyword "EXRULE" is not recognized
-</p>
-</li>
-<li>
-<p>
-timezones are not taken into account
-</p>
-</li>
-</ul></div>
-</div>
-<div class="sect3">
-<h4 id="_export">5.5.2. Export</h4>
-<div class="paragraph"><p>Two possible export formats are available: <tt>ical</tt> and <tt>pcal</tt> (see section
-<a href="#links_others">Links</a> below to find out about those formats).</p></div>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_online_help">5.6. Online help</h3>
-<div class="paragraph"><p>At any time, the built-in help system can be invoked by pressing the <tt>?</tt>
-key. Once viewing the help screens, informations on a specific command can be
-accessed by pressing the keystroke corresponding to that command.</p></div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_options">6. Options</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>All of the <tt>calcurse</tt> parameters are configurable from the Configuration menu
-available when pressing <tt>C</tt>. You are then driven to a submenu with five
-possible choices : pressing <tt>C</tt> again will lead you to the Color scheme
-configuration, pressing <tt>L</tt> allows you to choose the layout of the main
-<tt>calcurse</tt> screen (in other words, where to put the three different panels on
-screen), pressing <tt>G</tt> permits you to choose between different general options,
-pressing <tt>K</tt> opens the key bindings configuration menu, and last you can modify
-the notify-bar settings by pressing <tt>N</tt>.</p></div>
-<div class="sect2">
-<h3 id="options_general">6.1. General options</h3>
-<div class="paragraph"><p>These options control <tt>calcurse</tt> general behavior, as described below:</p></div>
-<div class="dlist"><dl>
-<dt class="hdlist1">
-<tt>auto_save</tt> (default: <strong>yes</strong>)
-</dt>
-<dd>
-<p>
- This option allows to automatically save the user&#8217;s data (if set to <strong>yes</strong>)
- when quitting. &lt;p class="rq"&gt;&lt;span class="valorise"&gt;warning:&lt;/span&gt; No data
- will be automatically saved if <tt>auto_save</tt> is set to <strong>no</strong>. This means the
- user must press <tt>S</tt> (for saving) in order to retrieve its modifications.
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>periodic_save</tt> (default: <strong>0</strong>)
-</dt>
-<dd>
-<p>
- If different from <tt>0</tt>, user&#8217;s data will be automatically saved every
- <strong>periodic_save</strong> minutes. When an automatic save is performed, two asterisks
- (i.e. <tt>**</tt>) will appear on the top right-hand side of the screen).
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>confirm_quit</tt> (default: <strong>yes</strong>)
-</dt>
-<dd>
-<p>
- If set to <strong>yes</strong>, confirmation is required before quitting, otherwise pressing
- <tt>Q</tt> will cause <tt>calcurse</tt> to quit without prompting for user confirmation.
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>confirm_delete</tt> (default: <strong>yes</strong>)
-</dt>
-<dd>
-<p>
- If this option is set to <strong>yes</strong>, pressing <tt>D</tt> for deleting an item (either a
- <strong>todo</strong>, <strong>appointment</strong>, or <strong>event</strong>), will lead to a prompt asking for user
- confirmation before removing the selected item from the list. Otherwise, no
- confirmation will be needed before deleting the item.
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>skip_system_dialogs</tt> (default: <strong>no</strong>)
-</dt>
-<dd>
-<p>
- Setting this option to <strong>yes</strong> will result in skipping the system dialogs
- related to the saving and loading of data. This can be useful to speed up
- the input/output processes.
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>skip_progress_bar</tt> (default: <strong>no</strong>)
-</dt>
-<dd>
-<p>
- If set to <strong>yes</strong>, this will cause the disappearing of the progress bar which
- is usually shown when saving data to file. If set to <strong>no</strong>, this bar will be
- displayed, together with the name of the file being saved (see section
- <a href="#basics_files">calcurse files</a>).
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>calendar_default_view</tt> (default: <strong>0</strong>)
-</dt>
-<dd>
-<p>
- If set to <tt>0</tt>, the monthly calendar view will be displayed by default
- otherwise it is the weekly view that will be displayed.
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>week_begins_on_monday</tt> (default: <strong>yes</strong>)
-</dt>
-<dd>
-<p>
- One can choose between Monday and Sunday as the first day of the week. If the
- option <tt>week_begins_on_monday</tt> is set to <strong>yes</strong>, Monday will be first in the
- calendar view. Else if the option is set to <strong>no</strong>, then Sunday will be the
- first day of the week.
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>output_datefmt</tt> (default: <strong>%D</strong>)
-</dt>
-<dd>
-<p>
- This option indicates the format to be used when displaying dates in
- non-interactive mode. Using the default values, dates are displayed the
- following way: <strong>mm/dd/aa</strong>. You can see all of the possible formats by typing
- <tt>man 3 strftime</tt> inside a terminal.
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>input_datefmt</tt> (default: <strong>1</strong>)
-</dt>
-<dd>
-<p>
- This option indicates the format that will be used to enter dates in
- <strong>calcurse</strong>. Four choices are available:
-</p>
-<div class="olist arabic"><ol class="arabic">
-<li>
-<p>
-mm/dd/yyyy
-</p>
-</li>
-<li>
-<p>
-dd/mm/yyyy
-</p>
-</li>
-<li>
-<p>
-yyyy/mm/dd
-</p>
-</li>
-<li>
-<p>
-yyyy-mm-dd
-</p>
-</li>
-</ol></div>
-</dd>
-</dl></div>
-</div>
-<div class="sect2">
-<h3 id="options_keys">6.2. Key bindings</h3>
-<div class="paragraph"><p>One can define it&#8217;s own keybindings within the <tt>Keys</tt> configuration menu. The
-default keys look like the one used by the <tt>vim</tt> editor, especially the
-displacement keys. Anyway, within this configuration menu, users can redefine
-all of the keys available from within calcurse&#8217;s user interface.</p></div>
-<div class="paragraph"><p>To define new keybindings, first highlight the action to which it will apply.
-Then, delete the actual key binding if necessary, and add a new one. You will
-then be asked to press the key corresponding to the new binding. It is possible
-to define more than one key binding for a single action.</p></div>
-<div class="paragraph"><p>An automatic check is performed to see if the new key binding is not already
-set for another action. In that case, you will be asked to choose a different
-one. Another check is done when exiting from this menu, to make sure all
-possible actions have a key associated with it.</p></div>
-<div class="paragraph"><p>The following keys can be used to define bindings:</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-lower-case, upper-case letters and numbers, such as <tt>a</tt>, <tt>Z</tt>, <tt>0</tt>
-</p>
-</li>
-<li>
-<p>
-CONTROL-key followed by one of the above letters
-</p>
-</li>
-<li>
-<p>
-escape, horizontal tab, and space keys
-</p>
-</li>
-<li>
-<p>
-arrow keys (up, down, left, and right)
-</p>
-</li>
-<li>
-<p>
-<tt>HOME</tt> and <tt>END</tt> keys
-</p>
-</li>
-</ul></div>
-<div class="paragraph"><p>While inside the key configuration menu, an online help is available for each
-one of the available actions. This help briefly describes what the highlighted
-action is used for.</p></div>
-</div>
-<div class="sect2">
-<h3 id="_color_themes">6.3. Color themes</h3>
-<div class="paragraph"><p><tt>calcurse</tt> color theme can be customized to suit user&#8217;s needs. To change the
-default theme, the configuration page displays possible choices for foreground
-and background colors. Using arrows or calcurse displacement keys to move, and
-<tt>X</tt> or space to select a color, user can preview the theme which will be
-applied. It is possible to keep the terminal&#8217;s default colors by selecting the
-corresponding choice in the list.</p></div>
-<div class="paragraph"><p>The chosen color theme will then be applied to the panel borders, to the
-titles, to the keystrokes, and to general informations displayed inside status
-bar. A black and white theme is also available, in order to support non-color
-terminals.</p></div>
-<div class="admonitionblock">
-<table><tr>
-<td class="icon">
-<img alt="Note" src="data:image/png;base64,
-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" />
-</td>
-<td class="content">Depending on your terminal type and on the value of the <tt>$TERM</tt>
- environnement variable, color could or could not be supported. An error
- message will appear if you try to change colors whereas your terminal
- does not support this feature. If you do know your terminal supports
- colors but could not get <tt>calcurse</tt> to display them, try to set your
- <tt>$TERM</tt> variable to another value (such as <strong>xterm-xfree86</strong> for instance).</td>
-</tr></table>
-</div>
-</div>
-<div class="sect2">
-<h3 id="_layout_configuration">6.4. Layout configuration</h3>
-<div class="paragraph"><p>The layout corresponds to the position of the panels inside <tt>calcurse</tt> screen.
-The default layout makes the calendar panel to be displayed on the top-right
-corner of the terminal, the todo panel on the bottom-right corner, while the
-appointment panel is displayed on the left hand-side of the screen (see the
-figure in section <a href="#basics_interface_interactive">Interactive mode</a> for an
-exemple of the default layout). By choosing another layout in the
-configuration screen, user can customize <tt>calcurse</tt> appearence to best suit his
-needs by placing the different panels where needed.</p></div>
-<div class="paragraph"><p>The following option is used to modify the layout configuration:</p></div>
-<div class="dlist"><dl>
-<dt class="hdlist1">
-<tt>layout</tt> (default: <strong>0</strong>)
-</dt>
-<dd>
-<p>
- Eight different layouts are to be chosen from (see layout configuration
- screen for the description of the available layouts).
-</p>
-</dd>
-</dl></div>
-</div>
-<div class="sect2">
-<h3 id="_sidebar_configuration">6.5. Sidebar configuration</h3>
-<div class="paragraph"><p>The sidebar is the part of the screen which contains two panels: the calendar
-and, depending on the chosen layout, either the todo list or the appointment
-list.</p></div>
-<div class="paragraph"><p>The following option is used to change the width of the sidebar:</p></div>
-<div class="dlist"><dl>
-<dt class="hdlist1">
-<tt>side-bar_width</tt> (default: <strong>0</strong>)
-</dt>
-<dd>
-<p>
- Width (in percentage, 0 being the minimum width) of the side bar.
-</p>
-</dd>
-</dl></div>
-</div>
-<div class="sect2">
-<h3 id="options_notify">6.6. Notify-bar settings</h3>
-<div class="paragraph"><p>The following options are used to modify the notify-bar behavior:</p></div>
-<div class="dlist"><dl>
-<dt class="hdlist1">
-<tt>notify-bar_show</tt> (default: <strong>yes</strong>)
-</dt>
-<dd>
-<p>
- This option indicates if you want the notify-bar to be displayed or not.
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>notify-bar_date</tt> (default: <strong>%a %F</strong>)
-</dt>
-<dd>
-<p>
- With this option, you can specify the format to be used to display the
- current date inside the notification bar. You can see all of the possible
- formats by typing <tt>man 3 strftime</tt> inside a terminal.
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>notify-bar_time</tt> (default: <strong>%T</strong>)
-</dt>
-<dd>
-<p>
- With this option, you can specify the format to be used to display the
- current time inside the notification bar. You can see all of the possible
- formats by typing <tt>man 3 strftime</tt> inside a terminal.
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>notify-bar_warning</tt> (default: <strong>300</strong>)
-</dt>
-<dd>
-<p>
- When there is an appointment which is flagged as <tt>important</tt> within the next
- <tt>notify-bar_warning</tt> seconds, the display of that appointment inside the
- notify-bar starts to blink. Moreover, the command defined by the
- <tt>notify-bar_command</tt> option will be launched. That way, the user is warned
- and knows there will be soon an upcoming appointment.
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>notify-bar_command</tt> (default: <strong>printf <em>\a</em></strong>)
-</dt>
-<dd>
-<p>
- This option indicates which command is to be launched when there is an
- upcoming appointment flagged as <tt>important</tt>. This command will be passed to
- the user&#8217;s shell which will interpret it. To know what shell must be used,
- the content of the <tt>$SHELL</tt> environment variable is used. If this variable is
- not set, <tt>/bin/sh</tt> is used instead.
-</p>
-<div class="exampleblock">
-<div class="content">
-<div class="paragraph"><p>Say the <tt>mail</tt> command is available on the user&#8217;s system, one can use the
-following command to get notified by mail of an upcoming appointment (the
-appointment description will also be mentioned in the mail body):</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><tt>$ calcurse --next | mail -s "[calcurse] upcoming appointment!" user@host.com</tt></pre>
-</div></div>
-</div></div>
-</dd>
-<dt class="hdlist1">
-<tt>notify-daemon_enable</tt> (default: <strong>no</strong>)
-</dt>
-<dd>
-<p>
- If set to yes, daemon mode will be enabled, meaning <tt>calcurse</tt> will run into
- background when the user&#8217;s interface is exited. This will allow the
- notifications to be launched even when the interface is not running. More
- details can be found in section <a href="#basics_daemon">Background mode</a>.
-</p>
-</dd>
-<dt class="hdlist1">
-<tt>notify-daemon_log</tt> (default: <strong>no</strong>)
-</dt>
-<dd>
-<p>
- If set to yes, <tt>calcurse</tt> daemon activity will be logged (see section
- <a href="#basics_files">files</a>).
-</p>
-</dd>
-</dl></div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_known_bugs">7. Known bugs</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Incorrect highlighting of items appear when using calcurse black and white
-theme together with a <tt>$TERM</tt> variable set to <strong>xterm-color</strong>. To fix this bug,
-and as advised by Thomas E. Dickey (<tt>xterm</tt> maintainer), <strong>xterm-xfree86</strong> should
-be used instead of <strong>xterm-color</strong> to set the <tt>$TERM</tt> variable:</p></div>
-<div class="quoteblock">
-<div class="content">
-<div class="paragraph"><p>"The xterm-color value for $TERM is a bad choice for XFree86 xterm because it
-is commonly used for a terminfo entry which happens to not support bce. Use the
-xterm-xfree86 entry which is distributed with XFree86 xterm (or the similar one
-distributed with ncurses)."</p></div>
-</div>
-<div class="attribution">
-</div></div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="bugs">8. Reporting bugs and feedback</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Please send bug reports and feedback to: <tt>misc .at. calcurse .dot. org</tt>.</p></div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="contribute">9. How to contribute?</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>If you would like to contribute to the project, you can first send your
-feedback on what you like or dislike, and if there are features you miss in
-<tt>calcurse</tt>. For now on, possible contributions concern the translation of
-<tt>calcurse</tt> messages and documentation.</p></div>
-<div class="sect2">
-<h3 id="_translating_documentation">9.1. Translating documentation</h3>
-<div class="admonitionblock">
-<table><tr>
-<td class="icon">
-<img alt="Note" src="data:image/png;base64,
-iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAJhUlEQVRoge2ZWWycVxXHf+fce7/v
-m/GaGCde4pI0aQlJC0kRtE1L00JbLIjY4QkeUB9YHhAIJFCExAsKUkE8IAFFPIDUIqhBRSDRBUqC
-CimFFBCBpCWx02IaZ3G2SdyxPZ7vHh6+mcnSZnFjKIge6Wj8zYzvPf9z/me5d8TM+F8WfbkNuFx5
-BcDLLf/fAEZGRmx4eNh6enqsp6fHhoeHbWRk5D9aFeSlVqHNmzfb6H33sHnT7ZQmD5GfOMax6Sm+
-Pl5h1Yc+xpYtW2SBbX1ReUkRGBkZsdH77mHLW95EOv4Ms3ueJh6YYPHUFF9aljJ63z3cf//9/5FI
-vKQIDA8P293L2yhVjjH7t51ocDiviFecF46n7XzBreChhx4qNhH5t0XjJUVgx44ddGUZ9b/vIpQD
-oRQIWSDJAiFL6B9axo4dO4gxAmANWVDLG+Ln82URMRGhVCqRHxonlAPqFXWKC4r6IhI6OMjMzBN4
-/4LlTUQQEZxzZ32QJAlpmrb+p16vU6vVOHXq1AWjN18AnDj0F971vrs4OnmYJVkoDA4FCPUO172I
-Cgnt7SV++4vvsGhRJx3tJbIsRVVpsUnOBBABBVFEClKYwbKr7sTM7EIUnBcA7z21k7t49x1X8JXv
-bOWra7rw5QRtcN8PLCfvvZJvb9vJycpJpg4/hp/N0I4SMQs4Jw0A5zBXHGiCaIZIKABgpGlKjPEF
-0TpT5pUDRXiVt99+Le03r+WzuytM1gO6pB/3+o0cbxvk8yOPMjW6i2iR2lxOjJDHSDMFogmGwzQ7
-rRJAUpAENAGXIZq2AFzQpvkACCEQcahP+cRH3sKHn9zHXU+MM7rtGeD33NDXzaZynZU9gcezpUw9
-X6OzIyOakkfF4QEpPG6nDRNNEA2FSgKimETSNCXPc0II57VpXhEolUqoOrxPSLOMT330Dv5SqfKD
-NR388Y2L+caQsjITNv3pMBs3rOT56ZyZGaM+J0QUxDc0INrWUgggoRGBAOIRAt77hY1AmqaoeJxP
-cN645jVDbNn8Hj73o8fZ/af9mEE9j9y2YRXt5YzZWmRmzjj1/BwhTXAKzitOHEbeWlc0AVwDnCv8
-KoZzjotV33lTSL1HNKAuEtKM1169jM98/E6mTk3x4Nbd7Bk7TEdHRvAeVY+hmDqmZwx1kIkiqrhz
-S2zL+AbNMC6l/80LgHMOEY9oQvBCks5RKpXo7JhFxbhz42pet2aQet1YtLiDJAkIDq8BHwJmwlwO
-UaD0ojsrNKuUReIZyb9gABCHcwWFgg+0lTPyvIRToVzKWLpkMfV6REQplYvmZCj1uuBUSdJwTg8A
-XBdoCZMOsBkQBeGi/J83gBgjmABC8AlJGsjzFLMyaXDM1etEA0VR50iCx6mSZhkiijpPjEpQD+SF
-4WdJrTAewdCFB1CtVlFVVATnhMQnWJqC5aTBk+c5IIgWRoTgSZJAmiZAo1s7hwsppglI+fTiljeY
-nyHkLQotKIAYI4igzpFHISQOiwEnKTEG8hhRVZw6YjRQLfJGHcF7jleqTBw8znXr12MABnv37efY
-iSnesG4tiUsRUQwD7JIAzKsPqCqiRbVwweM04XdPjhJN+dvTBxgbn6G9q59yZx9/3HWEb33vN+zc
-/RzOJ+w/eJLtO8Z5ZNtT7PvHIUQTvvv9X/Lc/mN0d3by3fseRLQwvWh0Fy+h8wbQ2VFG1KM+xfuA
-qufo8So/fejPPD/rqJys8pvf7eLAoeNMHqnw2U9+kH3jVQ5MClMzKUla5obr13HliiEMmDx6gltv
-uY7Vr1nBQF8PJopQ9AFTt/AROFfMjCW9XTy19xB33Hodb924jr1j+/nDk3/nzTdei4jw3nfeyCOP
-bufa1y5jzeoVrcHM8HR3dfHlr/2Q+x94jFtuuh44/9B2PplXDryYLF3STXd3e+t5UXcHY89OsOH6
-NS2Qed7wpM1Rm50G4MGHH2P961Zy3bqreXrPP5mrzwLt5y6/cACq1eoLCKm+TN/SAebmfn8aUG83
-PYs7+cnPH+eqKwd5as8/edc7bi02847pmVkATk1VWbF8AOcca1Yv59DkqcYK0tCL02deACqVCldc
-0YdIwLmEPM9RV6NnUZlPf3wT6oqJcePN6wHhzTeu4/CRCrfctJ4sSxBRli7pYfHEMUSU97/7Th75
-1RP8eec+Yp5zzTVXM9DfDyogBvHS6HTJACYmJnjVoq5GFw0454gCEOnoaMfiNGZFFRFxJGkbywZ6
-i1NWoy9kWYmbb1gHKCHApuGbisVFGyoYUswa5OR5ftF56JIBjI6OMtDfWwAQ35jnc8AVpRXBohVq
-UowECKqK4RBxoE0W6gvGCcEjaOEAwEQWdpgbGxujt7erOLO2mk3R8i0Wz9EiuUGz+qlKEQEUaJbI
-4lTHmTVePKgWzpDGJGpc8CDTlEsuo88++wxXDA0UIUbAOP23KGZKjI48KnkuhcbiPbPCOBoeBikO
-Lk2VxjqNRilaAEqSZGEAbN261bZt+zW33XY7IAXXm6Ou0YhIMamaaUOl5WRrzg00viuKWWxpQUOH
-NAZFQRpD48Xlkig0MTHBB95zG+VSylz1KCbWyDOh2XyK+56IqjWMKigkUnzWnPPFFFRRLZ29SQRU
-ELOGY4pZ6LKOlM07mZ07d/KOtw1TcB4sGkTDiDQ9K1IkrKeYmQC08d7pZLSiRBpE5s7aS0XAHFEK
-AGY51Wr18g80Zmb33nsvX/z8XdSmj2AWOXhwkrxe46+79jB55Dh/3T2GxUhHextdXW2sXN7PNWtW
-IQKDA71FFBoAjIgQkVg/a5+oHrU5zIznDhxk964xKpXKggAoTlWW8+OfPorlOQ//cjsDy1bS2dFO
-W+diVly1iL6+Pqanpzl5qsL4pPHwN3/G1InDlMsZ7Z1tDA30cfWqIa5dexV9fb2YnT7UTxw4xsHJ
-o4yOjfOP8QOMjx/k4OQx7r777lY0zycXvJ02M4sxMjg4SL1eR0TYsGEDw8PD9PX10d7ejogUN3a1
-GqpKCIE8z5mdnUVVqVarbN++nba2Nvbu3csDDzyAqrJ8+atb+zjn6e/vZ/Xq1axatYq1a9fS29tL
-lmUMDQ1RKpXOm9EXvV6v1+tWr9eZnp5mZmaGWq1GjLHF62aiNZ+bnPfe45xrvTZzxMyYmZk56+LX
-zKjX661DvHOOJElIkoRSqYT3/vLvRlW15eHCa4VxzdvmpjZDfubzuXeb3vuzqCEixBhbo0NTkyS5
-PAr9L8j/96+U/w3yCoCXW14B8HLLvwDd67nwZIEPdgAAAABJRU5ErkJggg==" />
-</td>
-<td class="content">We recently dropped all translations of the manual files from the
- distribution tarball. There are plan to reintroduce them in form of a
- Wiki on the calcurse website. Please follow the mailing lists for
- up-to-date information.</td>
-</tr></table>
-</div>
-<div class="paragraph"><p>The <strong>doc/</strong> directory of the source package already contains translated version
-of <tt>calcurse</tt> manual. However, if the manual is not yet available into your
-native language, it would be appreciated if you could help translating it.</p></div>
-<div class="paragraph"><p>To do so, just copy one of the existing manual file to <tt>manual_XX.html</tt>, where
-<strong>XX</strong> identifies your language. Then translate this newly created file and send
-it to the author (see <a href="#bugs">Reporting bugs and feeback</a>), so that it can be
-included in the next <tt>calcurse</tt> release.</p></div>
-</div>
-<div class="sect2">
-<h3 id="_calcurse_i18n">9.2. calcurse i18n</h3>
-<div class="paragraph"><p>As already mentioned, <tt>gettext</tt> utilities are used by <tt>calcurse</tt> to produce
-multi-lingual messages. We are currently using
-<a href="http://www.transifex.net/">Transifex</a> to manage those translations.</p></div>
-<div class="paragraph"><p>This section provides informations about how to translate those messages into
-your native language. However, this howto is deliberately incomplete, focusing
-on working with <tt>gettext</tt> for <tt>calcurse</tt> specifically. For more comprehensive
-informations or to grasp the Big Picture of Native Language Support, you should
-refer to the <tt>GNU gettext</tt> manual at:
-<a href="http://www.gnu.org/software/gettext/manual/">http://www.gnu.org/software/gettext/manual/</a></p></div>
-<div class="admonitionblock">
-<table><tr>
-<td class="icon">
-<img alt="Important" src="data:image/png;base64,
-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
-EQn3XQAAAABJRU5ErkJggg==" />
-</td>
-<td class="content">Since we switched to Transifex, editing <strong>po</strong> files is not necessary
- anymore as Transifex provides a user-friendly, intuitive web
- interface for translators. Knowlegde of <tt>gettext</tt> and the <strong>po</strong>
- format is still useful for those of you who prefer the command line
- and local editing. If you want to use the web UI to edit the
- translation strings, you can skip over to <a href="#transifex_webui">Using the Transifex web UI</a> tough.</td>
-</tr></table>
-</div>
-<div class="paragraph"><p>Basically, three different people get involved in the translation chain:
-coders, language coordinator, and translators. After a quick overview of how
-things work, the translator tasks will be described hereafter.</p></div>
-<div class="sect3">
-<h4 id="_overview_2">9.2.1. Overview</h4>
-<div class="paragraph"><p>To be able to display texts in the native language of the user, two steps are
-required: <strong>internationalization</strong> (i18n) and <strong>localization</strong> (l10n).</p></div>
-<div class="paragraph"><p>i18n is about making <tt>calcurse</tt> support multiple languages. It is performed by
-coders, who will mark translatable texts and provide a way to display them
-translated at runtime.</p></div>
-<div class="paragraph"><p>l10n is about making the i18n&#8217;ed <tt>calcurse</tt> adapt to the specific language of
-the user, ie translating the strings previously marked by the developers, and
-setting the environment correctly for <tt>calcurse</tt> to use the result of this
-translation.</p></div>
-<div class="paragraph"><p>So, translatable strings are first marked by the coders within the <tt>C</tt> source
-files, then gathered in a template file (<strong>calcurse.pot</strong> - the <strong>pot</strong> extension
-meaning <strong>portable object template</strong>). The content of this template file is then
-merged with the translation files for each language (<strong>fr.po</strong> for french, for
-instance - with <strong>po</strong> standing for <strong>portable object</strong>, ie meant to be read and
-edited by humans). A given translation team will take this file, translate its
-strings, and send it back to the developers. At compilation time, a binary
-version of this file (for efficiency reasons) will be produced (<strong>fr.mo</strong> - <strong>mo</strong>
-stands for <strong>machine object</strong>, ie meant to be read by programs), and then
-installed. Then <tt>calcurse</tt> will use this file at runtime, translating the
-strings according to the locale settings of the user.</p></div>
-</div>
-<div class="sect3">
-<h4 id="_translator_tasks">9.2.2. Translator tasks</h4>
-<div class="paragraph"><p>Suppose someone wants to initiate the translation of a new language. Here are
-the steps to follow:</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-First, find out what the locale name is. For instance, for french, it is
- <tt>fr_FR</tt>, or simply <tt>fr</tt>. This is the value the user will have to put in his
- <tt>LC_ALL</tt> environment variable for software to be translated (see
- <a href="#basics_invocation_variable">Environment variable for i18n</a>).
-</p>
-</li>
-<li>
-<p>
-Then, go into the <strong>po/</strong> directory, and create a new po-file
- from the template file using the following command: <tt>msginit -i calcurse.pot
- -o fr.po -l fr --no-translator</tt> If you do not have <tt>msginit</tt> installed on
- your system, simply copy the <strong>calcurse.pot</strong> file to <strong>fr.po</strong> and edit the
- header by hand.
-</p>
-</li>
-</ul></div>
-<div class="paragraph"><p>Now, having this <strong>fr.po</strong> file, the translator is ready to begin.</p></div>
-</div>
-<div class="sect3">
-<h4 id="_po_files">9.2.3. po-files</h4>
-<div class="paragraph"><p>The format of the po-files is quite simple. Indeed, po-files are made of four
-things:</p></div>
-<div class="olist arabic"><ol class="arabic">
-<li>
-<p>
-<strong>location lines:</strong> tells you where the strings can be seen (name of file and
- line number), in case you need to see a bit of context.
-</p>
-</li>
-<li>
-<p>
-<strong>msgid lines:</strong> the strings to translate.
-</p>
-</li>
-<li>
-<p>
-<strong>msgstr lines:</strong> the translated strings.
-</p>
-</li>
-<li>
-<p>
-<strong>lines prefixed with <tt>#</tt>:</strong> comments (some with a special meaning, as we will
- see below).
-</p>
-</li>
-</ol></div>
-<div class="paragraph"><p>Basically, all you have to do is fill the <strong>msgstr</strong> lines with the translation
-of the above <strong>msgid</strong> line.</p></div>
-<div class="paragraph"><p>A few notes:</p></div>
-<div class="dlist"><dl>
-<dt class="hdlist1">
-<strong>Fuzzy strings</strong>
-</dt>
-<dd>
-<p>
- You will meet strings marked with a <tt>"#, fuzzy"</tt> comment. <tt>calcurse</tt> won&#8217;t
- use the translations of such strings until you do something about them. A
- string being fuzzy means either that the string has already been translated
- but has since been changed in the sources of the program, or that this is a
- new string for which <tt>gettext</tt> made a <em>wild guess</em> for the translation, based
- on other strings in the file. It means you have to review the translation.
- Sometimes, the original string has changed just because a typo has been
- fixed. In this case, you won&#8217;t have to change anything. But sometimes, the
- translation will no longer be accurate and needs to be changed. Once you are
- done and happy with the translation, just remove the <tt>"#, fuzzy"</tt> line, and
- the translation will be used again in <tt>calcurse</tt>.
-</p>
-</dd>
-<dt class="hdlist1">
-<strong>c-format strings and special sequences</strong>
-</dt>
-<dd>
-<p>
- Some strings have the following comment: <tt>"#, c-format"</tt>. This tells that
- parts of the string to translate have a special meaning for the program, and
- that you should leave them alone. For instance, %-sequences, like <tt>"%s"</tt>.
- These means that <tt>calcurse</tt> will replace them with another string. So it is
- important it remains. There are also \-sequences, like <tt>\n</tt> or <tt>\t</tt>. Leave
- them, too. The former represents an end of line, the latter a tabulation.
-</p>
-</dd>
-<dt class="hdlist1">
-<strong>Translations can be wrapped</strong>
-</dt>
-<dd>
-<p>
- If lines are too long, you can just break them like this:
-</p>
-<div class="listingblock">
-<div class="content">
-<pre><tt>msgid ""
-"some very long line"
-"another line"</tt></pre>
-</div></div>
-</dd>
-<dt class="hdlist1">
-<strong>po-file header</strong>
-</dt>
-<dd>
-<p>
- At the very beginning of the po-file, the first string form a header, where
- various kind of information has to be filled in. Most important one is the
- charset. It should resemble
-</p>
-<div class="listingblock">
-<div class="content">
-<pre><tt>"Content-Type: text/plain; charset=utf-8\n"</tt></pre>
-</div></div>
-<div class="paragraph"><p>You should also fill in the Last-Translator field, so that potential
-contributors can contact you if they want to join you in the translation team,
-or have remarks/typo fixes to give about the translations. You can either just
-give your name/nick, or add an email address, for exemple:</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><tt>"Last-Translator: Frederic Culot &lt;frederic@culot.org&gt;\n"</tt></pre>
-</div></div>
-</dd>
-<dt class="hdlist1">
-<strong>Comments</strong>
-</dt>
-<dd>
-<p>
- Adding comments (lines begining with the <tt>#</tt> character) can be a good way to
- point out problems or translation difficulties to proofreaders or other
- members of your team.
-</p>
-</dd>
-<dt class="hdlist1">
-<strong>Strings size</strong>
-</dt>
-<dd>
-<p>
- <tt>calcurse</tt> is a curses/console program, thus it can be heavily dependant on
- the terminal size (number of columns). You should think about this when
- translating. Often, a string must fit into a single line (standard length is
- 80 characters). Don&#8217;t translate blindly, try to look where your string will
- be displayed to adapt your translation.
-</p>
-</dd>
-<dt class="hdlist1">
-<strong>A few useful tools</strong>
-</dt>
-<dd>
-<p>
- The po-file format is very simple, and the file can be edited with a standard
- text editor. But if you prefer, there are few specialized tools you may find
- convenient for translating:
-</p>
-<div class="ulist"><ul>
-<li>
-<p>
-<tt>poEdit</tt> (<a href="http://www.poedit.org/">http://www.poedit.org/</a>)
-</p>
-</li>
-<li>
-<p>
-<tt>KBabel</tt> (<a href="http://i18n.kde.org/tools/kbabel/">http://i18n.kde.org/tools/kbabel/</a>)
-</p>
-</li>
-<li>
-<p>
-<tt>GTranslator</tt> (<a href="http://gtranslator.sourceforge.net/">http://gtranslator.sourceforge.net/</a>)
-</p>
-</li>
-<li>
-<p>
-<tt>Emacs</tt> po mode
-</p>
-</li>
-<li>
-<p>
-<tt>Vim</tt> po mode
-</p>
-</li>
-</ul></div>
-</dd>
-<dt class="hdlist1">
-<strong>And finally</strong>
-</dt>
-<dd>
-<p>
- I hope you&#8217;ll have fun contributing to a more internationalized world. :) If
- you have any more questions, don&#8217;t hesitate to contact us at <strong>misc .at.
- calcurse .dot. org</strong>.
-</p>
-</dd>
-</dl></div>
-</div>
-<div class="sect3">
-<h4 id="transifex_uploading">9.2.4. Uploading to Transifex</h4>
-<div class="paragraph"><p>There&#8217;s several different ways to upload a finished (or semi-finished)
-translation for a new language to Transifex. The easiest way is to browse to
-the <a href="http://www.transifex.net/projects/p/calcurse/teams/">Translation Teams</a> page
-and request the addition of a new team.</p></div>
-<div class="paragraph"><p>As soon as we accepted your request, you will be able to upload your <strong>po</strong> file
-on the
-<a href="http://www.transifex.net/projects/p/calcurse/resource/calcursepot/">calcurse
-resource page</a> by clicking the <strong>Add translation</strong> button at the bottom.</p></div>
-</div>
-<div class="sect3">
-<h4 id="_using_transifex_client">9.2.5. Using transifex-client</h4>
-<div class="paragraph"><p>You can also use a command line client to submit translations instead of having
-to use the web interface every time you want to submit an updated version. If
-you have a recent version of setuptools installed, you can get the CLI client
-by issuing the following command:</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><tt>$ easy_install -U transifex-client</tt></pre>
-</div></div>
-<div class="paragraph"><p>Alternatively, you can get the source code of transifex-client at
-<a href="http://pypi.python.org/pypi/transifex-client">http://pypi.python.org/pypi/transifex-client</a>.</p></div>
-<div class="paragraph"><p>After you downloaded and installed the client, run the following commands in
-the calcurse source directory to checkout the translation resources of
-<strong>calcurse</strong>:</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><tt>$ tx pull -a</tt></pre>
-</div></div>
-<div class="paragraph"><p>To submit changes back to the server, use:</p></div>
-<div class="listingblock">
-<div class="content">
-<pre><tt>$ tx push -r calcurse.calcursepot -t -l &lt;locale&gt;</tt></pre>
-</div></div>
-<div class="paragraph"><p>For more details, read up on transifex-client usage at the
-<a href="http://help.transifex.net/user-guide/client/">The Transifex Command-line Client
-v0.4</a> section of the <a href="http://help.transifex.net/">Transifex documentation</a>.</p></div>
-</div>
-<div class="sect3">
-<h4 id="transifex_webui">9.2.6. Using the Transifex web UI</h4>
-<div class="paragraph"><p>As an alternative to editing <strong>po</strong> files, there is a web-based interface that
-can be used to create and update translations. After having signed up and
-created a new translation team (see <a href="#transifex_uploading">Uploading to Transifex</a> on how to do that), click the <strong>Add translation</strong> button at the
-bottom on the
-<a href="http://www.transifex.net/projects/p/calcurse/resource/calcursepot/">calcurse
-resource page</a>, select the language you&#8217;d like to translate and choose
-<strong>Translate Online</strong>.</p></div>
-</div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_links">10. Links</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>This section contains links and references that may be of interest to you.</p></div>
-<div class="sect2">
-<h3 id="_calcurse_homepage">10.1. calcurse homepage</h3>
-<div class="paragraph"><p>The <tt>calcurse</tt> homepage can be found at <a href="http://calcurse.org">http://calcurse.org</a></p></div>
-</div>
-<div class="sect2">
-<h3 id="_calcurse_announce_list">10.2. calcurse announce list</h3>
-<div class="paragraph"><p>If you are interested in the project and want to be warned when a new release
-comes out, you can subscribe to the <tt>calcurse</tt> announce list. In doing so, you
-will receive an email as soon as a new feature appears in <tt>calcurse</tt>.</p></div>
-<div class="paragraph"><p>To subscribe to this list, send a message to <strong>announce+subscribe .at. calcurse
-.dot. org</strong> with "subscribe" in the subject field.</p></div>
-</div>
-<div class="sect2">
-<h3 id="links_others">10.3. Other links</h3>
-<div class="paragraph"><p>You may want to look at the ical format specification (rfc2445) at:
-<a href="http://tools.ietf.org/html/rfc2445">http://tools.ietf.org/html/rfc2445</a></p></div>
-<div class="paragraph"><p>The pcal project page can be found at: <a href="http://pcal.sourceforge.net/">http://pcal.sourceforge.net/</a></p></div>
-</div>
-</div>
-</div>
-<div class="sect1">
-<h2 id="_thanks">11. Thanks</h2>
-<div class="sectionbody">
-<div class="paragraph"><p>Its time now to thank other people without whom this program would not exist!
-So here is a list of contributing persons I would like to thank :</p></div>
-<div class="ulist"><ul>
-<li>
-<p>
-Alex for its patches, help and advices with <tt>C</tt> programming
-</p>
-</li>
-<li>
-<p>
-Gwen for testing and general discussions about how to improve <tt>calcurse</tt>
-</p>
-</li>
-<li>
-<p>
-Herbert for packaging <tt>calcurse</tt> for FreeBSD
-</p>
-</li>
-<li>
-<p>
-Zul for packaging <tt>calcurse</tt> for NetBSD
-</p>
-</li>
-<li>
-<p>
-Wain, Steffen and Ronald for packaging <tt>calcurse</tt> for Archlinux
-</p>
-</li>
-<li>
-<p>
-Kevin, Ryan, and fEnIo for packaging <tt>calcurse</tt> for Debian and Ubuntu
-</p>
-</li>
-<li>
-<p>
-Pascal for packaging <tt>calcurse</tt> for Slackware
-</p>
-</li>
-<li>
-<p>
-Alexandre and Markus for packaging <tt>calcurse</tt> for Mac OsX and Darwin
-</p>
-</li>
-<li>
-<p>
-Igor for packaging <tt>calcurse</tt> for ALT Linux
-</p>
-</li>
-<li>
-<p>
-Joel for its calendar script which inspired <tt>calcurse</tt> calendar view
-</p>
-</li>
-<li>
-<p>
-Michael Schulz and Chris M. for the german translation of <tt>calcurse</tt> and its
- manual
-</p>
-</li>
-<li>
-<p>
-Jose Lopez for the spanish translation of <tt>calcurse</tt> and its manual
-</p>
-</li>
-<li>
-<p>
-Neil Williams for the english translation
-</p>
-</li>
-<li>
-<p>
-Leandro Noferini for the italian translation
-</p>
-</li>
-<li>
-<p>
-Tony for its patch which helped improving the recur_item_inday() function,
- and for implementing the date format configuration options
-</p>
-</li>
-<li>
-<p>
-Jeremy Roon for the dutch translation
-</p>
-</li>
-<li>
-<p>
-Erik Saule for its patch implementing the <tt>-N</tt>, <tt>-s</tt>, <tt>-S</tt>, <tt>-r</tt> and <tt>-D</tt>
- flags
-</p>
-</li>
-<li>
-<p>
-people who write softwares I like and which inspired me, especially :
-</p>
-<div class="ulist"><ul>
-<li>
-<p>
-<tt>vim</tt> for the displacement keys
-</p>
-</li>
-<li>
-<p>
-<tt>orpheus</tt> and <tt>abook</tt> for documentation
-</p>
-</li>
-<li>
-<p>
-<tt>pine</tt> and <tt>aptitude</tt> for the text user interface
-</p>
-</li>
-<li>
-<p>
-<tt>tmux</tt> for coding style
-</p>
-</li>
-</ul></div>
-</li>
-</ul></div>
-<div class="paragraph"><p>And last, many many thanks to all of the <tt>calcurse</tt> users who sent me their
-feedback.</p></div>
-</div>
-</div>
-</div>
-<div id="footnotes"><hr /></div>
-<div id="footer">
-<div id="footer-text">
-Last updated 2011-05-24 17:07:45 CEST
-</div>
-</div>
-</body>
-</html>
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>CALCURSE - text-based organizer</title><link rel="stylesheet" type="text/css" href="docbook-xsl.css" /><meta name="generator" content="DocBook XSL Stylesheets V1.77.1" /></head><body><div xml:lang="en" class="article" lang="en"><div class="titlepage"><div><div><h2 class="title"><a id="idp26315904"></a>CALCURSE - text-based organizer</h2></div></div><hr /></div><div class="toc"><p><strong>Table of Contents</strong></p><dl><dt><span class="section"><a href="#_introduction">1. Introduction</a></span></dt><dt><span class="section"><a href="#_overview">2. Overview</a></span></dt><dd><dl><dt><span class="section"><a href="#_creation_history">2.1. Creation history</a></span></dt><dt><span class="section"><a href="#_important_features">2.2. Important features</a></span></dt></dl></dd><dt><span class="section"><a href="#_installation">3. Installation</a></span></dt><dd><dl><dt><span class="section"><a href="#_requirements">3.1. Requirements</a></span></dt><dt><span class="section"><a href="#install_process">3.2. Install process</a></span></dt></dl></dd><dt><span class="section"><a href="#_calcurse_basics">4. calcurse basics</a></span></dt><dd><dl><dt><span class="section"><a href="#_invocation">4.1. Invocation</a></span></dt><dt><span class="section"><a href="#_user_interface">4.2. User interface</a></span></dt><dt><span class="section"><a href="#basics_daemon">4.3. Background mode</a></span></dt><dt><span class="section"><a href="#basics_files">4.4. calcurse files</a></span></dt><dt><span class="section"><a href="#_import_export_capabilities">4.5. Import/Export capabilities</a></span></dt><dt><span class="section"><a href="#_online_help">4.6. Online help</a></span></dt></dl></dd><dt><span class="section"><a href="#_options">5. Options</a></span></dt><dd><dl><dt><span class="section"><a href="#options_general">5.1. General options</a></span></dt><dt><span class="section"><a href="#options_keys">5.2. Key bindings</a></span></dt><dt><span class="section"><a href="#_color_themes">5.3. Color themes</a></span></dt><dt><span class="section"><a href="#_layout_configuration">5.4. Layout configuration</a></span></dt><dt><span class="section"><a href="#_sidebar_configuration">5.5. Sidebar configuration</a></span></dt><dt><span class="section"><a href="#options_notify">5.6. Notify-bar settings</a></span></dt></dl></dd><dt><span class="section"><a href="#_known_bugs">6. Known bugs</a></span></dt><dt><span class="section"><a href="#bugs">7. Reporting bugs and feedback</a></span></dt><dt><span class="section"><a href="#contribute">8. How to contribute?</a></span></dt><dd><dl><dt><span class="section"><a href="#_translating_documentation">8.1. Translating documentation</a></span></dt><dt><span class="section"><a href="#_calcurse_i18n">8.2. calcurse i18n</a></span></dt></dl></dd><dt><span class="section"><a href="#_links">9. Links</a></span></dt><dd><dl><dt><span class="section"><a href="#_calcurse_homepage">9.1. calcurse homepage</a></span></dt><dt><span class="section"><a href="#_calcurse_announce_list">9.2. calcurse announce list</a></span></dt><dt><span class="section"><a href="#links_others">9.3. Other links</a></span></dt></dl></dd><dt><span class="section"><a href="#_thanks">10. Thanks</a></span></dt></dl></div><div class="abstract"><a id="_abstract"></a><div class="titlepage"></div><p>This manual describes <code class="literal">calcurse</code> functionalities, and how to use them. The
+installation from source is first described, together with the available
+command line arguments. The user interface is then presented, with all of the
+customizable options that change <code class="literal">calcurse</code> behavior. Last, bug reporting
+procedure is explained, as well as the way one can contribute to <code class="literal">calcurse</code>
+development.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_introduction"></a>1. Introduction</h2></div></div></div><p><code class="literal">calcurse</code> is a text-based calendar and scheduling application. It helps
+keeping track of events, appointments and everyday tasks. A configurable
+notification system reminds user of upcoming deadlines, and the curses based
+interface can be customized to suit user needs. All of the commands are
+documented within an online help system.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_overview"></a>2. Overview</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_creation_history"></a>2.1. Creation history</h3></div></div></div><p>I started thinking about this project when I was finishing my Ph.D. in
+Astrophysics… It started to be a little hard to organize myself, and I really
+needed a good tool to help me in that difficult task ;)</p><p>I like programs which use Text User Interfaces, because they are simple, fast,
+portable and efficient, so I thought about working on coding a simple calendar
+using such an interface. Moreover, I wanted to go on learning the <code class="literal">C</code>
+language, which I only used for a while during my undergraduate studies. So I
+thought that would be the good project to start in order to get organized and
+to learn about a few <code class="literal">C</code> things !</p><p>Unfortunately, I finished my Ph.D. before finishing <code class="literal">calcurse</code>, but anyway, I
+still wanted to work on it, hoping it would be helpful to other people. So
+here it is…</p><p>But why <span class="emphasis"><em>calcurse</em></span> anyway ? Well, it is simply the concatenation of <span class="emphasis"><em>CALendar</em></span>
+and <span class="emphasis"><em>nCURSEs</em></span>, the name of the library used to build the user interface.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_important_features"></a>2.2. Important features</h3></div></div></div><p><code class="literal">Calcurse</code> is multi-platform and intended to be lightweight, fast and reliable.
+It is to be used inside a console or terminal, locally or on a distant machine
+within an ssh (or similar) connection.</p><p><code class="literal">Calcurse</code> can be run in two different modes : interactive or non-interactive
+mode. The first mode allows oneself to view its own personal organizer almost
+everywhere, thanks to the text-based interface. The second mode permits to
+easily build reminders just by adding <code class="literal">calcurse</code> with appropriate command line
+arguments inside a cron tab or within a shell init script.</p><p>Moreover, <code class="literal">calcurse</code> was created with the end-user in mind, and tends to be as
+friendly as possible. This means a complete on-line help system, together with
+having all of the possible actions displayed at any time inside a status bar.
+The user interface is configurable, and one can choose between several color
+and layout combinations. Key bindings are also configurable, to fit everyone’s
+needs. Last, a configurable notification system reminds user of upcoming
+appointments. The reminders are sent even if the user’s interface is not
+running, as calcurse is able to run in background.</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_installation"></a>3. Installation</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_requirements"></a>3.1. Requirements</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_ncurses_library"></a>ncurses library</h4></div></div></div><p><code class="literal">Calcurse</code> requires only a <code class="literal">C</code> compiler, such as <code class="literal">cc</code> or <code class="literal">gcc</code>, and the
+<code class="literal">ncurses</code> library. It would be very surprising not to have a valid <code class="literal">ncurses</code>
+library already installed on your computer, but if not, you can find it at the
+following url: <a class="ulink" href="http://ftp.gnu.org/pub/gnu/ncurses/" target="_top">http://ftp.gnu.org/pub/gnu/ncurses/</a></p><div class="note" style="margin-left: 0; margin-right: 10%;"><h3 class="title">Note</h3><p>It is also possible to link <code class="literal">calcurse</code> against the <code class="literal">ncursesw</code> library
+ (ncurses with support for unicode).</p></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="install_requirements_gettext"></a>gettext library</h4></div></div></div><p><code class="literal">calcurse</code> supports internationalization (<span class="strong"><strong>i18n</strong></span> hereafter) through the
+<code class="literal">gettext</code> utilities. This means <code class="literal">calcurse</code> can produce multi-lingual messages
+if compiled with native language support (i.e. <span class="strong"><strong>NLS</strong></span>).</p><p>However, <span class="strong"><strong>NLS</strong></span> is optionnal and if you do not want to have support for
+multi-lingual messages, you can disable this feature. This is done by giving
+the <code class="literal">--disable-nls</code> option to <code class="literal">configure</code> (see section
+<a class="link" href="#install_process" title="3.2. Install process">Install process</a>). To check if the <code class="literal">gettext</code> utilities are
+installed on your system, you can search for the <code class="literal">libintl.h</code> header file for
+instance:</p><pre class="screen">$ locate libintl.h</pre><p>If this header file is not found, then you can obtain the <code class="literal">gettext</code> sources at
+the following url : <a class="ulink" href="http://ftp.gnu.org/pub/gnu/gettext/" target="_top">http://ftp.gnu.org/pub/gnu/gettext/</a></p><div class="note" style="margin-left: 0; margin-right: 10%;"><h3 class="title">Note</h3><p>Even if <code class="literal">libintl.h</code> is found on your system, it can be wise to specify
+ its location during the <a class="link" href="#install_process" title="3.2. Install process">install process</a>, by using the
+ <code class="literal">--with-libintl-prefix</code> option with <code class="literal">configure</code>. Indeed, the <code class="literal">configure</code>
+ could fail to locate this library if installed in an uncommon place.</p></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="install_process"></a>3.2. Install process</h3></div></div></div><p>First you need to gunzip and untar the source archive:</p><pre class="screen">$ tar zxvf calcurse-3.0.0.tar.gz</pre><p>Once you meet the requirements and have extracted the archive, the install
+process is quite simple, and follows the standard three steps process:</p><pre class="screen">$ ./configure
+$ make
+$ make install # (may require root privilege)</pre><p>Use <code class="literal">./configure --help</code> to obtain a list of possible options.</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_calcurse_basics"></a>4. calcurse basics</h2></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_invocation"></a>4.1. Invocation</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="basics_invocation_commandline"></a>Command line arguments</h4></div></div></div><p><code class="literal">calcurse</code> takes the following options from the command line (both short and
+long options are supported):</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+<code class="literal">-a, --appointment</code>
+</span></dt><dd>
+ Print the appointments and events for the current day and exit. The calendar
+ from which to read the appointments can be specified using the <code class="literal">-c</code> flag.
+</dd><dt><span class="term">
+<code class="literal">-c &lt;file&gt;, --calendar &lt;file&gt;</code>
+</span></dt><dd>
+ Specify the calendar file to use. The default calendar is
+ <code class="literal">~/.calcurse/apts</code> (see section <a class="link" href="#basics_files" title="4.4. calcurse files">calcurse files</a>).
+</dd><dt><span class="term">
+<code class="literal">-d &lt;date|num&gt;, --day &lt;date|num&gt;</code>
+</span></dt><dd><p class="simpara">
+ Print the appointments for the given date or for the given number of
+ upcoming days, depending on the argument format. Two possible formats are
+ supported:
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+a date (possible formats described below).
+</li><li class="listitem">
+a number <code class="literal">n</code>.
+</li></ul></div><p class="simpara">In the first case, the appointment list for the specified date will be
+returned, while in the second case the appointment list for the <code class="literal">n</code> upcoming
+days will be returned. As an example, typing <code class="literal">calcurse -d 3</code> will display
+your appointments for today, tomorrow, and the day after tomorrow. Possible
+formats for specifying the date are defined inside the general configuration
+menu (see <a class="link" href="#options_general" title="5.1. General options">General options</a>), using the
+<code class="literal">format.inputdate</code> variable.</p><p class="simpara">Note: as for the <code class="literal">-a</code> flag, the calendar from which to read the appointments
+can be specified using the <code class="literal">-c</code> flag.</p></dd><dt><span class="term">
+<code class="literal">-D &lt;dir&gt;, --directory &lt;dir&gt;</code>
+</span></dt><dd>
+ Specify the data directory to use. This option is incompatible with -c.
+ If not specified, the default directory is <code class="literal">~/.calcurse/</code>.
+</dd><dt><span class="term">
+<code class="literal">--format-apt &lt;format&gt;</code>
+</span></dt><dd>
+ Specify a format to control the output of appointments in non-interactive
+ mode. See the <a class="link" href="#basics_format_strings" title="Format strings">Format strings</a> section for detailed
+ information on format strings.
+</dd><dt><span class="term">
+<code class="literal">--format-recur-apt &lt;format&gt;</code>
+</span></dt><dd>
+ Specify a format to control the output of recurrent appointments in
+ non-interactive mode. See the <a class="link" href="#basics_format_strings" title="Format strings">Format strings</a>
+ section for detailed information on format strings.
+</dd><dt><span class="term">
+<code class="literal">--format-event &lt;format&gt;</code>
+</span></dt><dd>
+ Specify a format to control the output of events in non-interactive mode. See
+ the <a class="link" href="#basics_format_strings" title="Format strings">Format strings</a> section for detailed information
+ on format strings.
+</dd><dt><span class="term">
+<code class="literal">--format-recur-event &lt;format&gt;</code>
+</span></dt><dd>
+ Specify a format to control the output of recurrent events in non-interactive
+ mode. See the <a class="link" href="#basics_format_strings" title="Format strings">Format strings</a> section for detailed
+ information on format strings.
+</dd><dt><span class="term">
+<code class="literal">--format-todo &lt;format&gt;</code>
+</span></dt><dd>
+ Specify a format to control the output of todo items in non-interactive mode.
+ See the <a class="link" href="#basics_format_strings" title="Format strings">Format strings</a> section for detailed
+ information on format strings.
+</dd><dt><span class="term">
+<code class="literal">-g, --gc</code>
+</span></dt><dd>
+ Run the garbage collector for note files and exit.
+</dd><dt><span class="term">
+<code class="literal">-h, --help</code>
+</span></dt><dd>
+ Print a short help text describing the supported command-line options,
+ and exit.
+</dd><dt><span class="term">
+<code class="literal">-i &lt;file&gt;, --import &lt;file&gt;</code>
+</span></dt><dd>
+ Import the icalendar data contained in <code class="literal">file</code>.
+</dd><dt><span class="term">
+<code class="literal">-n, --next</code>
+</span></dt><dd><p class="simpara">
+ Print the next appointment within upcoming 24 hours and exit. The indicated
+ time is the number of hours and minutes left before this appointment.
+</p><p class="simpara">Note: the calendar from which to read the appointments can be specified using
+the <code class="literal">-c</code> flag.</p></dd><dt><span class="term">
+<code class="literal">-r[num], --range[=num]</code>
+</span></dt><dd>
+ Print events and appointments for the num number of days and exit. If no num
+ is given, a range of 1 day is considered.
+</dd><dt><span class="term">
+<code class="literal">--read-only</code>
+</span></dt><dd><p class="simpara">
+ Don’t save configuration nor appointments/todos.
+</p><div class="warning" style="margin-left: 0; margin-right: 10%;"><h3 class="title">Warning</h3><p>Use this this with care! If you run an interactive calcurse instance
+in read-only mode, all changes from this session will be lost without warning!</p></div></dd><dt><span class="term">
+<code class="literal">-s[date], --startday[=date]</code>
+</span></dt><dd>
+ Print events and appointments from date and exit. If no date is given, the
+ current day is considered.
+</dd><dt><span class="term">
+<code class="literal">-S&lt;regex&gt;, --search=&lt;regex&gt;</code>
+</span></dt><dd>
+ When used with the <code class="literal">-a</code>, <code class="literal">-d</code>, <code class="literal">-r</code>, <code class="literal">-s</code>, or <code class="literal">-t</code> flag, print only the items
+ having a description that matches the given regular expression.
+</dd><dt><span class="term">
+<code class="literal">--status</code>
+</span></dt><dd>
+ Display the status of running instances of calcurse. If calcurse is
+ running, this will tell if the interactive mode was launched or if
+ calcurse is running in background. The process pid will also be indicated.
+</dd><dt><span class="term">
+<code class="literal">-t[num], --todo[=num]</code>
+</span></dt><dd>
+ Print the <code class="literal">todo</code> list and exit. If the optional number <code class="literal">num</code> is given, then
+ only todos having a priority equal to <code class="literal">num</code> will be returned. The priority
+ number must be between 1 (highest) and 9 (lowest). It is also possible to
+ specify <code class="literal">0</code> for the priority, in which case only completed tasks will be
+ shown.
+</dd><dt><span class="term">
+<code class="literal">-v, --version</code>
+</span></dt><dd>
+ Display <code class="literal">calcurse</code> version and exit.
+</dd><dt><span class="term">
+<code class="literal">-x[format], --export[=format]</code>
+</span></dt><dd><p class="simpara">
+ Export user data to specified format. Events, appointments and todos are
+ converted and echoed to stdout. Two possible formats are available: ical and
+ pcal (see section <a class="link" href="#links_others" title="9.3. Other links">Links</a> below). If the optional
+ argument <code class="literal">format</code> is not given, ical format is selected by default.
+</p><p class="simpara">Note: redirect standard output to export data to a file, by issuing a command
+such as:</p><pre class="screen">$ calcurse --export &gt; my_data.dat</pre></dd></dl></div><div class="note" style="margin-left: 0; margin-right: 10%;"><h3 class="title">Note</h3><p>The <code class="literal">-N</code> option has been removed in calcurse 3.0.0. See the
+<a class="link" href="#basics_format_strings" title="Format strings">Format strings</a> section on how to print note along
+with appointments and events.</p></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="basics_format_strings"></a>Format strings</h4></div></div></div><p>Format strings are composed of printf()-style format specifiers — ordinary
+characters are copied to stdout without modification. Each specifier is
+introduced by a <code class="literal">%</code> and is followed by a character which specifies the field to
+print. The set of available fields depends on the item type.</p><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="_format_specifiers_for_appointments"></a>Format specifiers for appointments</h5></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+<code class="literal">s</code>
+</span></dt><dd>
+ Print the start time of the appointment as UNIX time stamp
+</dd><dt><span class="term">
+<code class="literal">S</code>
+</span></dt><dd>
+ Print the start time of the appointment using the <code class="literal">hh:mm</code> format
+</dd><dt><span class="term">
+<code class="literal">d</code>
+</span></dt><dd>
+ Print the duration of the appointment in seconds
+</dd><dt><span class="term">
+<code class="literal">e</code>
+</span></dt><dd>
+ Print the end time of the appointment as UNIX time stamp
+</dd><dt><span class="term">
+<code class="literal">E</code>
+</span></dt><dd>
+ Print the end time of the appointment using the <code class="literal">hh:mm</code> format
+</dd><dt><span class="term">
+<code class="literal">m</code>
+</span></dt><dd>
+ Print the description of the item
+</dd><dt><span class="term">
+<code class="literal">n</code>
+</span></dt><dd>
+ Print the name of the note file belonging to the item
+</dd><dt><span class="term">
+<code class="literal">N</code>
+</span></dt><dd>
+ Print the note belonging to the item
+</dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="_format_specifiers_for_events"></a>Format specifiers for events</h5></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+<code class="literal">m</code>
+</span></dt><dd>
+ Print the description of the item
+</dd><dt><span class="term">
+<code class="literal">n</code>
+</span></dt><dd>
+ Print the name of the note file belonging to the item
+</dd><dt><span class="term">
+<code class="literal">N</code>
+</span></dt><dd>
+ Print the note belonging to the item
+</dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="_format_specifiers_for_todo_items"></a>Format specifiers for todo items</h5></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+<code class="literal">p</code>
+</span></dt><dd>
+ Print the priority of the item
+</dd><dt><span class="term">
+<code class="literal">m</code>
+</span></dt><dd>
+ Print the description of the item
+</dd><dt><span class="term">
+<code class="literal">n</code>
+</span></dt><dd>
+ Print the name of the note file belonging to the item
+</dd><dt><span class="term">
+<code class="literal">N</code>
+</span></dt><dd>
+ Print the note belonging to the item
+</dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="_examples"></a>Examples</h5></div></div></div><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+<code class="literal">calcurse -r7 --format-apt='- %S -&gt; %E\n\t%m\n%N'</code>
+</span></dt><dd>
+ Print appointments and events for the next seven days. Also, print the notes
+ attached to each regular appointment (simulates <code class="literal">-N</code> for appointments).
+</dd><dt><span class="term">
+<code class="literal">calcurse -r7 --format-apt=' - %m (%S to %E)\n' --format-recur-apt=' - %m (%S to %E)\n'</code>
+</span></dt><dd>
+ Print appointments and events for the next seven days and use a custom format
+ for (recurrent) appointments: ` - Some appointment (18:30 to 21:30)`.
+</dd><dt><span class="term">
+<code class="literal">calcurse -t --format-todo '(%p) %m\n'</code>
+</span></dt><dd>
+ List all todo items and put parentheses around the priority specifiers.
+</dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h5 class="title"><a id="_extended_format_specifiers"></a>Extended format specifiers</h5></div></div></div><p>Extended format specifiers can be used if you want to specify advanced
+formatting options. Extended specifiers are introduced by <code class="literal">%(</code> and are
+terminated by a closing parenthesis (<code class="literal">)</code>). The following list includes all
+short specifiers and corresponding long options:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+<code class="literal">s</code>: <code class="literal">(start)</code>
+</li><li class="listitem">
+<code class="literal">S</code>: <code class="literal">(start:epoch)</code>
+</li><li class="listitem">
+<code class="literal">d</code>: <code class="literal">(duration)</code>
+</li><li class="listitem">
+<code class="literal">e</code>: <code class="literal">(end)</code>
+</li><li class="listitem">
+<code class="literal">E</code>: <code class="literal">(end:epoch)</code>
+</li><li class="listitem">
+<code class="literal">m</code>: <code class="literal">(message)</code>
+</li><li class="listitem">
+<code class="literal">n</code>: <code class="literal">(noteid)</code>
+</li><li class="listitem">
+<code class="literal">N</code>: <code class="literal">(note)</code>
+</li><li class="listitem">
+<code class="literal">p</code>: <code class="literal">(priority)</code>
+</li></ul></div><p>The <code class="literal">(start)</code> and <code class="literal">(end)</code> specifiers support strftime()-style extended
+formatting options that can be used for fine-grained formatting. Additionally,
+the special formats <code class="literal">epoch</code> (which is equivalent to <code class="literal">(start:%s)</code> or <code class="literal">(end:%s)</code>)
+and <code class="literal">default</code> (which is mostly equivalent to <code class="literal">(start:%H:%M)</code> or <code class="literal">(end:%H:%M)</code>
+but displays <code class="literal">..:..</code> if the item doesn’t start/end at the current day) are
+supported.</p></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="basics_invocation_variable"></a>Environment variable for i18n</h4></div></div></div><p><code class="literal">calcurse</code> can be compiled with native language support (see
+<a class="link" href="#install_requirements_gettext" title="gettext library">gettext library</a>). Thus, if you wish to have
+messages displayed into your native language, first make sure it is available
+by looking at the <code class="literal">po/LINGUAS</code> file. This file indicates the set of available
+languages by showing the two-letters corresponding code (for exemple, <span class="strong"><strong>fr</strong></span>
+stands for french). If you do not find your language, it would be greatly
+appreciated if you could help translating <code class="literal">calcurse</code> (see the <a class="link" href="#contribute" title="8. How to contribute?">How to contribute?</a> section).</p><p>If your language is available, run <code class="literal">calcurse</code> with the following command:</p><pre class="screen">$ LC_ALL=fr_FR calcurse</pre><div class="orderedlist"><ol class="orderedlist" type="i"><li class="listitem">
+where <span class="strong"><strong>fr_FR</strong></span> is the locale name in this exemple, but should be replaced by
+the locale corresponding to the desired language.
+</li></ol></div><p>You should also specify the charset to be used, because in some cases the
+accents and such are not displayed correctly. This charset is indicated at the
+beginning of the po file corresponding to the desired language. For instance,
+you can see in the fr.po file that it uses the iso-8859-1 charset, so you could
+run <code class="literal">calcurse</code> using the following command:</p><pre class="screen">$ LC_ALL=fr_FR.ISO8859-1 calcurse</pre></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_other_environment_variables"></a>Other environment variables</h4></div></div></div><p>The following environment variables affect the way <code class="literal">calcurse</code> operates:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+<code class="literal">VISUAL</code>
+</span></dt><dd>
+ Specifies the external editor to use for writing notes.
+</dd><dt><span class="term">
+<code class="literal">EDITOR</code>
+</span></dt><dd>
+ If the <code class="literal">VISUAL</code> environment variable is not set, then <code class="literal">EDITOR</code> will be used
+ as the default external editor. If none of those variables are set, then
+ <code class="literal">/usr/bin/vi</code> is used instead.
+</dd><dt><span class="term">
+<code class="literal">PAGER</code>
+</span></dt><dd>
+ Specifies the default viewer to be used for reading notes. If this variable
+ is not set, then <code class="literal">/usr/bin/less</code> is used.
+</dd></dl></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_user_interface"></a>4.2. User interface</h3></div></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_non_interactive_mode"></a>Non-interactive mode</h4></div></div></div><p>When called with at least one of the following arguments: <code class="literal">-a</code>, <code class="literal">-d</code>, <code class="literal">-h</code>,
+<code class="literal">-n</code>, <code class="literal">-t</code>, <code class="literal">-v</code>, <code class="literal">-x</code>, <code class="literal">calcurse</code> is started in non-interactive mode. This
+means the desired information will be displayed, and after that, <code class="literal">calcurse</code>
+simply quits and you are driven back to the shell prompt.</p><p>That way, one can add a line such as <code class="literal">calcurse --todo --appointment</code> in its
+init config file to display at logon the list of tasks and appointments
+scheduled for the current day.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="basics_interface_interactive"></a>Interactive mode</h4></div></div></div><div class="note" style="margin-left: 0; margin-right: 10%;"><h3 class="title">Note</h3><p>Key bindings that are indicated in this manual correspond to the default
+ ones, defined when <code class="literal">calcurse</code> is launched for the first time. If those
+ key bindings do not suit user’s needs, it is possible to change them
+ within the keys configuration menu (see <a class="link" href="#options_keys" title="5.2. Key bindings">key bindings</a>).</p></div><p>When called without any argument or only with the <code class="literal">-c</code> option, <code class="literal">calcurse</code> is
+started in interactive mode. In this mode, you are shown an interface
+containing three different panels which you can browse using the <code class="literal">TAB</code> key,
+plus a notification bar and a status bar (see figure below).</p><pre class="screen"> appointment panel---. .---calendar panel
+ | |
+ v v
+ +------------------------------------++----------------------------+
+ | Appointments || Calendar |
+ |------------------------------------||----------------------------|
+ | (|) April 6, 2006 || April 2006 |
+ | ||Mon Tue Wed Thu Fri Sat Sun |
+ | || 1 2 |
+ | || 3 4 5 6 7 8 9 |
+ | || 10 11 12 13 14 15 16 |
+ | || 17 18 19 20 21 22 23 |
+ | || 24 25 26 27 28 29 30 |
+ | || |
+ | |+----------------------------+
+ | |+----------------------------+
+ | || ToDo | todo
+ | ||----------------------------| panel
+ | || | |
+ | || | |
+ | || |&lt;--.
+ | || |
+ +------------------------------------++----------------------------+
+ |---[ Mon 2006-11-22 | 10:11:43 ]---(apts)----&gt; 01:20 :: lunch &lt;---|&lt;--.
+ +------------------------------------------------------------------+ notify-bar
+ | ? Help R Redraw H/L -/+1 Day G GoTo C Config |
+ | Q Quit S Save J/K -/+1 Week Tab Chg View |&lt;-.
+ +------------------------------------------------------------------+ |
+ |
+ status bar</pre><p>The first panel represents a calendar which allows to highlight a particular
+day, the second one contains the list of the events and appointments on that
+day, and the last one contains a list of tasks to do but which are not assigned
+to any specific day.</p><p>Depending on the selected view, the calendar could either display a monthly
+(default as shown in previous figure) or weekly view. The weekly view would
+look like the following:</p><pre class="screen">+------------------------------------+
+| Calendar |
+|----------------------------(# 13)--|
+| Mon Tue Wed Thu Fri Sat Sun |
+| 29 30 31 01 02 03 04 |
+| &lt;----+-- slice 1: 00:00 to 04:00 AM
+| -- -- -- -- -- -- |
+| &lt;----+-- slice 2: 04:00 to 08:00 AM
+| -- -- -- -- -- -- |
+| &lt;----+-- slice 3: 08:00 to 12:00 AM
+| - -- -- -- -- -- -- - &lt;-+-- midday
+| &lt;----+-- slice 4: 12:00 to 04:00 PM
+| -- -- -- -- -- -- |
+| &lt;----+-- slice 5: 04:00 to 08:00 PM
+| -- -- -- -- -- -- |
+| &lt;----+-- slice 6: 08:00 to 12:00 PM
++------------------------------------+</pre><p>The current week number is displayed on the top-right side of the panel (<span class="strong"><strong># 13</strong></span>
+meaning it is the 13th week of the year in the above example). The seven days
+of the current week are displayed in column. Each day is divided into slices of
+4 hours each (6 slices in total, see figure above). A slice will appear in a
+different color if an appointment falls into the corresponding time-slot.</p><p>In the appointment panel, one can notice the <span class="strong"><strong><code class="literal">(|)</code></strong></span> sign just in front of the
+date. This indicates the current phase of the moon. Depending on which is the
+current phase, the following signs can be seen:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+` |) `
+</span></dt><dd>
+ first quarter
+</dd><dt><span class="term">
+` (|) `
+</span></dt><dd>
+ full moon
+</dd><dt><span class="term">
+` (| `
+</span></dt><dd>
+ last quarter
+</dd><dt><span class="term">
+` | `
+</span></dt><dd>
+ new moon
+</dd><dt><span class="term">
+no sign
+</span></dt><dd>
+ Phase of the moon does not correspond to any of the above ones.
+</dd></dl></div><p>At the very bottom of the screen there is a status bar, which indicates the
+possible actions and the corresponding keystrokes.</p><p>Just above this status bar is the notify-bar, which indicates from left to
+right : the current date, the current time, the calendar file currently in use
+(apts on the above example, which is the default calendar file, see the
+following section), and the next appointment within the upcoming 24 hours. Here
+it says that it will be lunch time in one hour and twenty minutes.</p><div class="note" style="margin-left: 0; margin-right: 10%;"><h3 class="title">Note</h3><p>Some actions, such as editing or adding an item, require to type in some
+ text. This is done with the help of the built-in input line editor.</p></div><p>Within this editor, if a line is longer than the screen width, a <code class="literal">&gt;</code>, <code class="literal">*</code>, or
+<code class="literal">&lt;</code> character is displayed in the last column indicating that there are more
+character after, before and after, or before the current position,
+respectively. The line is scrolled horizontally as necessary.</p><p>Moreover, some editing commands are bound to particular control characters.
+Hereafter are indicated the available editing commands (<code class="literal">^</code> stands for the
+control key):</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+<code class="literal">^a</code>
+</span></dt><dd>
+ moves the cursor to the beginning of the input line
+</dd><dt><span class="term">
+<code class="literal">^b</code>
+</span></dt><dd>
+ moves the cursor backward
+</dd><dt><span class="term">
+<code class="literal">^d</code>
+</span></dt><dd>
+ deletes one character forward
+</dd><dt><span class="term">
+<code class="literal">^e</code>
+</span></dt><dd>
+ moves the cursor to the end of the input line
+</dd><dt><span class="term">
+<code class="literal">^f</code>
+</span></dt><dd>
+ moves the cursor forward
+</dd><dt><span class="term">
+<code class="literal">^h</code>
+</span></dt><dd>
+ deletes one character backward
+</dd><dt><span class="term">
+<code class="literal">^k</code>
+</span></dt><dd>
+ deletes the input from the cursor to the end of the line
+</dd><dt><span class="term">
+<code class="literal">^w</code>
+</span></dt><dd>
+ deletes backward to the beginning of the current word
+</dd><dt><span class="term">
+<code class="literal">ESCAPE</code>
+</span></dt><dd>
+ cancels the editing
+</dd></dl></div></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="basics_daemon"></a>4.3. Background mode</h3></div></div></div><p>When the daemon mode is enabled in the notification configuration menu (see
+<a class="link" href="#options_notify" title="5.6. Notify-bar settings">Notify-bar settings</a>), <code class="literal">calcurse</code> will stay in background
+when the user interface is not running. In background mode, <code class="literal">calcurse</code> checks
+for upcoming appointments and runs the user-defined notification command when
+ necessary. When the user interface is started again, the daemon automatically
+ stops.</p><p>‘calcurse` background activity can be logged (set the <code class="literal">daemon.log</code> variable in
+the notification configuration <a class="link" href="#options_notify" title="5.6. Notify-bar settings">menu</a>), and in that case,
+information about the daemon start and stop time, reminders’ command launch
+time, signals received… will be written in the <code class="literal">daemon.log</code> file (see section
+<a class="link" href="#basics_files" title="4.4. calcurse files">files</a>).</p><p>Using the <code class="literal">--status</code> command line option (see section
+<a class="link" href="#basics_invocation_commandline" title="Command line arguments">Command line arguments</a>), one can know if
+<code class="literal">calcurse</code> is currently running in background or not. If the daemon is
+running, a message like the following one will be displayed (the pid of the
+daemon process will be shown):</p><pre class="screen">calcurse is running in background (pid 14536)</pre><div class="note" style="margin-left: 0; margin-right: 10%;"><h3 class="title">Note</h3><p>To stop the daemon, just send the <code class="literal">TERM</code> signal to it, using a command
+ such as: <code class="literal">kill daemon_pid</code>, where <span class="strong"><strong>daemon_pid</strong></span> is the process id of the
+ daemon (14536 in the above example).</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="basics_files"></a>4.4. calcurse files</h3></div></div></div><p>The following structure is created in your <code class="literal">$HOME</code> directory (or in the
+directory you specified with the -D option) the first time <code class="literal">calcurse</code> is run
+:</p><pre class="screen">$HOME/.calcurse/
+ |___notes/
+ |___conf
+ |___keys
+ |___apts
+ |___todo</pre><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+<code class="literal">notes/</code>
+</span></dt><dd>
+ this subdirectory contains descriptions of the notes which are attached to
+ appointments, events or todos. Since the file name of each note file is a
+ SHA1 hash of the note itself, multiple items can share the same note file.
+ calcurse provides a garbage collector (see the <code class="literal">-g</code> command line parameter)
+ that can be used to remove note files which are no longer linked to any item.
+</dd><dt><span class="term">
+<code class="literal">conf</code>
+</span></dt><dd>
+ this file contains the user configuration
+</dd><dt><span class="term">
+<code class="literal">keys</code>
+</span></dt><dd>
+ this file contains the user-defined key bindings
+</dd><dt><span class="term">
+<code class="literal">apts</code>
+</span></dt><dd>
+ this file contains all of the events and user’s appointments
+</dd><dt><span class="term">
+<code class="literal">todo</code>
+</span></dt><dd>
+ this file contains the todo list
+</dd></dl></div><div class="note" style="margin-left: 0; margin-right: 10%;"><h3 class="title">Note</h3><p>If the logging of calcurse daemon activity was set in the notification
+ configuration menu, the extra file <code class="literal">daemon.log</code> will appear in calcurse
+ data directory. This file contains logs about calcurse activity when
+ running in background.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_import_export_capabilities"></a>4.5. Import/Export capabilities</h3></div></div></div><p>The import and export capabilities offered by <code class="literal">calcurse</code> are described below.</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_import"></a>Import</h4></div></div></div><p>Data in icalendar format as described in the rfc2445 specification (see
+<a class="link" href="#links_others" title="9.3. Other links">links</a> section below) can be imported into calcurse. Calcurse
+ical parser is based on version 2.0 of this specification, but for now on, only
+a subset of it is supported.</p><p>The following icalendar properties are handled by calcurse:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+<code class="literal">VTODO</code> items: "PRIORITY", "VALARM", "SUMMARY", "DESCRIPTION"
+</li><li class="listitem">
+<code class="literal">VEVENT</code> items: "DTSTART", "DTEND", "DURATION", "RRULE", "EXDATE", "VALARM",
+ "SUMMARY", "DESCRIPTION"
+</li></ul></div><p>The icalendar <code class="literal">DESCRIPTION</code> property will be converted into calcurse format by
+adding a note to the item. If a "VALARM" property is found, the item will be
+flagged as important and the user will get a notification (this is only
+applicable to appointments).</p><p>Here are the properties that are not implemented:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+negative time durations are not taken into account (item is skipped)
+</li><li class="listitem">
+some recurence frequences are not recognize: "SECONDLY" / "MINUTELY" /
+ "HOURLY"
+</li><li class="listitem">
+some recurrence keywords are not recognized (all those starting with <code class="literal">BY</code>):
+ "BYSECOND" / "BYMINUTE" / "BYHOUR" / "BYDAY" / "BYMONTHDAY" / "BYYEARDAY" /
+ "BYWEEKNO" / "BYMONTH" / "BYSETPOS" plus "WKST"
+</li><li class="listitem">
+the recurrence exception keyword "EXRULE" is not recognized
+</li><li class="listitem">
+timezones are not taken into account
+</li></ul></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_export"></a>Export</h4></div></div></div><p>Two possible export formats are available: <code class="literal">ical</code> and <code class="literal">pcal</code> (see section
+<a class="link" href="#links_others" title="9.3. Other links">Links</a> below to find out about those formats).</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_online_help"></a>4.6. Online help</h3></div></div></div><p>At any time, the built-in help system can be invoked by pressing the <code class="literal">?</code>
+key. Once viewing the help screens, informations on a specific command can be
+accessed by pressing the keystroke corresponding to that command.</p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_options"></a>5. Options</h2></div></div></div><p>All of the <code class="literal">calcurse</code> parameters are configurable from the Configuration menu
+available when pressing <code class="literal">C</code>. You are then driven to a submenu with five
+possible choices : pressing <code class="literal">C</code> again will lead you to the Color scheme
+configuration, pressing <code class="literal">L</code> allows you to choose the layout of the main
+<code class="literal">calcurse</code> screen (in other words, where to put the three different panels on
+screen), pressing <code class="literal">G</code> permits you to choose between different general options,
+pressing <code class="literal">K</code> opens the key bindings configuration menu, and last you can modify
+the notify-bar settings by pressing <code class="literal">N</code>.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="options_general"></a>5.1. General options</h3></div></div></div><p>These options control <code class="literal">calcurse</code> general behavior, as described below:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+<code class="literal">general.autosave</code> (default: <span class="strong"><strong>yes</strong></span>)
+</span></dt><dd>
+ This option allows to automatically save the user’s data (if set to <span class="strong"><strong>yes</strong></span>)
+ when quitting. &lt;p class="rq"&gt;&lt;span class="valorise"&gt;warning:&lt;/span&gt; No data
+ will be automatically saved if <code class="literal">general.autosave</code> is set to <span class="strong"><strong>no</strong></span>. This means
+ the user must press <code class="literal">S</code> (for saving) in order to retrieve its modifications.
+</dd><dt><span class="term">
+<code class="literal">general.autogc</code> (default: <span class="strong"><strong>no</strong></span>)
+</span></dt><dd>
+ Automatically run the garbage collector for note files when quitting.
+</dd><dt><span class="term">
+<code class="literal">general.periodicsave</code> (default: <span class="strong"><strong>0</strong></span>)
+</span></dt><dd>
+ If different from <code class="literal">0</code>, user’s data will be automatically saved every
+ <span class="strong"><strong>general.periodicsave</strong></span> minutes. When an automatic save is performed, two
+ asterisks (i.e. <code class="literal">**</code>) will appear on the top right-hand side of the screen).
+</dd><dt><span class="term">
+<code class="literal">general.confirmquit</code> (default: <span class="strong"><strong>yes</strong></span>)
+</span></dt><dd>
+ If set to <span class="strong"><strong>yes</strong></span>, confirmation is required before quitting, otherwise pressing
+ <code class="literal">Q</code> will cause <code class="literal">calcurse</code> to quit without prompting for user confirmation.
+</dd><dt><span class="term">
+<code class="literal">general.confirmdelete</code> (default: <span class="strong"><strong>yes</strong></span>)
+</span></dt><dd>
+ If this option is set to <span class="strong"><strong>yes</strong></span>, pressing <code class="literal">D</code> for deleting an item (either a
+ <span class="strong"><strong>todo</strong></span>, <span class="strong"><strong>appointment</strong></span>, or <span class="strong"><strong>event</strong></span>), will lead to a prompt asking for user
+ confirmation before removing the selected item from the list. Otherwise, no
+ confirmation will be needed before deleting the item.
+</dd><dt><span class="term">
+<code class="literal">general.systemdialogs</code> (default: <span class="strong"><strong>yes</strong></span>)
+</span></dt><dd>
+ Setting this option to <span class="strong"><strong>no</strong></span> will result in skipping the system dialogs
+ related to the saving and loading of data. This can be useful to speed up
+ the input/output processes.
+</dd><dt><span class="term">
+<code class="literal">general.progressbar</code> (default: <span class="strong"><strong>yes</strong></span>)
+</span></dt><dd>
+ If set to <span class="strong"><strong>no</strong></span>, this will cause the disappearing of the progress bar which is
+ usually shown when saving data to file. If set to <span class="strong"><strong>yes</strong></span>, this bar will be
+ displayed, together with the name of the file being saved (see section
+ <a class="link" href="#basics_files" title="4.4. calcurse files">calcurse files</a>).
+</dd><dt><span class="term">
+<code class="literal">appearance.calendarview</code> (default: <span class="strong"><strong>0</strong></span>)
+</span></dt><dd>
+ If set to <code class="literal">0</code>, the monthly calendar view will be displayed by default
+ otherwise it is the weekly view that will be displayed.
+</dd><dt><span class="term">
+<code class="literal">general.firstdayofweek</code> (default: <span class="strong"><strong>monday</strong></span>)
+</span></dt><dd>
+ One can choose between Monday and Sunday as the first day of the week. If
+ <code class="literal">general.firstdayofweek</code> is set to <span class="strong"><strong>monday</strong></span>, Monday will be first in the
+ calendar view. Otherwise, Sunday will be the first day of the week.
+</dd><dt><span class="term">
+<code class="literal">format.outputdate</code> (default: <span class="strong"><strong>%D</strong></span>)
+</span></dt><dd>
+ This option indicates the format to be used when displaying dates in
+ non-interactive mode. Using the default values, dates are displayed the
+ following way: <span class="strong"><strong>mm/dd/aa</strong></span>. You can see all of the possible formats by typing
+ <code class="literal">man 3 strftime</code> inside a terminal.
+</dd><dt><span class="term">
+<code class="literal">format.inputdate</code> (default: <span class="strong"><strong>1</strong></span>)
+</span></dt><dd><p class="simpara">
+ This option indicates the format that will be used to enter dates in
+ <span class="strong"><strong>calcurse</strong></span>. Four choices are available:
+</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
+mm/dd/yyyy
+</li><li class="listitem">
+dd/mm/yyyy
+</li><li class="listitem">
+yyyy/mm/dd
+</li><li class="listitem">
+yyyy-mm-dd
+</li></ol></div></dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="options_keys"></a>5.2. Key bindings</h3></div></div></div><p>One can define ones own key bindings within the <code class="literal">Keys</code> configuration menu. The
+default keys look like the one used by the <code class="literal">vim</code> editor, especially the
+displacement keys. Anyway, within this configuration menu, users can redefine
+all of the keys available from within calcurse’s user interface.</p><p>To define new key bindings, first highlight the action to which it will apply.
+Then, delete the actual key binding if necessary, and add a new one. You will
+then be asked to press the key corresponding to the new binding. It is possible
+to define more than one key binding for a single action.</p><p>An automatic check is performed to see if the new key binding is not already
+set for another action. In that case, you will be asked to choose a different
+one. Another check is done when exiting from this menu, to make sure all
+possible actions have a key associated with it.</p><p>The following keys can be used to define bindings:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+lower-case, upper-case letters and numbers, such as <code class="literal">a</code>, <code class="literal">Z</code>, <code class="literal">0</code>
+</li><li class="listitem">
+CONTROL-key followed by one of the above letters
+</li><li class="listitem">
+escape, horizontal tab, and space keys
+</li><li class="listitem">
+arrow keys (up, down, left, and right)
+</li><li class="listitem">
+<code class="literal">HOME</code> and <code class="literal">END</code> keys
+</li></ul></div><p>While inside the key configuration menu, an online help is available for each
+one of the available actions. This help briefly describes what the highlighted
+action is used for.</p><div class="note" style="margin-left: 0; margin-right: 10%;"><h3 class="title">Note</h3><p>As of calcurse 3.0.0, displacement commands can be preceded by an
+ optional number to repeat the command. For example, <code class="literal">10k</code> will move the
+ cursor ten weeks forwards if you use default key bindings.</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_color_themes"></a>5.3. Color themes</h3></div></div></div><p><code class="literal">calcurse</code> color theme can be customized to suit user’s needs. To change the
+default theme, the configuration page displays possible choices for foreground
+and background colors. Using arrows or calcurse displacement keys to move, and
+<code class="literal">X</code> or space to select a color, user can preview the theme which will be
+applied. It is possible to keep the terminal’s default colors by selecting the
+corresponding choice in the list.</p><p>The chosen color theme will then be applied to the panel borders, to the
+titles, to the keystrokes, and to general informations displayed inside status
+bar. A black and white theme is also available, in order to support non-color
+terminals.</p><div class="note" style="margin-left: 0; margin-right: 10%;"><h3 class="title">Note</h3><p>Depending on your terminal type and on the value of the <code class="literal">$TERM</code>
+ environment variable, color could or could not be supported. An error
+ message will appear if you try to change colors whereas your terminal
+ does not support this feature. If you do know your terminal supports
+ colors but could not get <code class="literal">calcurse</code> to display them, try to set your
+ <code class="literal">$TERM</code> variable to another value (such as <span class="strong"><strong>xterm-xfree86</strong></span> for instance).</p></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_layout_configuration"></a>5.4. Layout configuration</h3></div></div></div><p>The layout corresponds to the position of the panels inside <code class="literal">calcurse</code> screen.
+The default layout makes the calendar panel to be displayed on the top-right
+corner of the terminal, the todo panel on the bottom-right corner, while the
+appointment panel is displayed on the left hand-side of the screen (see the
+figure in section <a class="link" href="#basics_interface_interactive" title="Interactive mode">Interactive mode</a> for an
+example of the default layout). By choosing another layout in the
+configuration screen, user can customize <code class="literal">calcurse</code> appearance to best suit his
+needs by placing the different panels where needed.</p><p>The following option is used to modify the layout configuration:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+<code class="literal">appearance.layout</code> (default: <span class="strong"><strong>0</strong></span>)
+</span></dt><dd>
+ Eight different layouts are to be chosen from (see layout configuration
+ screen for the description of the available layouts).
+</dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_sidebar_configuration"></a>5.5. Sidebar configuration</h3></div></div></div><p>The sidebar is the part of the screen which contains two panels: the calendar
+and, depending on the chosen layout, either the todo list or the appointment
+list.</p><p>The following option is used to change the width of the sidebar:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+<code class="literal">appearance.sidebarwidth</code> (default: <span class="strong"><strong>0</strong></span>)
+</span></dt><dd>
+ Width (in percentage, 0 being the minimum width) of the side bar.
+</dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="options_notify"></a>5.6. Notify-bar settings</h3></div></div></div><p>The following options are used to modify the notify-bar behavior:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+<code class="literal">appearance.notifybar</code> (default: <span class="strong"><strong>yes</strong></span>)
+</span></dt><dd>
+ This option indicates if you want the notify-bar to be displayed or not.
+</dd><dt><span class="term">
+<code class="literal">format.notifydate</code> (default: <span class="strong"><strong>%a %F</strong></span>)
+</span></dt><dd>
+ With this option, you can specify the format to be used to display the
+ current date inside the notification bar. You can see all of the possible
+ formats by typing <code class="literal">man 3 strftime</code> inside a terminal.
+</dd><dt><span class="term">
+<code class="literal">format.notifytime</code> (default: <span class="strong"><strong>%T</strong></span>)
+</span></dt><dd>
+ With this option, you can specify the format to be used to display the
+ current time inside the notification bar. You can see all of the possible
+ formats by typing <code class="literal">man 3 strftime</code> inside a terminal.
+</dd><dt><span class="term">
+<code class="literal">notification.warning</code> (default: <span class="strong"><strong>300</strong></span>)
+</span></dt><dd>
+ When there is an appointment which is flagged as <code class="literal">important</code> within the next
+ <code class="literal">notification.warning</code> seconds, the display of that appointment inside the
+ notify-bar starts to blink. Moreover, the command defined by the
+ <code class="literal">notification.command</code> option will be launched. That way, the user is warned
+ and knows there will be soon an upcoming appointment.
+</dd><dt><span class="term">
+<code class="literal">notification.command</code> (default: <span class="strong"><strong>printf <span class="emphasis"><em>\a</em></span></strong></span>)
+</span></dt><dd><p class="simpara">
+ This option indicates which command is to be launched when there is an
+ upcoming appointment flagged as <code class="literal">important</code>. This command will be passed to
+ the user’s shell which will interpret it. To know what shell must be used,
+ the content of the <code class="literal">$SHELL</code> environment variable is used. If this variable is
+ not set, <code class="literal">/bin/sh</code> is used instead.
+</p><div class="informalexample"><p>Say the <code class="literal">mail</code> command is available on the user’s system, one can use the
+following command to get notified by mail of an upcoming appointment (the
+appointment description will also be mentioned in the mail body):</p><pre class="screen">$ calcurse --next | mail -s "[calcurse] upcoming appointment!" user@host.com</pre></div></dd><dt><span class="term">
+<code class="literal">notification.notifyall</code> (default: <span class="strong"><strong>no</strong></span>)
+</span></dt><dd>
+ Invert the sense of flagging an appointment as <code class="literal">important</code>. If this is
+ enabled, all appointments will be notified - except for flagged ones.
+</dd><dt><span class="term">
+<code class="literal">daemon.enable</code> (default: <span class="strong"><strong>no</strong></span>)
+</span></dt><dd>
+ If set to yes, daemon mode will be enabled, meaning <code class="literal">calcurse</code> will run into
+ background when the user’s interface is exited. This will allow the
+ notifications to be launched even when the interface is not running. More
+ details can be found in section <a class="link" href="#basics_daemon" title="4.3. Background mode">Background mode</a>.
+</dd><dt><span class="term">
+<code class="literal">daemon.log</code> (default: <span class="strong"><strong>no</strong></span>)
+</span></dt><dd>
+ If set to yes, <code class="literal">calcurse</code> daemon activity will be logged (see section
+ <a class="link" href="#basics_files" title="4.4. calcurse files">files</a>).
+</dd></dl></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_known_bugs"></a>6. Known bugs</h2></div></div></div><p>Incorrect highlighting of items appear when using calcurse black and white
+theme together with a <code class="literal">$TERM</code> variable set to <span class="strong"><strong>xterm-color</strong></span>. To fix this bug,
+and as advised by Thomas E. Dickey (<code class="literal">xterm</code> maintainer), <span class="strong"><strong>xterm-xfree86</strong></span> should
+be used instead of <span class="strong"><strong>xterm-color</strong></span> to set the <code class="literal">$TERM</code> variable:</p><div class="blockquote"><blockquote class="blockquote"><p>"The xterm-color value for $TERM is a bad choice for XFree86 xterm because it
+is commonly used for a <code class="literal">terminfo</code> entry which happens to not support bce. Use
+the xterm-xfree86 entry which is distributed with XFree86 xterm (or the similar
+one distributed with ncurses)."</p></blockquote></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="bugs"></a>7. Reporting bugs and feedback</h2></div></div></div><p>Please send bug reports and feedback to: <code class="literal">misc .at. calcurse .dot. org</code>.</p></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="contribute"></a>8. How to contribute?</h2></div></div></div><p>If you would like to contribute to the project, you can first send your
+feedback on what you like or dislike, and if there are features you miss in
+<code class="literal">calcurse</code>. For now on, possible contributions concern the translation of
+<code class="literal">calcurse</code> messages and documentation.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_translating_documentation"></a>8.1. Translating documentation</h3></div></div></div><div class="note" style="margin-left: 0; margin-right: 10%;"><h3 class="title">Note</h3><p>We recently dropped all translations of the manual files from the
+ distribution tarball. There are plan to reintroduce them in form of a
+ Wiki on the calcurse website. Please follow the mailing lists for
+ up-to-date information.</p></div><p>The <span class="strong"><strong>doc/</strong></span> directory of the source package already contains translated version
+of <code class="literal">calcurse</code> manual. However, if the manual is not yet available into your
+native language, it would be appreciated if you could help translating it.</p><p>To do so, just copy one of the existing manual file to <code class="literal">manual_XX.html</code>, where
+<span class="strong"><strong>XX</strong></span> identifies your language. Then translate this newly created file and send
+it to the author (see <a class="link" href="#bugs" title="7. Reporting bugs and feedback">Reporting bugs and feeback</a>), so that it can be
+included in the next <code class="literal">calcurse</code> release.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_calcurse_i18n"></a>8.2. calcurse i18n</h3></div></div></div><p>As already mentioned, <code class="literal">gettext</code> utilities are used by <code class="literal">calcurse</code> to produce
+multi-lingual messages. We are currently using
+<a class="ulink" href="http://www.transifex.net/" target="_top">Transifex</a> to manage those translations.</p><p>This section provides informations about how to translate those messages into
+your native language. However, this howto is deliberately incomplete, focusing
+on working with <code class="literal">gettext</code> for <code class="literal">calcurse</code> specifically. For more comprehensive
+informations or to grasp the Big Picture of Native Language Support, you should
+refer to the <code class="literal">GNU gettext</code> manual at:
+<a class="ulink" href="http://www.gnu.org/software/gettext/manual/" target="_top">http://www.gnu.org/software/gettext/manual/</a></p><div class="important" style="margin-left: 0; margin-right: 10%;"><h3 class="title">Important</h3><p>Since we switched to Transifex, editing <span class="strong"><strong>po</strong></span> files is not necessary
+ anymore as Transifex provides a user-friendly, intuitive web
+ interface for translators. Knowledge of <code class="literal">gettext</code> and the <span class="strong"><strong>po</strong></span>
+ format is still useful for those of you who prefer the command line
+ and local editing. If you want to use the web UI to edit the
+ translation strings, you can skip over to <a class="link" href="#transifex_webui" title="Using the Transifex web UI">Using the Transifex web UI</a> tough.</p></div><p>Basically, three different people get involved in the translation chain:
+coders, language coordinator, and translators. After a quick overview of how
+things work, the translator tasks will be described hereafter.</p><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_overview_2"></a>Overview</h4></div></div></div><p>To be able to display texts in the native language of the user, two steps are
+required: <span class="strong"><strong>internationalization</strong></span> (i18n) and <span class="strong"><strong>localization</strong></span> (l10n).</p><p>i18n is about making <code class="literal">calcurse</code> support multiple languages. It is performed by
+coders, who will mark translatable texts and provide a way to display them
+translated at runtime.</p><p>l10n is about making the i18n’ed <code class="literal">calcurse</code> adapt to the specific language of
+the user, ie translating the strings previously marked by the developers, and
+setting the environment correctly for <code class="literal">calcurse</code> to use the result of this
+translation.</p><p>So, translatable strings are first marked by the coders within the <code class="literal">C</code> source
+files, then gathered in a template file (<span class="strong"><strong>calcurse.pot</strong></span> - the <span class="strong"><strong>pot</strong></span> extension
+meaning <span class="strong"><strong>portable object template</strong></span>). The content of this template file is then
+merged with the translation files for each language (<span class="strong"><strong>fr.po</strong></span> for French, for
+instance - with <span class="strong"><strong>po</strong></span> standing for <span class="strong"><strong>portable object</strong></span>, ie meant to be read and
+edited by humans). A given translation team will take this file, translate its
+strings, and send it back to the developers. At compilation time, a binary
+version of this file (for efficiency reasons) will be produced (<span class="strong"><strong>fr.mo</strong></span> - <span class="strong"><strong>mo</strong></span>
+stands for <span class="strong"><strong>machine object</strong></span>, i.e. meant to be read by programs), and then
+installed. Then <code class="literal">calcurse</code> will use this file at runtime, translating the
+strings according to the locale settings of the user.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_translator_tasks"></a>Translator tasks</h4></div></div></div><p>Suppose someone wants to initiate the translation of a new language. Here are
+the steps to follow:</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+First, find out what the locale name is. For instance, for french, it is
+ <code class="literal">fr_FR</code>, or simply <code class="literal">fr</code>. This is the value the user will have to put in his
+ <code class="literal">LC_ALL</code> environment variable for software to be translated (see
+ <a class="link" href="#basics_invocation_variable" title="Environment variable for i18n">Environment variable for i18n</a>).
+</li><li class="listitem">
+Then, go into the <span class="strong"><strong>po/</strong></span> directory, and create a new po-file
+ from the template file using the following command: <code class="literal">msginit -i calcurse.pot
+ -o fr.po -l fr --no-translator</code> If you do not have <code class="literal">msginit</code> installed on
+ your system, simply copy the <span class="strong"><strong>calcurse.pot</strong></span> file to <span class="strong"><strong>fr.po</strong></span> and edit the
+ header by hand.
+</li></ul></div><p>Now, having this <span class="strong"><strong>fr.po</strong></span> file, the translator is ready to begin.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_po_files"></a>po-files</h4></div></div></div><p>The format of the po-files is quite simple. Indeed, po-files are made of four
+things:</p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
+<span class="strong"><strong>location lines:</strong></span> tells you where the strings can be seen (name of file and
+ line number), in case you need to see a bit of context.
+</li><li class="listitem">
+<span class="strong"><strong>msgid lines:</strong></span> the strings to translate.
+</li><li class="listitem">
+<span class="strong"><strong>msgstr lines:</strong></span> the translated strings.
+</li><li class="listitem">
+<span class="strong"><strong>lines prefixed with <code class="literal">#</code>:</strong></span> comments (some with a special meaning, as we will
+ see below).
+</li></ol></div><p>Basically, all you have to do is fill the <span class="strong"><strong>msgstr</strong></span> lines with the translation
+of the above <span class="strong"><strong>msgid</strong></span> line.</p><p>A few notes:</p><div class="variablelist"><dl class="variablelist"><dt><span class="term">
+<span class="strong"><strong>Fuzzy strings</strong></span>
+</span></dt><dd>
+ You will meet strings marked with a <code class="literal">"#, fuzzy"</code> comment. <code class="literal">calcurse</code> won’t
+ use the translations of such strings until you do something about them. A
+ string being fuzzy means either that the string has already been translated
+ but has since been changed in the sources of the program, or that this is a
+ new string for which <code class="literal">gettext</code> made a <span class="emphasis"><em>wild guess</em></span> for the translation, based
+ on other strings in the file. It means you have to review the translation.
+ Sometimes, the original string has changed just because a typo has been
+ fixed. In this case, you won’t have to change anything. But sometimes, the
+ translation will no longer be accurate and needs to be changed. Once you are
+ done and happy with the translation, just remove the <code class="literal">"#, fuzzy"</code> line, and
+ the translation will be used again in <code class="literal">calcurse</code>.
+</dd><dt><span class="term">
+<span class="strong"><strong>c-format strings and special sequences</strong></span>
+</span></dt><dd>
+ Some strings have the following comment: <code class="literal">"#, c-format"</code>. This tells that
+ parts of the string to translate have a special meaning for the program, and
+ that you should leave them alone. For instance, %-sequences, like <code class="literal">"%s"</code>.
+ These means that <code class="literal">calcurse</code> will replace them with another string. So it is
+ important it remains. There are also \-sequences, like <code class="literal">\n</code> or <code class="literal">\t</code>. Leave
+ them, too. The former represents an end of line, the latter a tabulation.
+</dd><dt><span class="term">
+<span class="strong"><strong>Translations can be wrapped</strong></span>
+</span></dt><dd><p class="simpara">
+ If lines are too long, you can just break them like this:
+</p><pre class="screen">msgid ""
+"some very long line"
+"another line"</pre></dd><dt><span class="term">
+<span class="strong"><strong>po-file header</strong></span>
+</span></dt><dd><p class="simpara">
+ At the very beginning of the po-file, the first string form a header, where
+ various kind of information has to be filled in. Most important one is the
+ charset. It should resemble
+</p><pre class="screen">"Content-Type: text/plain; charset=utf-8\n"</pre><p class="simpara">You should also fill in the Last-Translator field, so that potential
+contributors can contact you if they want to join you in the translation team,
+or have remarks/typo fixes to give about the translations. You can either just
+give your name/nick, or add an email address, for exemple:</p><pre class="screen">"Last-Translator: Frederic Culot &lt;frederic@culot.org&gt;\n"</pre></dd><dt><span class="term">
+<span class="strong"><strong>Comments</strong></span>
+</span></dt><dd>
+ Adding comments (lines begining with the <code class="literal">#</code> character) can be a good way to
+ point out problems or translation difficulties to proofreaders or other
+ members of your team.
+</dd><dt><span class="term">
+<span class="strong"><strong>Strings size</strong></span>
+</span></dt><dd>
+ <code class="literal">calcurse</code> is a curses/console program, thus it can be heavily dependant on
+ the terminal size (number of columns). You should think about this when
+ translating. Often, a string must fit into a single line (standard length is
+ 80 characters). Don’t translate blindly, try to look where your string will
+ be displayed to adapt your translation.
+</dd><dt><span class="term">
+<span class="strong"><strong>A few useful tools</strong></span>
+</span></dt><dd><p class="simpara">
+ The po-file format is very simple, and the file can be edited with a standard
+ text editor. But if you prefer, there are few specialized tools you may find
+ convenient for translating:
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+<code class="literal">poEdit</code> (<a class="ulink" href="http://www.poedit.org/" target="_top">http://www.poedit.org/</a>)
+</li><li class="listitem">
+<code class="literal">KBabel</code> (<a class="ulink" href="http://i18n.kde.org/tools/kbabel/" target="_top">http://i18n.kde.org/tools/kbabel/</a>)
+</li><li class="listitem">
+<code class="literal">GTranslator</code> (<a class="ulink" href="http://gtranslator.sourceforge.net/" target="_top">http://gtranslator.sourceforge.net/</a>)
+</li><li class="listitem">
+<code class="literal">Emacs</code> po mode
+</li><li class="listitem">
+<code class="literal">Vim</code> po mode
+</li></ul></div></dd><dt><span class="term">
+<span class="strong"><strong>And finally</strong></span>
+</span></dt><dd>
+ I hope you’ll have fun contributing to a more internationalized world. :) If
+ you have any more questions, don’t hesitate to contact us at <span class="strong"><strong>misc .at.
+ calcurse .dot. org</strong></span>.
+</dd></dl></div></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="transifex_uploading"></a>Uploading to Transifex</h4></div></div></div><p>There’s several different ways to upload a finished (or semi-finished)
+translation for a new language to Transifex. The easiest way is to browse to
+the <a class="ulink" href="http://www.transifex.net/projects/p/calcurse/teams/" target="_top">Translation Teams</a> page
+and request the addition of a new team.</p><p>As soon as we accepted your request, you will be able to upload your <span class="strong"><strong>po</strong></span> file
+on the
+<a class="ulink" href="http://www.transifex.net/projects/p/calcurse/resource/calcursepot/" target="_top">calcurse
+resource page</a> by clicking the <span class="strong"><strong>Add translation</strong></span> button at the bottom.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="_using_transifex_client"></a>Using transifex-client</h4></div></div></div><p>You can also use a command line client to submit translations instead of having
+to use the web interface every time you want to submit an updated version. If
+you have a recent version of <code class="literal">setuptools</code> installed, you can get the CLI client
+by issuing the following command:</p><pre class="screen">$ easy_install -U transifex-client</pre><p>Alternatively, you can get the source code of transifex-client at
+<a class="ulink" href="http://pypi.python.org/pypi/transifex-client" target="_top">http://pypi.python.org/pypi/transifex-client</a>.</p><p>After you downloaded and installed the client, run the following commands in
+the calcurse source directory to checkout the translation resources of
+<span class="strong"><strong>calcurse</strong></span>:</p><pre class="screen">$ tx pull -a</pre><p>To submit changes back to the server, use:</p><pre class="screen">$ tx push -r calcurse.calcursepot -t -l &lt;locale&gt;</pre><p>For more details, read up on <code class="literal">transifex-client</code> usage at the
+<a class="ulink" href="http://help.transifex.net/user-guide/client/" target="_top">The Transifex Command-line Client
+v0.4</a> section of the <a class="ulink" href="http://help.transifex.net/" target="_top">Transifex documentation</a>.</p></div><div class="section"><div class="titlepage"><div><div><h4 class="title"><a id="transifex_webui"></a>Using the Transifex web UI</h4></div></div></div><p>As an alternative to editing <span class="strong"><strong>po</strong></span> files, there is a web-based interface that
+can be used to create and update translations. After having signed up and
+created a new translation team (see <a class="link" href="#transifex_uploading" title="Uploading to Transifex">Uploading to Transifex</a> on how to do that), click the <span class="strong"><strong>Add translation</strong></span> button at the
+bottom on the
+<a class="ulink" href="http://www.transifex.net/projects/p/calcurse/resource/calcursepot/" target="_top">calcurse
+resource page</a>, select the language you’d like to translate and choose
+<span class="strong"><strong>Translate Online</strong></span>.</p></div></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_links"></a>9. Links</h2></div></div></div><p>This section contains links and references that may be of interest to you.</p><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_calcurse_homepage"></a>9.1. calcurse homepage</h3></div></div></div><p>The <code class="literal">calcurse</code> homepage can be found at <a class="ulink" href="http://calcurse.org" target="_top">http://calcurse.org</a></p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="_calcurse_announce_list"></a>9.2. calcurse announce list</h3></div></div></div><p>If you are interested in the project and want to be warned when a new release
+comes out, you can subscribe to the <code class="literal">calcurse</code> announce list. In doing so, you
+will receive an email as soon as a new feature appears in <code class="literal">calcurse</code>.</p><p>To subscribe to this list, send a message to <span class="strong"><strong>announce+subscribe .at. calcurse
+.dot. org</strong></span> with "subscribe" in the subject field.</p></div><div class="section"><div class="titlepage"><div><div><h3 class="title"><a id="links_others"></a>9.3. Other links</h3></div></div></div><p>You may want to look at the ical format specification (rfc2445) at:
+<a class="ulink" href="http://tools.ietf.org/html/rfc2445" target="_top">http://tools.ietf.org/html/rfc2445</a></p><p>The pcal project page can be found at: <a class="ulink" href="http://pcal.sourceforge.net/" target="_top">http://pcal.sourceforge.net/</a></p></div></div><div class="section"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="_thanks"></a>10. Thanks</h2></div></div></div><p>Its time now to thank other people without whom this program would not exist!
+So here is a list of contributing persons I would like to thank :</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: disc; "><li class="listitem">
+Alex for its patches, help and advices with <code class="literal">C</code> programming
+</li><li class="listitem">
+Gwen for testing and general discussions about how to improve <code class="literal">calcurse</code>
+</li><li class="listitem">
+Herbert for packaging <code class="literal">calcurse</code> for FreeBSD
+</li><li class="listitem">
+Zul for packaging <code class="literal">calcurse</code> for NetBSD
+</li><li class="listitem">
+Wain, Steffen and Ronald for packaging <code class="literal">calcurse</code> for Archlinux
+</li><li class="listitem">
+Kevin, Ryan, and fEnIo for packaging <code class="literal">calcurse</code> for Debian and Ubuntu
+</li><li class="listitem">
+Pascal for packaging <code class="literal">calcurse</code> for Slackware
+</li><li class="listitem">
+Alexandre and Markus for packaging <code class="literal">calcurse</code> for Mac OsX and Darwin
+</li><li class="listitem">
+Igor for packaging <code class="literal">calcurse</code> for ALT Linux
+</li><li class="listitem">
+Joel for its calendar script which inspired <code class="literal">calcurse</code> calendar view
+</li><li class="listitem">
+Michael Schulz and Chris M. for the german translation of <code class="literal">calcurse</code> and its
+ manual
+</li><li class="listitem">
+Jose Lopez for the spanish translation of <code class="literal">calcurse</code> and its manual
+</li><li class="listitem">
+Neil Williams for the english translation
+</li><li class="listitem">
+Leandro Noferini for the italian translation
+</li><li class="listitem">
+Tony for its patch which helped improving the recur_item_inday() function,
+ and for implementing the date format configuration options
+</li><li class="listitem">
+Jeremy Roon for the dutch translation
+</li><li class="listitem">
+Erik Saule for its patch implementing the <code class="literal">-N</code>, <code class="literal">-s</code>, <code class="literal">-S</code>, <code class="literal">-r</code> and <code class="literal">-D</code>
+ flags
+</li><li class="listitem"><p class="simpara">
+people who write softwares I like and which inspired me, especially :
+</p><div class="itemizedlist"><ul class="itemizedlist" style="list-style-type: circle; "><li class="listitem">
+<code class="literal">vim</code> for the displacement keys
+</li><li class="listitem">
+<code class="literal">orpheus</code> and <code class="literal">abook</code> for documentation
+</li><li class="listitem">
+<code class="literal">pine</code> and <code class="literal">aptitude</code> for the text user interface
+</li><li class="listitem">
+<code class="literal">tmux</code> for coding style
+</li></ul></div></li></ul></div><p>And last, many many thanks to all of the <code class="literal">calcurse</code> users who sent me their
+feedback.</p></div></div></body></html>