CALCURSE - organizador basado en modo texto
calcurse básicos
	calcurse es un organizador personal que te 
	ayuda a mantener un seguimiento de tus eventos y tareas diarias.
	Contiene un calendario, una lista de tareas pendientes (ToDo) y mantiene
	tus citas de forma ordenada. La interfaz de usuario es  
	configurable y puedes elegir entre diferentes esquemas de 
	color y disposiciones. Todos los comandos están documentados a 
	través de un sistema de ayuda en linea.
  	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 ;-)
	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 C 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 C ! Por desgracia acabe mi doctorado antes de
	acabar calcurse, pero de todas formas aun quería 
	trabajar en el y esperaba que pudiese ser de ayuda a otra gente.
	Y aquí esta...
	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.
	
	
        Calcurse 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.
	Calcurse 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 calcurse, 
	con los argumentos apropiados en la linea de comando, en el crontab
	o mediante un sell init script.
	Por otra parte, calcurse 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.
	
ncurses
	Calcurse requiere solo un compilador C, como 
        cc o gcc, y la librería ncurses.
        Sería muy sorprendente no tener una librería ncurses
        valida ya instalada en tu ordenador, pero si no la tienes, puedes  
        encontrarla en la siguiente dirección :
	
http://ftp.gnu.org/pub/gnu/ncurses/
gettext
        calcurse soporta internacionalización
        ( de aquí en adelante i18n) con las 
	utilidades gettext. 
	Esto significa que calcurse puede producir
        mensajes en diferentes lenguas si esta compilado con el soporte 
	para lengua nativa (p.e. NLS). Por otra parte, 
	NLS es opcional, si tu no quieres tener soporte 
        para esta característica, basta con que utilices la opción --disable-nls  
	en el comando configure (ver la sección Proceso de instalación). 
        Para comprobar si las utilidades gettext están 
        instaladas en tu sistema, puedes buscar el archivo cabecera
        libintl.h, por ejemplo :
        
                locate libintl.h
        
        Si este archivo cabecera no se encuentra, entonces puedes obtener
        las fuentes de gettext en la siguiente dirección :
                 http://ftp.gnu.org/pub/gnu/gettext/
        
        Nota: Incluso si libintl.h se encuentra en tu
        sistema, puede ser necesario especificar su localización durante el proceso de instalación, utilizando la opción
        --with-libintl-prefix en el comando 
        configure. De hecho, el comando configure
        puede fallar al tratar de localizar esta librería si esta instalada en
        un lugar infrecuente.
 
Primero necesitas descomprimir ( gunzip y untar) el archivo fuente:
tar zxvf calcurse-1.7.tar.gzUna 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:
./configure
  	make
  	make install (puede requerir privilegios de administrador)
	./configure --help para obtener una lista de posibles 
	opciones.
calcurse básicos
        calcurse acepta las siguientes opciones en la 
        linea de comando (ambas opciones, cortas y largas estan soportadas):
        
-a, --appointment
	-c <file>, --calendar <file>
	~/.calcurse/apts 
	(ver la sección Archivos de calcurse).-d <date|num>, --day <date|num>
	calcurse -d  3  
	mostrara tus citas y eventos para hoy, mañana y pasado mañana.-h, --help
	-n, --next
	-t[num], --todo[=num]
	numero, se mostraran todas las tareas pendientes que tengan la prioridad
	igual a numero.-v, --version
	calcurse y sale.
	
        calcurse puede ser compilado son soporte para lenguaje
        nativo (ver librería gettext
        ). Así, si quieres ver los mensajes en tu lengua nativa, primero comprueba 
	que esta disponible mirando en el fichero po/LINGUAS. 
        Este fichero indica la lista de lenguas disponibles mostrando el código de dos 
        letras correspondiente (por ejemplo, es sería para español).  
	Si no encuentras tu lengua, tu ayuda seria muy apreciada si pudieses traducir 
        calcurse (ver la sección ¿Como puedo ayudar?.
        Si tu lengua esta disponible, arranca calcurse con el siguiente comando:
        
                LC_ALL=es_ES calcurse
        
        donde es_ES es el nombre locale en este ejemplo, pero puede ser remplazado
        por el locale correspondiente a la lengua deseada.calcurse
	utilizando el siguiente comando:
	LC_ALL=es_ES.ISO8859-1 calcurse
        Cuando es llamado por lo menos con uno de los siguientes argumentos:
        -a, -d, -h, 
        -n, -t, -v
        calcurse arranca en modo no-interactivo.
        Esto significa que se mostrara la información deseada, y 
        después de esto, calcurse simplemente se cierra y eres 
        de nuevo devuelto al prompt del shell.
        De esta forma, uno puede añadir una linea como 
	'calcurse --todo --appointment' 
        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.
        
        Cuando es llamado sin ningún argumento o solo con la opción
        -c, calcurse 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).
        
   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
        
        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.
	Nota: Algunas acciones, como editar o añadir un elemento,
	requieren teclear algo de texto. Esto se hace con la ayuda del editor incorporado.
	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.
	Por otra parte, hay algunos caracteres que se utilizan para editar.
	Aqui se indican los comandos de edicion disponibles 
	('^' significa la tecla "control"):
	
