1348 lines
64 KiB
HTML
1348 lines
64 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
|
|
<!--
|
|
/*
|
|
* $calcurse: manual_es.html,v 1.25 2010/03/29 18:18:02 culot Exp $
|
|
*
|
|
* Copyright (c) 2004-2010 Frederic Culot <frederic@culot.org>
|
|
* All rights reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions
|
|
* are met:
|
|
*
|
|
* - Redistributions of source code must retain the above
|
|
* copyright notice, this list of conditions and the
|
|
* following disclaimer.
|
|
*
|
|
* - Redistributions in binary form must reproduce the above
|
|
* copyright notice, this list of conditions and the
|
|
* following disclaimer in the documentation and/or other
|
|
* materials provided with the distribution.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
* OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
* DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
* THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
* OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
*
|
|
*/
|
|
-->
|
|
|
|
<html>
|
|
<head>
|
|
<title>CALCURSE documentación</title>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<style type="text/css" media="all">
|
|
@import url(manual.css);
|
|
</style>
|
|
</head>
|
|
<body>
|
|
|
|
<div id="mainContent">
|
|
|
|
<h1 id="title">
|
|
<span class="main">CALCURSE - organizador basado en modo texto</span></h1>
|
|
|
|
<div class="warn">
|
|
<div class="todo">
|
|
<h1>Abstract</h1> This manual describes <code>calcurse</code> 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
|
|
<code>calcurse</code> behavior. Last, bug reporting procedure is explained, as
|
|
well as the way one can contribute to <code>calcurse</code> development.
|
|
</div>
|
|
</div>
|
|
|
|
<div id="toc">
|
|
<h1>Tabla de Contenidos</h1>
|
|
<ul>
|
|
<li><a href="#intro">1. Introducción</a></li>
|
|
<li><a href="#overview">2. Descripción</a>
|
|
<ul>
|
|
<li><a href="#overview_history">2.1 Historia</a></li>
|
|
<li><a href="#overview_features">2.2 Características importantes</a></li>
|
|
</ul></li>
|
|
<li><a href="#install">3. Instalación</a>
|
|
<ul>
|
|
<li><a href="#install_requirements">3.1 Requerimientos</a>
|
|
<ul>
|
|
<li><a href="#install_requirements_ncurses">3.1.1 librería <code>ncurses</code></a></li>
|
|
<li><a href="#install_requirements_gettext">3.1.2 librería <code>gettext</code></a></li>
|
|
</ul></li>
|
|
<li><a href="#install_process">3.2 Proceso de instalación</a></li>
|
|
</ul></li>
|
|
<li><a href="#basics">4. <code>calcurse</code> básicos</a>
|
|
<ul>
|
|
<li><a href="#basics_invocation">4.1 Invocación</a>
|
|
<ul>
|
|
<li><a href="#basics_invocation_commandline">4.1.1 Argumentos de la linea de comandos</a></li>
|
|
<li><a href="#basics_invocation_variable">4.1.2 Variable de entorno para i18n</a></li>
|
|
<li><a href="#basics_invocation_environment"><span class="todo">4.1.3 Other environment
|
|
variables</span></a></li>
|
|
</ul></li>
|
|
<li><a href="#basics_interface">4.2 Interfaz de usuario</a>
|
|
<ul>
|
|
<li><a href="#basics_interface_noninteractive">4.2.1 Modo no-interactivo</a></li>
|
|
<li><a href="#basics_interface_interactive">4.2.2 Modo interactivo</a></li>
|
|
</ul></li>
|
|
<li><a href="#basics_daemon"><span class="todo">4.3 Background mode</span></a></li>
|
|
<li><a href="#basics_files">4.4 Archivos de <code>calcurse</code></a></li>
|
|
<li><a href="#basics_import_export"><span class="todo">4.5 Import/Export capabilities</span></a>
|
|
<ul>
|
|
<li><a href="#basics_import"><span class="todo">4.5.1 Import</span></a></li>
|
|
<li><a href="#basics_export"><span class="todo">4.5.2 Export</span></a></li>
|
|
</ul></li>
|
|
<li><a href="#basics_help">4.6 Ayuda en linea</a></li>
|
|
</ul></li>
|
|
<li><a href="#options">5. Opciones</a>
|
|
<ul>
|
|
<li><a href="#options_general">5.1 Opciones generales</a></li>
|
|
<li><a href="#options_keys"><span class="todo">5.2 Key bindings</span></a>
|
|
<li><a href="#options_colors">5.3 Color (temas)</a></li>
|
|
<li><a href="#options_layout">5.4 Configuración de la disposición</a></li>
|
|
<li><a href="#options_sidebar"><span class="todo">5.5 Sidebar configuration</span></a></li>
|
|
<li><a href="#options_notify">5.6 Ajustes de la barra de notificaciones</a></li>
|
|
</ul></li>
|
|
<li><a href="#known_bugs">6. Bugs conocidos</a></li>
|
|
<li><a href="#bugs">7. Informar de bugs y comentarios</a></li>
|
|
<li><a href="#contribute">8. ¿Como contribuir?</a>
|
|
<ul>
|
|
<li><a href="#contribute_documentation">8.1 Traduciendo la documentación</a></li>
|
|
<li><a href="#contribute_i18n">8.2 <code>calcurse</code> i18n</a>
|
|
<ul>
|
|
<li><a href="#contribute_i18n_overview">8.2.1 Descripción</a></li>
|
|
<li><a href="#contribute_i18n_translator">8.2.2 Tareas del traductor</a></li>
|
|
<li><a href="#contribute_i18n_po-files">8.2.3 Archivos-po</a></li>
|
|
</ul></li>
|
|
</ul></li>
|
|
<li><a href="#links">9. Enlaces</a>
|
|
<ul>
|
|
<li><a href="#links_homepage">9.1 Pagina web de <code>calcurse</code></a></li>
|
|
<li><a href="#links_list">9.2 Lista de anuncios de <code>calcurse</code></a></li>
|
|
<li><a href="#links_rss">9.3 <code>calcurse</code> RSS feed</a></li>
|
|
<li><a href="#links_others"><div class="todo">9.4 Other links</div></a></li>
|
|
</ul></li>
|
|
<li><a href="#thanks">10. Gracias a ...</a></li>
|
|
</ul>
|
|
</div>
|
|
|
|
<h1>1. Introducción<a name="intro"></a></h1>
|
|
<p>
|
|
<code>calcurse</code> es un calendario y organizador de tareas personal basado en
|
|
modo texto. Te ayuda a mantener un seguimiento de tus eventos, citas y tareas diarias.
|
|
Un sistema de notificacion recuerda al usuario sus proximas citas y la interfaz de
|
|
usuario basanda en ncurses puede ser personalizada para cubrir las necesidades del usuario.
|
|
Todos los comandos están documentados a través de un sistema de ayuda en linea.
|
|
</p>
|
|
|
|
<h1>2. Descripción<a name="overview"></a></h1>
|
|
<h2>2.1 Historia<a name="overview_history"></a></h2>
|
|
<p>
|
|
Comencé a pensar en este proyecto cuando estaba acabando mi doctorado
|
|
en Astrofísica... Empezaba a ser un poco complicado el organizarme
|
|
y realmente necesitaba una buena herramienta que me ayudase
|
|
en esa difícil tarea ;-)
|
|
</p>
|
|
<p>
|
|
Me gustan los programas que utilizan las interfaces de
|
|
usuario en modo texto porque son simples, rápidos y
|
|
eficientes, por eso pensé en programar un calendario simple en
|
|
ese tipo de interfaz. Por otra parte, esperaba aprender el
|
|
lenguaje <code>C</code> que había utilizado solo a ratos
|
|
durante mi época de estudiante. Por eso pensé que podía ser un
|
|
buen proyecto para empezar a estar organizado y ¡ aprender algunas
|
|
cosas sobre <code>C</code> !
|
|
</p>
|
|
<p>
|
|
Por desgracia acabe mi doctorado antes de
|
|
acabar <code>calcurse</code>, pero de todas formas aun quería
|
|
trabajar en el y esperaba que pudiese ser de ayuda a otra gente.
|
|
Y aquí esta...
|
|
</p>
|
|
<p>
|
|
Pero ¿por que 'calcurse'? Bien, es simplemente una concatenación
|
|
de CALendar y nCURSEs, el nombre de la librería utilizada para
|
|
construir la interfaz de usuario.
|
|
</p>
|
|
|
|
<h2>2.2 Características importantes<a name="overview_features"></a></h2>
|
|
<p>
|
|
<code>Calcurse</code> es multi-plataforma e intenta ser ligero,
|
|
rápido y fiable. Esta hecho para ser usado en consola o terminal,
|
|
tanto en local como en una maquina remota a través de ssh o una
|
|
conexión similar.
|
|
</p>
|
|
<p>
|
|
<code>Calcurse</code> puede funcionar de dos modos diferentes :
|
|
modo interactivo o no-interactivo. El primero permite a un usuario
|
|
ver su organizador en casi cualquier maquina gracias a la interfaz
|
|
basada en modo texto. El segundo modo permite crear recordatorios
|
|
de una forma muy fácil, únicamente añadiendo <code>calcurse</code>,
|
|
con los argumentos apropiados en la linea de comando, en el crontab
|
|
o mediante un sell init script.
|
|
</p>
|
|
<p>
|
|
Por otra parte, <code>calcurse</code> fue creado pensando en el usuario
|
|
final y trata de ser lo mas amigable posible. Esto significa un
|
|
completo sistema de ayuda en linea, conjuntamente con tener todas
|
|
las posibles acciones visualizadas en todo momento en la barra de
|
|
estado. La interfaz de usuario también es configurable y uno puede
|
|
elegir entre combinaciones de colores y disposiciones.
|
|
<span class="todo">Key bindings are also configurable, to fit everyone's needs.</span>
|
|
Finalmente, un sistema de notificacion recuerda al usuario sus proximas citas.
|
|
<span class="todo">The reminders are sent even if the user's interface
|
|
is not running, as calcurse is able to run in background.</span>
|
|
</p>
|
|
|
|
<h1>3. Instalación<a name="install"></a></h1>
|
|
<h2>3.1 Requerimientos<a name="install_requirements"></a></h2>
|
|
<h3>3.1.1 librería <code>ncurses</code><a name="install_requirements_ncurses"></a></h3>
|
|
<p>
|
|
<code>Calcurse</code> requiere solo un compilador <code>C</code>, como
|
|
<code>cc</code> o <code>gcc</code>, y la librería <code>ncurses</code>.
|
|
Sería muy sorprendente no tener una librería <code>ncurses</code>
|
|
valida ya instalada en tu ordenador, pero si no la tienes, puedes
|
|
encontrarla en la siguiente dirección :</p>
|
|
<pre>http://ftp.gnu.org/pub/gnu/ncurses/</pre>
|
|
|
|
<div class="todo">
|
|
<p>
|
|
<p class="rq"><span class="valorize">Note:</span>
|
|
It is also possible to link <code>calcurse</code> against the
|
|
<code>ncursesw</code> library (ncurses with support for unicode).
|
|
However, UTF-8 is not yet supported by <code>calcurse</code>.</p>
|
|
</div>
|
|
|
|
<h3>3.1.2 librería <code>gettext</code><a name="install_requirements_gettext"></a></h3>
|
|
<p>
|
|
<code>calcurse</code> soporta internacionalización
|
|
(de aquí en adelante <span class="emp">i18n</span>) con las
|
|
utilidades <code>gettext</code>.
|
|
Esto significa que <code>calcurse</code> puede producir
|
|
mensajes en diferentes lenguas si esta compilado con el soporte
|
|
para lengua nativa (p.e. <span class="emp">NLS</span>).
|
|
</p>
|
|
<p>
|
|
Por otra parte,
|
|
<span class="emp">NLS</span> es opcional, si tu no quieres tener soporte
|
|
para esta característica, basta con que utilices la opción <code>--disable-nls</code>
|
|
en el comando <code>configure</code> (ver la sección <a
|
|
href="#install_process">Proceso de instalación</a>).
|
|
Para comprobar si las utilidades <code>gettext</code> están
|
|
instaladas en tu sistema, puedes buscar el archivo cabecera
|
|
<code>libintl.h</code>, por ejemplo :</p>
|
|
<pre>locate libintl.h</pre>
|
|
<p>
|
|
Si este archivo cabecera no se encuentra, entonces puedes obtener
|
|
las fuentes de <code>gettext</code> en la siguiente dirección :</p>
|
|
<pre>http://ftp.gnu.org/pub/gnu/gettext/</pre>
|
|
<p>
|
|
<p class="rq"><span class="valorize">Nota:</span>
|
|
Incluso si <code>libintl.h</code> se encuentra en tu
|
|
sistema, puede ser necesario especificar su localización durante el <a
|
|
href="#install_process">proceso de instalación</a>, utilizando la opción
|
|
<code>--with-libintl-prefix</code> en el comando
|
|
<code>configure</code>. De hecho, el comando <code>configure</code>
|
|
puede fallar al tratar de localizar esta librería si esta instalada en
|
|
un lugar infrecuente.
|
|
</p>
|
|
|
|
<h2>3.2 Proceso de instalación<a name="install_process"></a></h2>
|
|
<p>
|
|
Primero necesitas descomprimir ( gunzip y untar) el archivo fuente:</p>
|
|
<pre>tar zxvf calcurse-2.8.tar.gz</pre>
|
|
<p>
|
|
Una vez has resuelto los requisitos y has extraído el archivo,
|
|
el proceso de instalación es muy simple y sigue los tres pasos habituales:
|
|
<ol>
|
|
<li><code>./configure</code></li>
|
|
<li><code>make</code></li>
|
|
<li><code>make install</code> (puede requerir privilegios de administrador)</li>
|
|
</ol>
|
|
</p>
|
|
<p>
|
|
Utiliza <code>./configure --help</code> para obtener una lista de posibles
|
|
opciones.
|
|
</p>
|
|
|
|
<h1>4. <code>calcurse</code> básicos<a name="basics"></a></h1>
|
|
<h2>4.1 Invocación (arranque del programa)<a name="basics_invocation"></a></h2>
|
|
<h3>4.1.1 Argumentos de la linea de comando<a name="basics_invocation_commandline"></a></h3>
|
|
<p>
|
|
<code>calcurse</code> acepta las siguientes opciones en la
|
|
linea de comando (ambas opciones, cortas y largas estan soportadas):</p>
|
|
<p>
|
|
|
|
<dl>
|
|
<dt><code>-a, --appointment</code></dt>
|
|
<dd>
|
|
Imprime las citas y eventos para el día actual y sale.
|
|
<p class="rq"><span class="valorise">Nota:</span>
|
|
el calendario desde donde leerán
|
|
puede ser especificado usando la opción '-c'.</p>
|
|
</dd>
|
|
<dt><code>-c <file>, --calendar <file></code></dt>
|
|
<dd>
|
|
Especifica el archivo de calendario a usar.
|
|
El calendario por defecto es <code>~/.calcurse/apts</code>
|
|
(ver la sección <a href="#basics_files">Archivos de <code>calcurse</code></a>).
|
|
</dd>
|
|
<dt><code>-d <date|num>, --day <date|num></code></dt>
|
|
<dd>
|
|
Imprime las citas y eventos para la fecha dada o para el numero dado de días
|
|
próximos, dependiendo del formato del argumento.
|
|
Soporta dos posible formatos :
|
|
<ul>
|
|
<li>una fecha <span class="todo">(possible formats described below).</span></li>
|
|
<li>un numero 'n'.</li>
|
|
</ul>
|
|
En el primer caso, devolverá la lista de citas y eventos para la fecha especificada
|
|
mientras que en el segundo caso devolverá la lista de citas y eventos
|
|
para los 'n' próximos días.
|
|
Por ejemplo, tecleando <code>calcurse -d 3</code>
|
|
mostrara tus citas y eventos para hoy, mañana y pasado mañana.
|
|
<div class="todo">
|
|
Possible formats for specifying the date are defined inside the
|
|
general configuration menu (see
|
|
<a href="#options_general">General options</a>), using the
|
|
<code>input_datefmt</code> variable.
|
|
</div>
|
|
<p class="rq"><span class="valorise">Nota:</span>
|
|
al igual que para la opción '-a' , el calendario desde donde se
|
|
leerán puede ser especificado usando la opción '-c' .</p>
|
|
</dd>
|
|
<dt><code>-D <dir>, --directory <dir></code></dt>
|
|
<dd>
|
|
<div class="todo">
|
|
Specify the data directory to use. This option is
|
|
incompatible with -c. If not specified, the
|
|
default directory is <code>'~/.calcurse/'</code>.
|
|
</div>
|
|
</dd>
|
|
<dt><code>-h, --help</code></dt>
|
|
<dd>
|
|
Imprime un breve texto de ayuda describiendo las opciones soportadas en la
|
|
linea de comando y sale.
|
|
</dd>
|
|
<dt><code>-i <file>, --import <file></code></dt>
|
|
<dd>
|
|
<div class="todo">
|
|
Import the icalendar data contained in <code>file</code>.
|
|
</div>
|
|
</dd>
|
|
<dt><code>-n, --next</code></dt>
|
|
<dd>
|
|
Imprime las citas para las próximas 24 horas y sale.
|
|
El tiempo indicado es el numero de horas y minutos que faltan hasta
|
|
la proxima cita.
|
|
<p class="rq"><span class="valorise">Nota:</span>
|
|
el calendario desde donde se leeran las citas puede ser especificado usando la opcion '-c'.</p>
|
|
</dd>
|
|
<dt><code>-N, --note</code></dt>
|
|
<dd>
|
|
<div class="todo">
|
|
When used with the '-a' or '-t' flag, also print note content
|
|
if one is associated with the displayed item.
|
|
</div>
|
|
</dd>
|
|
<dt><code>-r[num], --range[=num]</code></dt>
|
|
<dd>
|
|
<div class="todo">
|
|
Print events and appointments for the num number of
|
|
days and exit. If no num is given, a range of 1 day
|
|
is considered.
|
|
</div>
|
|
</dd>
|
|
<dt><code>-s[date], --startday[=date]</code></dt>
|
|
<dd>
|
|
<div class="todo">
|
|
Print events and appointments from date and exit.
|
|
If no date is given, the current day is considered.
|
|
</div>
|
|
</dd>
|
|
<dt><code>-S<regex>, --search=<regex></code></dt>
|
|
<dd>
|
|
<div class="todo">
|
|
When used with the '-a', '-d', '-r', '-s', or '-t' flag,
|
|
print only the items having a description that matches the given
|
|
regular expression.
|
|
</div>
|
|
</dd>
|
|
<dt><code>--status</code></dt>
|
|
<dd>
|
|
<div class="todo">
|
|
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.
|
|
</div>
|
|
</dd>
|
|
<dt><code>-t[num], --todo[=num]</code></dt>
|
|
<dd>
|
|
Imprime la lista de tareas pendientes ('ToDo') y sale.
|
|
Si se especifica la opcion <code>numero</code>, se mostraran todas las tareas pendientes que tengan la prioridad
|
|
igual a <code>numero</code>.
|
|
<div class="todo">
|
|
The priority number must be between 1 (highest) and 9 (lowest). It is also possible
|
|
to specify '0' for the priority, in which case only completed tasks will be shown.</p>
|
|
</div>
|
|
</dd>
|
|
<dt><code>-v, --version</code></dt>
|
|
<dd>
|
|
Muestra la versión de <code>calcurse</code> y sale.
|
|
</dd>
|
|
<dt><code>-x[format], --export[=format]</code></dt>
|
|
<dd>
|
|
<div class="todo">
|
|
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 <code>format</code> is not given,
|
|
ical format is selected by default.
|
|
</div>
|
|
<p class="rq"><span class="valorise">Nota:</span>
|
|
redirecciona la salida standard para exportar los datos a un archivo usando
|
|
un comando como este:
|
|
<code>$ calcurse --export > my_data.dat</code></p>
|
|
</dd>
|
|
</dl>
|
|
|
|
<h3>4.1.2 Variable de entorno para i18n<a name="basics_invocation_variable"></a></h3>
|
|
<p>
|
|
<code>calcurse</code> puede ser compilado son soporte para lenguaje
|
|
nativo (ver <a href="#install_requirements_gettext">librería <code>gettext</code>
|
|
</a>). Así, si quieres ver los mensajes en tu lengua nativa, primero comprueba
|
|
que esta disponible mirando en el fichero <code>po/LINGUAS</code>.
|
|
Este fichero indica la lista de lenguas disponibles mostrando el código de dos
|
|
letras correspondiente (por ejemplo, <span class="emp">es</span> sería para español).
|
|
Si no encuentras tu lengua, tu ayuda seria muy apreciada si pudieses traducir
|
|
<code>calcurse</code> (ver la sección <a href="#contribute">¿Como puedo
|
|
ayudar?</a>.</p>
|
|
<p>
|
|
Si tu lengua esta disponible, arranca <code>calcurse</code> con el siguiente comando:</p>
|
|
<pre>LC_ALL=es_ES calcurse</pre>
|
|
<p>
|
|
donde <span class="emp">es_ES</span> es el nombre locale en este ejemplo, pero puede ser remplazado
|
|
por el locale correspondiente a la lengua deseada.</p>
|
|
<p>
|
|
Debes especificar también tipo de caracteres 'charset' que se usara porque en
|
|
algunos casos los acentos podrían no mostrarse correctamente.
|
|
Este tipo de caracteres o 'charset' esta indicado al principio del archivo po
|
|
correspondiente al lenguaje deseado. Como puedes ver en el archivo es.po
|
|
se usa el tipo de caracteres iso-8859-1, entonces puedes iniciar <code>calcurse</code>
|
|
utilizando el siguiente comando:</p>
|
|
<pre>LC_ALL=es_ES.ISO8859-1 calcurse</pre>
|
|
|
|
<div class="todo">
|
|
<h3>4.1.3 Other environment variables<a name="basics_invocation_environment"></a></h3>
|
|
<p>
|
|
The following environment variables affect the way <code>calcurse</code>
|
|
operates:</p>
|
|
<dl>
|
|
<dt><code>VISUAL</code></dt>
|
|
<dd>Specifies the external editor to use for writing notes.
|
|
</dd>
|
|
<dt><code>EDITOR</code></dt>
|
|
<dd>If the <code>VISUAL</code> environment variable
|
|
is not set, then <code>EDITOR</code> will be used as
|
|
the default external editor. If none of those variables are set,
|
|
then <code>/usr/bin/vi</code> is used instead.
|
|
</dd>
|
|
<dt><code>PAGER</code></dt>
|
|
<dd>Specifies the default viewer to be used for reading notes.
|
|
If this variable is not set, then <code>/usr/bin/less</code> is used.
|
|
</dd>
|
|
</dl>
|
|
</div>
|
|
|
|
<h2>4.2 Interfaz de usuario<a name="basics_interface"></a></h2>
|
|
<h3>4.2.1 Modo no-interactivo<a name="basics_interface_noninteractive"></a></h3>
|
|
<p>
|
|
Cuando es llamado por lo menos con uno de los siguientes argumentos:
|
|
<code>-a</code>, <code>-d</code>, <code>-h</code>,
|
|
<code>-n</code>, <code>-t</code>, <code>-v</code>, <code>-x</code>,
|
|
<code>calcurse</code> arranca en modo no-interactivo.
|
|
Esto significa que se mostrara la información deseada, y
|
|
después de esto, <code>calcurse</code> simplemente se cierra y eres
|
|
de nuevo devuelto al prompt del shell.</p>
|
|
<p>
|
|
De esta forma, uno puede añadir una linea como
|
|
<code>'calcurse --todo --appointment'</code>
|
|
en el archivo de inicialización de su entorno gráfico (X o consola) para ver,
|
|
cuando entras en el sistema; la lista de tareas, citas y eventos
|
|
programadas para el día actual.</p>
|
|
|
|
<h3>4.2.2 Modo interactivo<a name="basics_interface_interactive"></a></h3>
|
|
<div class="todo">
|
|
<p class="rq"><span class="valorise">Note:</span>
|
|
Key bindings that are indicated in this manual correspond to
|
|
the default ones, defined when <code>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 href="#options_keys">key bindings</a>).</p>
|
|
</div>
|
|
<p>
|
|
Cuando es llamado sin ningún argumento o solo con la opción
|
|
<code>-c</code>, <code>calcurse</code> arranca en modo interactivo.
|
|
En este modo, se muestra una interfaz conteniendo tres
|
|
paneles diferentes por los cuales puedes navegar usando la tecla
|
|
'TAB' (tabulador), mas una barra de notificaciones, mas una barra
|
|
de estado (ver la figura de abajo).</p>
|
|
<pre>
|
|
|
|
panel de citas y eventos ---. .--- panel de calendario
|
|
| |
|
|
v v
|
|
+------------------------------------++----------------------------+
|
|
| Citas y eventos || Calendario |
|
|
|------------------------------------||----------------------------|
|
|
| (|) Abril 6, 2006 || Abril 2006 |
|
|
| ||Lun Mar Mie Jue Vie Sab Dom |
|
|
| || 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 |
|
|
| || |
|
|
| |+----------------------------+
|
|
| |+----------------------------+
|
|
| || Tareas Pendientes |
|
|
| ||----------------------------| panel de tareas pendientes
|
|
| || | |
|
|
| || | |
|
|
| || |<--.
|
|
| || |
|
|
+------------------------------------++----------------------------+
|
|
|---[ Lun 6-4-2006 | 10:11:43 ]---(citas)----> 01:20 :: comida <---|<--.
|
|
+------------------------------------------------------------------+ barra de notificaciones
|
|
| ? Ayuda R Redibujar H/L -/+1 Dia G Ir a C Config |
|
|
| Q Salir S Guardar J/K -/+1 Semana Tab Cambiar vista |<-.
|
|
+------------------------------------------------------------------+ |
|
|
|
|
|
barra de estado
|
|
|
|
</pre>
|
|
<p>
|
|
El primer panel representa un calendario que permite iluminar un
|
|
día en particular, el segundo contiene la lista de citas y eventos
|
|
pertenecientes a ese día, y el ultimo contiene una lista
|
|
de tareas pendientes (ToDo) pero que no están asignadas a ningún día
|
|
especifico.</p>
|
|
<div class="todo">
|
|
<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>
|
|
|
|
+------------------------------------+
|
|
| Calendar |
|
|
|----------------------------(# 13)--|
|
|
| Mon Tue Wed Thu Fri Sat Sun |
|
|
| 29 30 31 01 02 03 04 |
|
|
| <----+-- slice 1: 00:00 to 04:00 AM
|
|
| -- -- -- -- -- -- |
|
|
| <----+-- slice 2: 04:00 to 08:00 AM
|
|
| -- -- -- -- -- -- |
|
|
| <----+-- slice 3: 08:00 to 12:00 AM
|
|
| - -- -- -- -- -- -- - <-+-- midday
|
|
| <----+-- slice 4: 12:00 to 04:00 PM
|
|
| -- -- -- -- -- -- |
|
|
| <----+-- slice 5: 04:00 to 08:00 PM
|
|
| -- -- -- -- -- -- |
|
|
| <----+-- 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="emp"># 13</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>
|
|
</div>
|
|
|
|
<div class="todo">
|
|
<p>
|
|
In the appointment panel, one can notice the <span class="emp">'(|)'</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>
|
|
<dl class="compact">
|
|
<dt>'<code> |) </code>':</dt>
|
|
<dd>first quarter</dd>
|
|
<dt>'<code> (|) </code>':</dt>
|
|
<dd>full moon</dd>
|
|
<dt>'<code> (| </code>':</dt>
|
|
<dd>last quarter</dd>
|
|
<dt>'<code> | </code>':</dt>
|
|
<dd>new moon</dd>
|
|
<dt>no sign:</dt>
|
|
<dd>phase of the moon does not correspond to any of
|
|
the above ones</dd>
|
|
</dl>
|
|
</p>
|
|
</div>
|
|
<p>
|
|
En la parte inferior de la pantalla hay una barra de estado, que
|
|
indica las posibles acciones y sus correspondientes atajos de
|
|
teclado.</p>
|
|
<p>
|
|
Justo encima de esta barra de estado esta la barra de notificaciones, que indica
|
|
de izquierda a derecha : la fecha actual, la hora actual, el archivo de
|
|
calendario actualmente en uso (en el ejemplo de arriba, el de citas, que es
|
|
el fichero de calendario por defecto, ver la sección siguiente), y la
|
|
cita mas cercana para las proximas 24 horas. En el ejemplo seria una comida
|
|
dentro de una hora y 20 minutos.</p>
|
|
<p class="rq"><span class="valorise">Nota:</span>
|
|
Algunas acciones, como editar o añadir un elemento,
|
|
requieren teclear algo de texto. Esto se hace con la ayuda del editor
|
|
incorporado.</p>
|
|
<p>
|
|
Dentro de este editor, si una linea es mas larga que el ancho de la pantalla,
|
|
se mostrara un caracter como '>', '*', o '<' al final de la columna
|
|
indicando que hay mas caracteres despues, antes y despues, o antes de la posicion actual, respectivamente.
|
|
La linea se movera horizontalmente si es necesario.</p>
|
|
<p>
|
|
Por otra parte, hay algunos caracteres que se utilizan para editar.
|
|
Aqui se indican los comandos de edicion disponibles
|
|
('^' significa la tecla "control"):
|
|
<dl class="compact">
|
|
<dt><code>^a</code>:</dt>
|
|
<dd>mueve el cursor al principio de la linea</dd>
|
|
<dt><code>^b</code>:</dt>
|
|
<dd>mueve el cursor para atras</dd>
|
|
<dt><code>^d</code>:</dt>
|
|
<dd>borra un caracter por delante</dd>
|
|
<dt><code>^e</code>:</dt>
|
|
<dd>mueve el cursor al final de la linea</dd>
|
|
<dt><code>^f</code>:</dt>
|
|
<dd>mueve el cursor para alante</dd>
|
|
<dt><code>^h</code>:</dt>
|
|
<dd>borra un caracter hacia atras</dd>
|
|
<dt><code>^k</code>:</dt>
|
|
<dd>borra desde el cursor hasta el final de la linea</dd>
|
|
<dt><code>ESCAPE</code></dt>
|
|
<dd>b>: cancela la edicion</dd>
|
|
</dl>
|
|
</p>
|
|
|
|
<div class="todo">
|
|
<h2>4.3 Background mode<a name="basics_daemon"></a></h2>
|
|
|
|
<p>When the daemon mode is enabled in the notification configuration menu
|
|
(see <a href="#options_notify">Notify-bar settings</a>), <code>calcurse</code> will stay
|
|
in background when the user interface is not running. In background mode,
|
|
<code>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><code>calcurse</code> background activity can be logged (set the
|
|
<code>notify-daemon_log</code> variable in the notification configuration
|
|
<a href="#options_notify">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>daemon.log</code> file (see section <a href="#basics_files">files</a>).</p>
|
|
|
|
<p>
|
|
Using the <code>--status</code> command line option (see section
|
|
<a href="#basics_invocation_commandline">Command line arguments</a>),
|
|
one can know if <code>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):
|
|
<pre>calcurse is running in background (pid 14536)</pre>
|
|
|
|
<p class="rq"><span class="valorise">Note:</span>
|
|
To stop the daemon, just send the <code>TERM</code> signal to it, using a command such as:
|
|
<code>'kill daemon_pid'</code>, where <span class="emp">daemon_pid</span> is the process id
|
|
of the daemon (14536 in the above example).
|
|
</p>
|
|
</div>
|
|
|
|
<h2>4.4 Archivos de <code>calcurse</code><a name="basics_files"></a></h2>
|
|
<p>
|
|
La siguiente estructura se crea en tu directorio <code>$HOME</code>
|
|
<div class="todo">(or in the directory you specified with the -D option)</div>
|
|
la primera vez que se ejecuta <code>calcurse</code> :</p>
|
|
<pre>
|
|
$HOME/.calcurse/
|
|
|___notes/
|
|
|___conf
|
|
|___keys
|
|
|___apts
|
|
|___todo
|
|
</pre>
|
|
<dl class="compact">
|
|
<dt><code>notes/</code>:</dt>
|
|
<dd><span class="todo">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's description.</span></dd>
|
|
<dt><code>conf</code>:</dt>
|
|
<dd>contiene la configuración del usuario.</dd>
|
|
<dt><code>keys</code>:</dt>
|
|
<dd><span class="todo">this file contains the user-defined key bindings</span></dd>
|
|
<dt><code>apts</code>:</dt>
|
|
<dd>contiene todos los eventos y citas del usuario.</dd>
|
|
<dt><code>todo</code>:</dt>
|
|
<dd>contiene la lista de tareas pendientes.</dd>
|
|
</dl>
|
|
|
|
<div class="todo">
|
|
<p class="rq"><span class="valorise">Note:</span>
|
|
If the logging of calcurse daemon activity was set in the notification
|
|
configuration menu, the extra file <code>daemon.log</code> will appear
|
|
in calcurse data directory. This file contains logs about calcurse activity
|
|
when running in background.
|
|
</p>
|
|
</div>
|
|
|
|
<div class="todo">
|
|
<h2>4.5 Import/Export capabilities<a name="basics_import_export"></a></h2>
|
|
<p>
|
|
The import and export capabilities offered by <code>calcurse</code>
|
|
are described below.
|
|
</p>
|
|
|
|
<h3>4.5.1 Import<a name="basics_import"></a></h3>
|
|
<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>
|
|
<p>
|
|
The following icalendar properties are handled by calcurse:
|
|
<ul>
|
|
<li><code>VTODO</code> items:<br>
|
|
"PRIORITY", "VALARM", "SUMMARY", "DESCRIPTION"</li>
|
|
<li><code>VEVENT</code> items:<br>
|
|
"DTSTART", "DTEND", "DURATION", "RRULE", "EXDATE", "VALARM", "SUMMARY",
|
|
"DESCRIPTION"</li>
|
|
</ul>
|
|
</p>
|
|
<p>
|
|
The icalendar "DESCRIPTION" 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:
|
|
<ul>
|
|
<li>negative time durations are not taken into account (item is skipped)</li>
|
|
<li>some recurence frequences are not recognize:<br>
|
|
"SECONDLY" / "MINUTELY" / "HOURLY"</li>
|
|
<li>some recurrence keywords are not recognized
|
|
(all those starting with 'BY'):<br>
|
|
"BYSECOND" / "BYMINUTE" / "BYHOUR" / "BYDAY" / "BYMONTHDAY"<br>
|
|
"BYYEARDAY" / "BYWEEKNO" / "BYMONTH" / "BYSETPOS"<br>
|
|
plus "WKST"</li>
|
|
<li>the recurrence exception keyword "EXRULE" is not recognized</li>
|
|
<li>timezones are not taken into account</li>
|
|
</ul>
|
|
</p>
|
|
|
|
<h3>4.5.2 Export<a name="basics_export"></a></h3>
|
|
<p>
|
|
Two possible export formats are available: <code>ical</code> and
|
|
<code>pcal</code> (see section <a href="#links_others">Links</a> below
|
|
to find out about those formats).
|
|
</p>
|
|
</div>
|
|
|
|
<h2>4.6 Ayuda en linea<a name="basics_help"></a></h2>
|
|
<p>
|
|
En cualquier momento, puedes consultar el sistema de ayuda integrado
|
|
presionando la tecla '?'. Una vez en la pantalla de ayuda,
|
|
puedes acceder a la información acerca de un comando especifico presionando
|
|
la tecla correspondiente a ese comando.
|
|
</p>
|
|
|
|
<h1>5. Opciones<a name="options"></a></h1>
|
|
<p>
|
|
Todos los parámetros de <code>calcurse</code> se peden configurar desde
|
|
el menú de Configuración disponible pulsando 'C'. Entonces aparecerá un
|
|
submenu con tres posibilidades :
|
|
pulsando 'C' de nuevo, te lleva a la configuración del esquema de colores.
|
|
Pulsando 'L' te permite elegir la disposición de la pantalla principal
|
|
de <code>calcurse</code> (en otras palabras, donde colocar los tres diferentes
|
|
paneles en pantalla),
|
|
<span class="todo">pressing 'K' opens the key bindings configuration
|
|
menu,</span>
|
|
y finalmente puedes elegir entre diferentes opciones
|
|
generales pulsando 'G'.
|
|
</p>
|
|
|
|
<h2>5.1 Opciones generales<a name="options_general"></a></h2>
|
|
<p>
|
|
Estas opciones controlan el comportamiento general en la forma
|
|
que se describe a continuación:</p>
|
|
<dl>
|
|
<dt><code>auto_guardar</code>
|
|
(por defecto: <span class="emp">si</span>)</dt>
|
|
<dd>Esta opción permite salvar automáticamente los datos del usuario
|
|
(si esta fijada en <span class="emp">si</span>) cuando se sale
|
|
del programa.
|
|
<p class="rq"><span class="valorise">aviso:</span>
|
|
Los datos no serán guardados automáticamente si
|
|
<code>auto_guardar</code> esta fijada en <span class="emp">no</span>.
|
|
Esto significa que el usuario debe pulsar 'S' (guardar) para guardar
|
|
sus modificaciones antes de salir.</p>
|
|
</dd>
|
|
|
|
<dt><code><span class="todo">periodic_save</code>
|
|
(default: <span class="emp">0</span>)</span></dt>
|
|
<dd><span class="todo">If different from '0', user's data will be automatically
|
|
saved every <span class="emp">periodic_save</span> minutes.
|
|
When an automatic save is performed, two asterisks
|
|
(i.e. '<code>**</code>') will appear on the top right-hand side
|
|
of the screen).</span>
|
|
</dd>
|
|
|
|
<dt><code>confirmar_salir</code>
|
|
(por defecto: <span class="emp">si</span>)</dt>
|
|
<dd>Si se fija en <span class="emp">si</span>, se requerirá confirmación antes de salir,
|
|
de otra forma cuando se pulse 'Q' causara que <code>calcurse</code>
|
|
se cierre sin esperar confirmación del usuario.
|
|
</dd>
|
|
<dt><code>confirmar_borrar</code>
|
|
(por defecto: <span class="emp">si</span>)</dt>
|
|
<dd>Si se fija esta opción en <span class="emp">si</span>, cuando se pulse 'D' para
|
|
borrar una anotación (bien sea un <span class="emp">ToDo
|
|
(tarea pendiente)</span>, <span class="emp">cita</span>,
|
|
o <span class="emp">evento</span>), se requerirá confirmación del usuario antes de borrar
|
|
de la lista la anotación seleccionada.
|
|
De otra forma, no será necesaria confirmación antes de borrar la anotación.
|
|
</dd>
|
|
<dt><code>saltar_dialogos_sistema</code>
|
|
(por defecto: <span class="emp">no</span>)</dt>
|
|
<dd>Fijando esta opción en <span class="emp">si</span> causará la omisión de los diálogos
|
|
del sistema relativos al guardado y carga de los datos.
|
|
Esto puede ser útil para acelerar los procesos de entrada y salida al programa.
|
|
</dd>
|
|
<dt><code>saltar_barra_progreso</code>
|
|
(por defecto: <span class="emp">no</span>)</dt>
|
|
<dd>Si se fija en <span class="emp">si</span>, ocasionara la desaparición de la barra de progreso
|
|
que normalmente se muestra cuando se salvan datos a un archivo.
|
|
Si esta fijada en <span class="emp">no</span>, se mostrará esta barra, conjuntamente con
|
|
el nombre del archivo que se esta guardando
|
|
(ver sección <a href="#basics_files">Archivos de <code>calcurse</code></a>).
|
|
</dd>
|
|
|
|
<dt><code><span class="todo">calendar_default_view</span></code>
|
|
(default: <span class="emp">0</span>)</dt>
|
|
<dd><span class="todo">If set to <span class="emp">0</span>, the monthly calendar view will be
|
|
displayed by default otherwise it is the weekly view that will be displayed.</span>
|
|
</dd>
|
|
|
|
<dt><code>empezar_semana_en_lunes</code>
|
|
(por defecto: <span class="emp">si</span>)</dt>
|
|
<dd>Uno puede elegir entre el Lunes o el Domingo como primer día de la semana.
|
|
Si la opción <span class="emp">empezar_semana_en_lunes</span> esta fijada en
|
|
<span class="emp">si</span>, el Lunes será el primer día de la semana en la vista del calendario.
|
|
Por el contrario, si esta opción esta fijada en <span class="emp">no</span>, entonces el Domingo
|
|
será el primer día de la semana.
|
|
</dd>
|
|
|
|
<dt><code><span class="todo">output_datefmt</code>
|
|
(default: <span class="emp">%D</span>)</span></dt>
|
|
<dd><span class="todo">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="emp">mm/dd/aa</span>.
|
|
You can see all of the possible formats by typing <code>man 3 strftime</code>
|
|
inside a terminal.</span></dd>
|
|
|
|
<dt><code><span class="todo">input_datefmt</code>
|
|
(default: <span class="emp">1</span>)</span></dt>
|
|
<dd><span class="todo">This option indicates the format that will be used to enter dates in
|
|
<span class="emp">calcurse</span>. Four choices are available:</span>
|
|
<ol>
|
|
<li>mm/dd/yyyy</li>
|
|
<li>dd/mm/yyyy</li>
|
|
<li>yyyy/mm/dd</li>
|
|
<li>yyyy-mm-dd</li>
|
|
</ol>
|
|
</dd>
|
|
|
|
</dl>
|
|
|
|
<div class="todo">
|
|
<h2>5.2 Key bindings<a name="options_keys"></a></h2>
|
|
<p>
|
|
One can define it's own keybindings within the 'Keys' configuration
|
|
menu. The default keys look like the one used by the <code>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 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>
|
|
<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:
|
|
<ul>
|
|
<li>lower-case, upper-case letters and numbers, such as 'a', 'Z', '0'</li>
|
|
<li>CONTROL-key followed by one of the above letters</li>
|
|
<li>escape, horizontal tab, and space keys</li>
|
|
<li>arrow keys (up, down, left, and right)</li>
|
|
<li>'HOME' and 'END' keys</li>
|
|
</ul> </p>
|
|
<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>
|
|
|
|
<h2>5.3 Color (temas)<a name="options_colors"></a></h2>
|
|
<p>
|
|
El tema de color de <code>calcurse</code> puede se configurado para
|
|
cubrir las necesidades del usuario. Para cambiar el tema por defecto, la
|
|
pagina de configuracion muestra las posibles opciones para el color de fondo
|
|
y del texto.
|
|
Usando las teclas de las flechas o las teclas de desplazamiento de calcurse
|
|
para moverse y 'X'o la barra espaciadora para seleccionar el color, el usuario
|
|
puede previsualizar el tema que se aplicara.
|
|
Tambien es posible mantener los colores por defecto del terminal seleccionando
|
|
la opcion correspondiente en la lista.</p>
|
|
<div class="todo">
|
|
<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>
|
|
<p class="rq"><span class="valorise">Notas:</span>
|
|
Dependiendo de tu tipo de terminal y del valor de la variable de
|
|
entorno <code>$TERM</code>, color puede no estar soportado.
|
|
En ese caso, si intentas cambiar los colores aparecerá un mensaje de error
|
|
puesto que tu terminal no soporta esta característica.
|
|
Si sabes que tu terminal soporta colores pero no puedes conseguir
|
|
que <code>calcurse</code> los muestre, intenta fijar tu variable <code>$TERM</code>
|
|
a otro valor. (como por ejemplo <span class="emp">xterm-xfree86</span>).
|
|
</p>
|
|
|
|
<h2>5.4 Configuración de la disposición<a name="options_layout"></a></h2>
|
|
<p>
|
|
La disposición corresponde a la posición de los paneles
|
|
dentro de la pantalla de <code>calcurse</code>. La disposición por defecto
|
|
hace que el calendario se muestre en la esquina superior derecha
|
|
del terminal, el panel de 'ToDo' (tareas pendientes) en la esquina inferior
|
|
derecha, mientras que el panel de citas se muestra en la parte izquierda
|
|
de la pantalla (ver la figura de la sección <a href="#basics_interface_interactive">Modo interactivo</a>
|
|
como ejemplo de la disposición por defecto).
|
|
Eligiendo otra disposición en la pantalla de configuración, el usuario puede
|
|
modificar la apariencia de <code>calcurse</code> que mejor se adapte a sus
|
|
necesidades colocando los diferentes paneles donde los necesite.</p>
|
|
|
|
<div class="todo">
|
|
<p>
|
|
The following option is used to modify the layout configuration:</p>
|
|
<dl>
|
|
<dt><code>layout</code>
|
|
(default: <span class="emp">0</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 class="todo">
|
|
<h2>5.5 Sidebar configuration<a name="options_sidebar"></a></h2>
|
|
<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>
|
|
<dl>
|
|
<dt><code>side-bar_width</code>
|
|
(default: <span class="emp">0</span>)</dt>
|
|
<dd>Width (in percentage, 0 being the minimum width) of the side bar.</dd>
|
|
</dl>
|
|
</div>
|
|
|
|
<h2>5.6 Ajustes de la barra de notificaciones<a name="options_notify"></a></h2>
|
|
<p>
|
|
Las siguientes opciones se usan para modificar el comportamiento de la barra de notificaciones:</p>
|
|
<dl>
|
|
<dt><code>mostrar-barra-notificaciones</code>
|
|
(por defecto: <span class="emp">si</span>)</dt>
|
|
<dd>Esta opción indica si quieres que se muestre la barra de notificaciones o no.
|
|
</dd>
|
|
<dt><code>fecha_barra-notificaciones</code>
|
|
(por defecto: <span class="emp">%a %F</span>)</dt>
|
|
<dd>Con esta opcion puedes especificar el formato que se usara para mostrar la fecha
|
|
actual dentro de la barra de notificaciones. Puedes ver todos los formatos posibles
|
|
tecleando <code>man 3 strftime</code> en un terminal.
|
|
</dd>
|
|
<dt><code>hora_barra-notificaciones</code>
|
|
(por defecto: <span class="emp">%T</span>)</dt>
|
|
<dd>Con esta opcion puedes especificar el formato que se usara para mostrar la
|
|
hora actual dentro de la barra de notificaciones. Puedes ver todos los formatos
|
|
posibles tecleando <code>man 3 strftime</code> dentro de un terminal.
|
|
</dd>
|
|
<dt><code>alarma_barra-notificaciones</code>
|
|
(por defecto: <span class="emp">300</span>)</dt>
|
|
<dd>Cuando tienes una cita dentro de los siguientes 'alarma_barra-notificaciones'
|
|
segundos, la referencia a esa cita dentro de la barra de notificaciones
|
|
comienza a parpadear.
|
|
Además, se lanzara el comando definido por la opcion <span class="emp">comando_barra-notificaciones</span>.
|
|
De esta forma, se alerta al usuario y este sabe que
|
|
detro de poco tiene una cita.
|
|
</dd>
|
|
<dt><code>comando_barra-notificaciones</code>
|
|
(por defecto: <span class="emp">printf '\a'</span>)</dt>
|
|
<dd>Esta opcion indica que comando se lanzara cuando haya una cita proxima marcada como
|
|
"inportante". Este comando sera pasado al shell del usuario que lo interpretara.
|
|
Para saber que tipo de shell debe usarse, se utilizara el contenido dela variable de
|
|
entorno <code>$SHELL</code>. Si esta variable no esta seleccionada, se usara <code>/bin/sh</code>.
|
|
<p class="rq"><span class="valorise">Ejemplo:</span>
|
|
Digamos que el comando <code>mail</code> esta disponible en el sistema del usuario, uno
|
|
puede usar este comando para ser notificado por correo electronico cuando se acerque la cita
|
|
(la descripcion de la cita se mencionara en el cuerpo del mensaje):</p>
|
|
<code>
|
|
calcurse --next | mail -s "[calcurse] upcoming appointment!" user@host.com
|
|
</code>
|
|
</dd>
|
|
|
|
<dt><code><span class="todo">notify-daemon_enable</code>
|
|
(default: <span class="emp">no</span>)</span></dt>
|
|
<dd><span class="todo">If set to yes, daemon mode will be enabled, meaning <code>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 href="#basics_daemon">'Background mode'</a>.</span>
|
|
</dd>
|
|
<dt><code><span class="todo">notify-daemon_log</code>
|
|
(default: <span class="emp">no</span>)</span></dt>
|
|
<dd><span class="todo">If set to yes, <code>calcurse</code> daemon activity will be logged (see section
|
|
<a href="#basics_files">files</a></span>).
|
|
</dd>
|
|
|
|
</dl>
|
|
|
|
<h1>6. Bugs conocidos<a name="known_bugs"></a></h1>
|
|
<p>
|
|
Aparece una incorrecta iluminación de las anotaciones cuando se usa el tema
|
|
calcurse blanco y negro conjuntamente con la variable <code>$TERM</code>
|
|
fijada a <span class="emp">xterm-color</span>.
|
|
Para solucionar este bug, y tal como fue anunciado por Thomas E. Dickey
|
|
(que mantiene <code>xterm</code>), <span class="emp">xterm-xfree86</span>
|
|
puede ser usado en vez de <span class="emp">xterm-color</span> para
|
|
fijar la variable <code>$TERM</code>:</p>
|
|
<blockquote class="rq">
|
|
"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)."
|
|
</blockquote>
|
|
|
|
<h1>7. Informar de bugs y comentarios<a name="bugs"></a></h1>
|
|
<p>
|
|
Por favor envía los informes de bugs y tus comentarios a :</p>
|
|
<pre>calcurse @ culot . org</pre>
|
|
<p>
|
|
o al autor:</p>
|
|
<pre>frederic @ culot . org</pre>
|
|
|
|
<h1>8. ¿Como contribuir?<a name="contribute"></a></h1>
|
|
<p>
|
|
Si te gustaría contribuir al proyecto, puedes enviar tus comentarios
|
|
acerca de lo que te gusta o no te gusta, y si hay alguna
|
|
funcionalidad que echas de menos en <code>calcurse</code>.
|
|
Por ahora, las posibles contribuciones están limitadas a la traducción
|
|
de la documentación y mensajes de error de <code>calcurse</code>. </p>
|
|
<p class="rq"><span class="valorise">Nota:</span>
|
|
Cualquier ayuda para la internacionalización de <code>calcurse</code>
|
|
será muy bienvenida, pero antes de contribuir envía en email a :
|
|
<code>calcurse-i18n @ culot . org</code> para saber si alguien ha empezado ya
|
|
el proceso de traducción a tu lengua.</p>
|
|
|
|
<h2>8.1 Traduciendo la documentación<a name="contribute_documentation"></a></h2>
|
|
<p>
|
|
El directorio <span class="emp">doc/</span> del paquete fuente ya contiene versiones traducidas
|
|
del manual de <code>calcurse</code>. Aunque si el manual no esta aun disponible
|
|
en tu lengua nativa, sería de gran ayuda si tu pudieses traducirlo.</p>
|
|
<p>
|
|
Para hacerlo, únicamente copia uno de los archivos de los manuales existentes
|
|
de <code>manual_XX.html</code>, donde <span class="emp">XX</span> identifica tu lengua. Entonces
|
|
traduce este nuevo archivo creado y envía un email al autor (ver <a href="#bugs">Informar
|
|
de bugs y comentarios</a>), para que pueda ser incluido en la nueva
|
|
edición de <code>calcurse</code>.</p>
|
|
|
|
<h2>8.2 <code>calcurse</code> i18n<a name="contribute_i18n"></a></h2>
|
|
<p>
|
|
Como ya se ha mencionado, las utilidades de <code>gettext</code> son usadas
|
|
por <code>calcurse</code> para producir mensajes en diferentes lenguas.
|
|
Esta sección proporciona información acerca de como traducir estos mensajes
|
|
a tu lengua nativa. Por otra parte este 'como' es deliberadamente incompleto,
|
|
centrado específicamente en trabajar con <code>gettext</code> para <code>calcurse</code>.
|
|
Para una información mas completa deberás dirigirte al manual de <code>GNU gettext</code> en:</p>
|
|
<pre>http://www.gnu.org/software/gettext/manual/</pre>
|
|
<p>
|
|
Básicamente, hay tres tipos de personas diferentes que están involucradas en la cadena de traducción:
|
|
programadores, coordinadores de lenguaje y traductores.
|
|
Después de una rápida descripción de como funcionan las cosas, las tareas del
|
|
traductor se describen a continuación.</p>
|
|
|
|
<h3>8.2.1 Descripción<a name="contribute_i18n_overview"></a></h3>
|
|
<p>
|
|
Para que se muestren mensajes en la lengua nativa del usuario, se requieren
|
|
dos pasos: <span class="emp">internacionalización</span>
|
|
(i18n) y <span class="emp">localización</span> (l10n).</p>
|
|
<p>
|
|
i18n se refiere a como hacer que
|
|
<code>calcurse</code> soporte múltiples lenguas. Esto es realizado por
|
|
programadores, quienes seleccionan los textos traducibles y
|
|
proporcionan una manera de que se muestren traducidos en el
|
|
arranque.</p>
|
|
<p>
|
|
l10n se
|
|
refiere a como hacer que el <code>calcurse</code> internacionalizado se adapte a la
|
|
lengua especifica del usuario, p.e. traduciendo las sentencias previamente
|
|
marcadas por los desarrolladores y seleccionando el entorno correcto
|
|
para que <code>calcurse</code> utilice el resultado de esta traducción.</p>
|
|
<p>
|
|
Entonces, las sentencias traducibles son primero marcadas por los programadores dentro
|
|
de el código fuente de los archivos en código <code>C</code>, y después recogidas en un archivo
|
|
plantilla (<span class="emp">calcurse.pot</span> - la extensión <span class="emp">pot</span> significa
|
|
<span class="emp">portable object template</span>). El contenido de
|
|
esta plantilla es entonces combinado con los ficheros de traducción
|
|
para cada lengua (<span class="emp">fr.po</span> para francés por ejemplo -
|
|
donde <span class="emp">po</span> significa <span class="emp">portable object</span>, lo cual quiere decir
|
|
que puede ser leído y editado por humanos). Un equipo de traducción dado,
|
|
cogería este archivo, traduciría estas sentencias y se las mandaría de nuevo
|
|
a los desarrolladores. En el momento de la compilación, una versión binaria
|
|
de esta archivo (por razones de eficacia) producirá
|
|
(<span class="emp">fr.mo</span> - donde <span class="emp">mo</span> significa <span class="emp">machine
|
|
object</span>, lo que quiere decir que puede ser leído por programas), y entonces
|
|
instalado. Ahora <code>calcurse</code> utilizara este archivo en el arranque,
|
|
traduciendo las sentencias acorde con la configuración del locale del usuario.
|
|
</p>
|
|
|
|
<h3>8.2.2 Tareas del traductor<a name="contribute_i18n_translator"></a></h3>
|
|
<p>
|
|
Supongamos que alguien quiere iniciar la traducción de una nueva lengua.
|
|
Estos son los pasos a seguir:</p>
|
|
<ul>
|
|
<li>Primero, localiza cual es el nombre del locale. Por ejemplo, para francés
|
|
es 'fr_FR', o simplemente 'fr'. Este es el valor que el usuario deberá poner
|
|
es su variable de entorno <code>LC_ALL</code> para que el software sea traducido
|
|
(ver <a href="#basics_invocation_variable">Variable de entorno para i18n</a>).</li>
|
|
<li>Entonces, entra en el directorio <span class="emp">po/</span> y crea un nuevo archivo-po
|
|
desde el archivo plantilla usando el siguiente comando:
|
|
<code>'msginit -i calcurse.pot -o fr.po -l fr --no-translator'</code>
|
|
Si no tienes instalado <code>msginit</code> en tu sistema,
|
|
simplemente copia el archivo <span class="emp">calcurse.pot</span> a
|
|
<span class="emp">fr.po</span> y edita la cabecera a mano.</li>
|
|
</ul>
|
|
<p>
|
|
Ahora, teniendo el archivo <span class="emp">fr.po</span>, estas preparado para empezar.
|
|
</p>
|
|
|
|
<h3>8.2.3 Archivos-po<a name="contribute_i18n_po-files"></a></h3>
|
|
<p>
|
|
El formato de los archivos-po es muy simple. De hecho, los archivos-po
|
|
están formados de cuatro cosas:</p>
|
|
<ol>
|
|
<li><span class="emp">lineas de localización:</span> te dicen donde están las sentencias
|
|
(nombre del archivo y numero de linea), en caso de que necesites un poco
|
|
mas de contexto.</li>
|
|
<li><span class="emp">lineas msgid:</span> las sentencias a traducir.</li>
|
|
<li><span class="emp">lineas msgstr:</span> las sentencias traducidas.</li>
|
|
<li><span class="emp">lineas con prefijo '#':</span> comentarios (algunos con un significado
|
|
especial, como veremos más abajo).</li>
|
|
</ol>
|
|
<p>
|
|
Básicamente, todo lo que tienes que hacer es llenar las lineas <span class="emp">msgstr</span>
|
|
con la traducción de la linea <span class="emp">msgid</span> de encima.</p>
|
|
<p>
|
|
<span class="valorise">Algunas notas:</span>
|
|
<dl>
|
|
<li><span class="emp">Sentencias Fuzzy</span></dt>
|
|
<dd>Encontraras sentencias marcadas con un comentario <code>"#, fuzzy"</code>.
|
|
<code>calcurse</code> no utilizara las traducciones de ese tipo de sentencias
|
|
hasta que tu elimines este comentario. Si una sentencia es fuzzy
|
|
significa que ya ha sido traducida pero que desde entonces ha sido
|
|
cambiada en el código fuente del programa, o que es una nueva sentencia para la cual
|
|
<code>gettext</code> ha hecho una traducción 'forzosa' basada en otras sentencias
|
|
del archivo. Esto quiere decir que tu debes revisar la traducción.
|
|
Algunas veces, la sentencia original ha cambiado solo porque se ha arreglado
|
|
una tipografía. En ese caso, tu no tienes que cambiar nada. Pero a veces, la
|
|
traducción puede no ser muy precisa y necesitara ser modificada.
|
|
Una vez que has acabado y estas satisfecho con la traducción, tan solo elimina
|
|
el comentario <code>"#, fuzzy"</code> y la traducción podrá ser usada de nuevo
|
|
en <code>calcurse</code>.</dd>
|
|
<dt><span class="emp">Sentencias c-format y sentencias especiales</span></dt>
|
|
<dd>Algunas sentencias tienen el siguiente comentario: <code>"#,
|
|
c-format"</code>. Esto te esta diciendo que partes de la sentencia a traducir
|
|
tienen un significado especial para el programa, puede ser que la sentencia
|
|
contenga alguna variable, como por ejemplo % , si ves algo como esto <code>"%s"</code>,
|
|
eso quiere decir que el programa remplazara esta variable por algún valor o por otra
|
|
sentencia. En ese caso, puedes traducir el resto de la sentencia pero sin modificar las
|
|
variables que pueda contener. También hay sentencias que contienen \ , como por ejemplo
|
|
<code>\n</code> o <code>\t</code>, lo primero significa un final de linea y
|
|
lo otro una tabulación, así pues, puedes traducir la sentencia pero con cuidado de no
|
|
modificar estos símbolos.</dd>
|
|
<dt><span class="emp">Las traducciones pueden ser excesivamente largas</span></dt>
|
|
<dd>Si las lineas son demasiado largas, pueden ser partidas de la siguiente forma:
|
|
<pre>
|
|
msgid ""
|
|
"alguna linea muy larga"
|
|
"otra linea"
|
|
</pre></dd>
|
|
<dt><span class="emp">Cabecera del archivo-po</span></dt>
|
|
<dd>Al principio del archivo-po, la primera sentencia forma una cabecera,
|
|
donde hay varios tipos de información. Lo mas importante es el 'charset'. Suele parecerse
|
|
a esto:
|
|
<pre>
|
|
"Content-Type: text/plain; charset=utf-8\n"
|
|
</pre>
|
|
Debes cumplimentar también el campo 'Last-Translator' (último traductor), para que
|
|
los potenciales contribuidores puedan contactar contigo si ellos quieren colaborar
|
|
en el equipo de traducción, o hacer algún tipo de corrección sobre las traducciones.
|
|
Puedes poner solo tu nombre/nick o añadir tu dirección de email, por ejemplo:
|
|
<pre>
|
|
"Last-Translator: Frederic Culot <frederic@culot.org>\n"
|
|
</pre></dd>
|
|
<dt><span class="emp">Comentarios</span></dt>
|
|
<dd>Añadir comentarios (lineas que comiencen con el carácter '#') puede ser una buena manera
|
|
de evitar problemas o dificultades a los correctores u otros miembros de tu equipo.</dd>
|
|
<dt><span class="emp">Tamaño de las sentencias</span></dt>
|
|
<dd><code>calcurse</code> es un programa basado en curses/consola, así que puede ser muy dependiente
|
|
del tamaño del terminal donde se ejecute (numero de columnas). Piensa en ello cuando lo traduzcas.
|
|
A menudo una sentencia puede colocarse en una sola linea (la longitud standard es de 80 caracteres).
|
|
No traduzcas a lo loco, intenta ver donde se mostrara la sentencia y adapta a ello tu traducción.
|
|
</dd>
|
|
<dt><span class="emp">Algunas herramientas útiles</span></dt>
|
|
El formato de los archivos-po es muy simple, y puede ser editado con casi cualquier editor, pero
|
|
si lo prefieres, hay unas pocas herramientas especializadas que pueden resultarte
|
|
interesantes para traducir:
|
|
<ul>
|
|
<li><code>poEdit</code> (<a
|
|
href="http://www.poedit.org/" target="_blank">
|
|
http://www.poedit.org/</a>)</li>
|
|
<li><code>KBabel</code> (<a
|
|
href="http://i18n.kde.org/tools/kbabel/" target="_blank">
|
|
http://i18n.kde.org/tools/kbabel/</a>)</li>
|
|
<li><code>GTranslator</code> (<a
|
|
href="http://gtranslator.sourceforge.net/" target="_blank">
|
|
http://gtranslator.sourceforge.net/</a>)</li>
|
|
<li><code>Emacs</code> en modo po</li>
|
|
<li><code>Vim</code> en modo po</li>
|
|
</ul>
|
|
</dd>>
|
|
<dt><span class="emp">Y finalmente</span></dt>
|
|
<dd>Espero que te hayas divertido contribuyendo a un mundo mas internacionalizado :) Si tienes alguna
|
|
pregunta no dudes en contactar conmigo en
|
|
<span class="emp">frederic @ culot . org</span>.</dd>
|
|
</dl>
|
|
|
|
<h1>9.Enlaces<a name="links"></a></h1>
|
|
<p>
|
|
Esta sección contiene enlaces y referencias que pueden ser de tu interés.
|
|
</p>
|
|
|
|
<h2>9.1 Pagina web de <code>calcurse</code><a name="links_homepage"></a></h2>
|
|
<p>
|
|
La pagina web de <code>calcurse</code> es: </p>
|
|
<pre>http://culot.org/calcurse</pre>
|
|
|
|
<h2>9.2 Lista de anuncios de <code>calcurse</code><a name="links_list"></a></h2>
|
|
<p>
|
|
Si estas interesado en el proyecto y quieres ser avisado
|
|
cuando salga una nueva versión, puedes suscribirte a la
|
|
lista de anuncios de <code>calcurse</code>. Si lo haces, recibirás
|
|
un email tan pronto como una nueva funcionalidad se añada a
|
|
<code>calcurse</code>.</p>
|
|
<p>
|
|
Para suscribirte a la lista, envía un email a :
|
|
<span class="emp">calcurse-announce @ culot . org</span> poniendo "subscribe"
|
|
en el asunto.</p>
|
|
|
|
<h2>9.3 <code>calcurse</code> RSS feed<a name="links_rss"></a></h2>
|
|
<p>
|
|
Otra posibilidad para enterarte de cuando aparecen nuevas versiones de Calcurse
|
|
es seguir el RSS feed en:</p>
|
|
<pre>http://culot.org/calcurse/news_rss.xml</pre>
|
|
<p>
|
|
Este RSS feed es actualizado cada vez que hay una nueva version de Calcurse disponible
|
|
describiendo las nuevas caracteristicas.</p>
|
|
|
|
<h2><div class="todo">9.4 Other links</div><a name="links_others"></a></h2>
|
|
<div class="todo">
|
|
<p>
|
|
You may want to look at the ical format specification (rfc2445) at:
|
|
<pre>http://tools.ietf.org/html/rfc2445</pre>
|
|
<p>
|
|
The pcal project page can be found at:
|
|
<pre>http://pcal.sourceforge.net/</pre>
|
|
</div>
|
|
|
|
<h1>10. Gracias a ...<a name="thanks"></a></h1>
|
|
<p>
|
|
Es la hora de dar las gracias a personas sin las que este programa
|
|
¡ no existiría ! Por eso esta es una lista de las personas que contribuyeron
|
|
y a las que me gustaría dar las gracias :
|
|
<ul>
|
|
<li>Alex por sus patches, ayuda y notas con la programación <code>C</code></li>
|
|
<li>Gwen por probarlo y las discusiones sobre como mejorar <code>calcurse</code></li>
|
|
<li>Herbert por hacer el paquete <code>calcurse</code> para FreeBSD</li>
|
|
<li>Zul por hacer el paquete <code>calcurse</code> para NetBSD</li>
|
|
<li>Wain, Steffen y Ronald por hacer el paquete <code>calcurse</code> para Archlinux</li>
|
|
<li>Kevin, Ryan, y fEnIo por hacer el paquete para <code>calcurse</code>
|
|
para Debian y Ubuntu</li>
|
|
<li>Pascal por hacer el paquete <code>calcurse</code> para Slackware</li>
|
|
<li>Alexandre por hacer el paquete <code>calcurse</code> para Mac OsX y
|
|
Darwin</li>
|
|
<li>Igor por hacer el paquete <code>calcurse</code> para ALT Linux</li>
|
|
<li>Joel por su script del calendario que inspiro la vista de calendario de <code>calcurse</code> </li>
|
|
<li>Michael Schulz y Chris M. por la traducción al alemán de <code>calcurse</code> y su manual</li>
|
|
<li>Neil Williams por la traducción al ingles</li>
|
|
<li>Tony por el patch que me ha ayudado a implementar la funcion recur_item_inday()
|
|
<span class="todo">, and for implementing the date format configuration options</span></li>
|
|
<li>José López por la traducción al Español de <code>calcurse</code> y su manual</li>
|
|
<li>Jeremy Roon por la traducción al holandes</li>
|
|
<li>Leandro Noferini por la traducción al italiano</li>
|
|
<li><div class="todo">Erik Saule for its patch implementing the '-N', '-s', '-S', '-r' and '-D' flags</div></li>
|
|
<li>a la gente que ha escrito softwares que me gustan y que me inspiraron, especialmente :
|
|
<ul>
|
|
<li><code>vim</code> por las teclas de desplazamiento</li>
|
|
<li><code>orpheus</code> y <code>abook</code> por la documentación</li>
|
|
<li><code>pine</code> and <code>aptitude</code>
|
|
por la interfaz de usuario</li>
|
|
<li><span class="todo"><code>tmux</code> for coding style</span></li>
|
|
</ul></li>
|
|
</ul>
|
|
</p>
|
|
<p>
|
|
Y por último, muchas muchas gracias a todos los usuarios de <code>calcurse</code>
|
|
que me han enviado sus comentarios.</p>
|
|
|
|
<div class="footer">
|
|
Copyright © 2004-2010 Frédéric Culot<br>
|
|
Traducido al Español por José López
|
|
<code><testinground .at. gmail .dot. com></code><br>
|
|
Calcurse version 2.8 - Last change: March 29, 2010<br>
|
|
</div>
|
|
</div>
|
|
|
|
</body>
|
|
</html>
|