calcurse
        La siguiente estructura se crea en tu directorio $HOME  
	la primera vez que se ejecuta calcurse :
	
        $HOME/.calcurse/
                  |___conf
                  |___apts
                  |___todo
        
        El archivo conf contiene la configuración del usuario.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.
	Todos los parámetros de calcurse 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 calcurse (en otras palabras, donde colocar los tres diferentes 
	paneles en pantalla), y finalmente puedes elegir entre diferentes opciones 
	generales pulsando 'G'.
Estas opciones controlan el comportamiento general en la forma que se describe a continuación:
auto_guardar  (por defecto: si)auto_guardar esta fijada en no. Esto significa que 
	el usuario debe pulsar 'S' (guardar) para guardar sus modificaciones
	antes de salir.confirmar_salir (por defecto: si)calcurse 
	se cierre sin esperar confirmación del usuario.confirmar_borrar (por defecto: si)saltar_dialogos_sistema (por defecto: no)saltar_barra_progreso (por defecto: no)calcurse).empezar_semana_en_lunes (por defecto: si)
        El tema de color de calcurse es configurable 
        y puede elegirse tecleando el numero correspondiente  al tema deseado.
        Este color puede entonces ser aplicado a los bordes del panel,
        a los títulos, a los atajos de teclado, y a las informaciones generales 
        mostradas en el interior de la barra de estado. También esta disponible 
        un tema en blanco y negro para los terminales que no soportan colores.
        Notas: 
        
$TERM, 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.calcurse los muestre, intenta fijar tu variable $TERM 
        a otro valor. (como por ejemplo xterm-xfree86).
        
        La disposición corresponde a la posición de los paneles
        dentro de la pantalla de calcurse. 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 Modo interactivo
        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 calcurse que mejor se adapte a sus
        necesidades colocando los diferentes paneles donde los necesite.
Las siguientes opciones se usan para modificar el comportamiento de la barra de notificaciones:
mostrar-barra-notificaciones (por defecto: si)fecha_barra-notificaciones (por defecto: %a %F)hora_barra-notificaciones (por defecto: %T)alarma_barra-notificaciones (por defecto: 300)
        Aparece una incorrecta iluminación de las anotaciones cuando se usa el tema 
        calcurse blanco y negro conjuntamente con la variable $TERM 
        fijada a xterm-color.
        Para solucionar este bug, y tal como fue anunciado por Thomas E. Dickey 
        (que mantiene xterm), xterm-xfree86 
        puede ser usado en vez de xterm-color para fijar la variable $TERM
        
"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)."
Por favor envía los informes de bugs y tus comentarios a :
        calcurse@culot.org
        
        o al autor:
        
        frederic@culot.org
        
        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 calcurse.
        Por ahora, las posibles contribuciones están limitadas a la traducción
        de la documentación y mensajes de error de calcurse. 
        
        Nota: Cualquier ayuda para la internacionalización de calcurse
        será muy bienvenida, pero antes de contribuir envía en email a :
        calcurse-i18n@culot.org para saber si alguien ha empezado ya 
        el proceso de traducción a tu lengua.
        El directorio doc/ del paquete fuente ya contiene versiones traducidas 
        del manual de calcurse. Aunque si el manual no esta aun disponible
        en tu lengua nativa, sería de gran ayuda si tu pudieses traducirlo.
        Para hacerlo, únicamente copia uno de los archivos de los manuales existentes 
        de manual_XX.html, donde XX identifica tu lengua. Entonces
        traduce este nuevo archivo creado y envía un email al autor (ver Informar 
        de bugs y comentarios), para que pueda ser incluido en la nueva edición de calcurse.
calcurse i18n
        Como ya se ha mencionado, las utilidades de gettext son usadas 
        por calcurse 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 gettext para calcurse.
        Para una información mas completa deberás dirigirte al manual de GNU gettext en:
        
                http://www.gnu.org/software/gettext/manual/
        
        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.
        Para que se muestren mensajes en la lengua nativa del usuario, se requieren
        dos pasos: internacionalización
        (i18n) y localización (l10n).  i18n se refiere a como hacer que 
        calcurse 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.  l10n se
        refiere a como hacer que el calcurse 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 calcurse utilice el resultado de esta traducción.
 
        Entonces, las sentencias traducibles son primero marcadas por los programadores dentro 
        de el código fuente de los archivos en código C, y después recogidas en un archivo 
        plantilla (calcurse.pot - la extensión pot significa
        portable object template). El contenido de 
        esta plantilla es entonces combinado con los ficheros de traducción
        para cada lengua (fr.po para francés por ejemplo -
        donde po significa portable object, 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á 
        (fr.mo - donde mo significa machine
        object, lo que quiere decir que puede ser leído por programas), y entonces
        instalado. Ahora calcurse utilizara este archivo en el arranque, 
        traduciendo las sentencias acorde con la configuración del locale del usuario.
Supongamos que alguien quiere iniciar la traducción de una nueva lengua. Estos son los pasos a seguir:
LC_ALL para que el software sea traducido
        (ver Variable de entorno para i18n).
                'msginit -i calcurse.pot -o fr.po -l fr --no-translator'
        
        Si no tienes instalado msginit en tu sistema,
        simplemente copia el archivo calcurse.pot a
        fr.po y edita la cabecera a mano.El formato de los archivos-po es muy simple. De hecho, los archivos-po están formados de cuatro cosas:
Algunas notas:
"#, fuzzy". 
        calcurse 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
        gettext 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 "#, fuzzy" y la traducción podrá ser usada de nuevo 
        en calcurse."#,
        c-format".  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 "%s", 
        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
        \n o \t, 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.
                msgid ""
                "alguna linea muy larga"
                "otra linea"
        
        
                "Content-Type: text/plain; charset=utf-8\n"
        
        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:
        
                "Last-Translator: Frederic Culot <frederic@culot.org>\n"
        
        calcurse 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.poEdit (
           http://www.poedit.org/)
           KBabel (
           http://i18n.kde.org/tools/kbabel/)
           GTranslator (
           http://gtranslator.sourceforge.net/)
           Emacs en modo po
           Vim en modo po
           Esta sección contiene enlaces y referencias que pueden ser de tu interés.
calcurse
	La pagina web de calcurse es:  
	
http://culot.org/calcurse
calcurse
	Si estas interesado en el proyecto y quieres ser avisado  
	cuando salga una nueva versión, puedes suscribirte a la 
	lista de anuncios de calcurse. Si lo haces, recibirás 
        un email tan pronto como una nueva funcionalidad se añada a 
        calcurse.
	Para suscribirte a la lista, envía un email a : 
	calcurse-announce@culot.org poniendo "subscribe" 
	en el asunto. 
calcurse RSS feedOtra posibilidad para enterarte de cuando aparecen nuevas versiones de Calcurse es seguir el RSS feed en:
http://culot.org/calcurse/news_rss.xmlEste RSS feed es actualizado cada vez que hay una nueva version de Calcurse disponible describiendo las nuevas caracteristicas.
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 :
C 
	calcurse
	calcurse para FreeBSD
	calcurse para NetBSD
	calcurse para Archlinux
	calcurse
	para Debian y Ubuntu
	calcurse para Archlinux
	calcurse para Slackware
	calcurse para Mac OsX y
	Darwin
	calcurse para ALT Linux
	calcurse 
	calcurse y su manual
	calcurse y su manual
	vim por las teclas de desplazamiento
		orpheus y abook por la documentación
		pine and aptitude 
	        por la interfaz de usuario
		calcurse
        que me han enviado sus comentarios.
<testinground.at.gmail.dot.com>