From 3e15efe917b2a481473568ad95a386def55d34af Mon Sep 17 00:00:00 2001 From: Lukas Fleischer Date: Thu, 24 Feb 2011 11:36:50 +0000 Subject: Convert documentation to AsciiDoc, delete translations. --- ChangeLog | 10 + Makefile.am | 13 +- configure.ac | 31 +- doc/Makefile.am | 18 + doc/manual.css | 355 ------------ doc/manual.txt | 1112 ++++++++++++++++++++++++++++++++++++ doc/manual_de.html | 1327 ------------------------------------------- doc/manual_en.html | 1331 ------------------------------------------- doc/manual_es.html | 1347 -------------------------------------------- doc/manual_fr.html | 1505 ------------------------------------------------- doc/manual_it.html | 1587 ---------------------------------------------------- doc/manual_nl.html | 1350 -------------------------------------------- 12 files changed, 1172 insertions(+), 8814 deletions(-) create mode 100644 doc/Makefile.am delete mode 100644 doc/manual.css create mode 100644 doc/manual.txt delete mode 100644 doc/manual_de.html delete mode 100644 doc/manual_en.html delete mode 100644 doc/manual_es.html delete mode 100644 doc/manual_fr.html delete mode 100644 doc/manual_it.html delete mode 100644 doc/manual_nl.html diff --git a/ChangeLog b/ChangeLog index ccadb78..2c52d77 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2011-02-12 Lukas Fleischer + + * doc/manual_en.txt: Convert English manual into AsciiDoc format. + + * doc/*: Remove old documentation (switching to AsciiDoc). + + * Makefile.am + * configure.ac + * doc/Makefile.am: Integrate AsciiDoc into the build process. + 2011-01-14 Lukas Fleischer * src/help.c: Avoid a segfault when resizing the help window diff --git a/Makefile.am b/Makefile.am index eca73b2..dfd1bc5 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,21 +1,14 @@ -# $calcurse: Makefile.am,v 1.7 2010/03/22 12:40:16 culot Exp $ +# $calcurse: Makefile.am,v 1.8 2011/02/24 11:36:50 fleischer Exp $ AUTOMAKE_OPTIONS= foreign ACLOCAL_AMFLAGS = -I m4 -SUBDIRS = po src +SUBDIRS = doc po src man_MANS= src/calcurse.1 EXTRA_DIST = \ $(man_MANS) \ INSTALL \ - ABOUT-NLS \ - doc/manual.css \ - doc/manual_en.html \ - doc/manual_fr.html \ - doc/manual_de.html \ - doc/manual_es.html \ - doc/manual_nl.html \ - doc/manual_it.html + ABOUT-NLS diff --git a/configure.ac b/configure.ac index 9be24fc..246f3d6 100644 --- a/configure.ac +++ b/configure.ac @@ -1,4 +1,4 @@ -# $calcurse: configure.ac,v 1.36 2010/05/26 17:59:57 culot Exp $ +# $calcurse: configure.ac,v 1.37 2011/02/24 11:36:50 fleischer Exp $ #------------------------------------------------------------------------------- # Init @@ -68,6 +68,33 @@ AC_CHECK_HEADERS([math.h], [ AC_MSG_ERROR(The math library is required in order to build calcurse!)) ], AC_MSG_ERROR(The math header is required in order to build calcurse!)) #------------------------------------------------------------------------------- +# Check whether to build documentation +#------------------------------------------------------------------------------- +AC_ARG_WITH(asciidoc, + AS_HELP_STRING([--with-asciidoc], + [Use asciidoc to regenerate documentation.]), + [use_asciidoc=$withval], + [use_asciidoc="auto"]) +if test x"$use_asciidoc" = x"auto"; then + AC_PATH_PROG([ASCIIDOC], [asciidoc]) + if test -z "$ASCIIDOC"; then + have_asciidoc=no + AC_MSG_WARN([AsciiDoc not found - documentation will be skipped!]) + else + have_asciidoc=yes + fi +elif test x"$use_asciidoc" = x"yes"; then + AC_PATH_PROG([ASCIIDOC], [asciidoc]) + if test -z "$ASCIIDOC"; then + AC_MSG_ERROR([AsciiDoc not found and "--with-asciidoc" specified!]) + fi + have_asciidoc=yes +elif test x"$use_asciidoc" = x"no"; then + AC_MSG_WARN(["--without-asciidoc" specified - documentation will be skipped!]) + have_asciidoc=no +fi +AM_CONDITIONAL(HAVE_ASCIIDOC, test $have_asciidoc = yes) +#------------------------------------------------------------------------------- # Compilation options #------------------------------------------------------------------------------- CFLAGS="$CFLAGS -Wall" @@ -90,7 +117,7 @@ AM_CONDITIONAL(CALCURSE_MEMORY_DEBUG, test x$memdebug = xyes) #------------------------------------------------------------------------------- # Create Makefiles #------------------------------------------------------------------------------- -AC_OUTPUT(Makefile src/Makefile po/Makefile.in po/Makefile) +AC_OUTPUT(Makefile doc/Makefile src/Makefile po/Makefile.in po/Makefile) #------------------------------------------------------------------------------- # Summary #------------------------------------------------------------------------------- diff --git a/doc/Makefile.am b/doc/Makefile.am new file mode 100644 index 0000000..32e99e2 --- /dev/null +++ b/doc/Makefile.am @@ -0,0 +1,18 @@ +# $calcurse: Makefile.am,v 1.1 2011/02/24 11:36:50 fleischer Exp $ + +AUTOMAKE_OPTIONS = foreign + +ASCIIDOC_ARGS = \ + -n \ + -a toc \ + -a icons + +doc_DATA = \ + manual.html + +docdir = $(datadir)/doc/$(PACKAGE) + +.txt.html: +if HAVE_ASCIIDOC + $(AM_V_GEN) $(ASCIIDOC) $(ASCIIDOC_ARGS) $< +endif diff --git a/doc/manual.css b/doc/manual.css deleted file mode 100644 index d84028b..0000000 --- a/doc/manual.css +++ /dev/null @@ -1,355 +0,0 @@ -/* $calcurse: manual.css,v 1.5 2009/07/05 20:32:47 culot Exp $ */ - -/* - * Calcurse - text-based organizer - * - * Copyright (c) 2008 Frederic Culot - * 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. - */ - -body { - margin: 0; - padding: 0; - padding-top: 10px; - text-align: center; -} - - -@media screen { - #mainContent{ - width: 70%; - overflow: auto; - } - body { - overflow: auto; - background-color: #d3d3d3; - } - pre { - margin-left: 2.5cm; - margin-right: 2cm; - } -} - -@media print { - #mainContent{ - width: 90%; - overflow: visible; - } - body { - overflow: visible; - background-color: #ffffff; - } - pre { - margin-left: -1cm; - margin-right: 2cm; - } -} - -#mainContent{ - margin-right: auto; - margin-left: auto; - padding-left: 10px; - padding-right: 10px; - margin-bottom: 1em; - border: 1px solid gray; - text-align: left; - font-family: arial, helvetica, verdana, sans-serif; - font: 10px/12px cursive; - background-color: white; -} - -#title { - text-align: center !important; - font: 24px/20px cursive !important; -} - -div#mainContent h1 { - text-align: left; - padding: 0.5em; - padding-top: 1em; - font: 20px/16px cursive; -} - -div#mainContent h2 { - margin-left: 1.5cm; - padding-top: 0.5em; -} - -div#mainContent h2, h3 { - margin-bottom: 0; - padding-bottom: 0.3em; -} - -div#mainContent h2 { - font: 14px/14px cursive; -} - -div#mainContent h3 { - font: 12px/12px cursive; -} - -p, blockquote { - text-align: justify; - text-indent: 1cm; - margin-top: 0; -} - -h3, p, div.bib, ul, ol, dl, blockquote { - margin-left: 2.5cm; - margin-right: 2cm; -} - -ul, ol, dl { - margin-top: 0; - margin-bottom: 1em; -} - -dl.compact dt { - float: left; -} - -dl.compact dd { - margin-bottom: 0.5em; -} - -dd { - margin-bottom: 1em; -} - -ul.sub, ol.sub, dl.sub { - margin-left: 0; - list-style: circle; -} - -li { - margin-top: 0.1em; - margin-bottom: 0.1em; -} - -pre { - display: block; - border-left: 1px solid gray; - padding-left: 2em; - margin-right: 2cm; -} - -code { - font-family: monospace; - font-weight: bold; -} - -table { - border-style: solid; - border-collapse: collapse; - border-width: 1px; -} - -div.tab { - padding: 1.5em; - margin-left: 4.5cm; - margin-right: 2cm; -} - -img { - border-style: none; -} - -div.img { - text-align: center; -} - -tr, td, thead, tbody { - margin: 0; -} - -thead { - background-color: gray; - color: black; - text-align: center; -} - -td { - border-style: solid; - border-width: 1px; -} - -span.main { - border-style: none; - border-bottom-style: dashed; - border-bottom-width: 1.5px; - padding: 0.2em; -} - -#toc { - margin-top: 1.5cm; - margin-bottom: 1cm; - padding-top: 0; - padding-bottom: 0.2cm; - border-width: 0; - border-left-width: 1cm; - border-left-color: gray; - border-style: solid; -} - -#toc h1 { - font: 12px/12px cursive; -} - -#toc a { - text-decoration: none; - color: black; -} - -a { - color: black; -} - -#toc li { - list-style-type: none; - margin-top: 0; - margin-bottom: 0; -} - -#toc ul ul li { - margin-top: 0; - margin-bottom: 0; -} - -#toc ul ul ul li { - margin-left: -0.5cm; -} - -#toc ul { - margin-top: 0; - margin-bottom: 0; - margin-left: 0; - padding-left: 1cm; -} - -.todo { - color: green; -} - -div.warn { - margin-top: 1cm; - margin-bottom: 1cm; - border-style: solid; - border-width: thin; - padding: 0.5em; - text-align: justify; -} - -div.warn h1 { - display: inline; - padding: 0.5em; - margin: 0; - font: 8px/10px cursive; -} - -div.res { - text-align: center; -} - -span.res { - border-width: thin; - border-style: solid; -} - -div.footer { - margin: 20px; - margin-left: 4%; - margin-top: 2cm; - border-width: 0; - border-style: solid; - border-top-width: medium; - font-style: italic; - text-align: right; -} - -p.abstract { - margin-left: 3cm; - margin-right: 3cm; -} - -.rq { - text-indent: 0; - font-style: italic; - border-style: solid; - border-width: medium; - border-left-width: 0; - border-top-width: 0; - border-color: gray; - padding: 0.4em; -} - -dl .rq, ol .rq, ul .rq { - margin-left: 0; - margin-right: 0; - border: 0; -} - -p.time { - text-indent: 0; - font-style: italic; - border-style: solid; - border-width: medium; - border-left-width: 0; - border-top-width: 0; - border-color: gray; - padding: 0.4em; - text-align: right; -} - -p.qu { - font-style: italic; - text-align: left; - font: 8px/10px cursive; - border-width: 0; - border-left-width: thin; - border-left-color: gray; - border-style: double; - color: gray; -} - -.valorise { - text-decoration: underline; -} - -.big { - font-weight: bolder; - font: 12px/12px cursive; -} - -.emp { - font-style: italic; -} - -.tablesubtitle { - font-style: italic; - text-align: center; -} diff --git a/doc/manual.txt b/doc/manual.txt new file mode 100644 index 0000000..563f9e2 --- /dev/null +++ b/doc/manual.txt @@ -0,0 +1,1112 @@ +//// +/* + * $calcurse: manual.txt,v 1.1 2011/02/24 11:36:50 fleischer Exp $ + * + * Copyright (c) 2004-2010 Frederic Culot + * 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. + */ +//// + +CALCURSE - text-based organizer +=============================== + +Abstract +-------- + +This manual describes `calcurse` 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 `calcurse` behavior. Last, bug reporting +procedure is explained, as well as the way one can contribute to `calcurse` +development. + +Introduction +------------ + +`calcurse` 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. + +Overview +-------- + +Creation history +~~~~~~~~~~~~~~~~ + +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 ;) + +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 `C` +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 `C` things ! + +Unfortunately, I finished my Ph.D. before finishing `calcurse`, but anyway, I +still wanted to work on it, hoping it would be helpful to other people. So +here it is... + +But why _calcurse_ anyway ? Well, it is simply the concatenation of _CALendar_ +and _nCURSEs_, the name of the library used to build the user interface. + +Important features +~~~~~~~~~~~~~~~~~~ + +`Calcurse` 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. + +`Calcurse` 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 `calcurse` with appropriate command line +arguments inside a cron tab or within a shell init script. + +Moreover, `calcurse` 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. + +Installation +------------ + +Requirements +~~~~~~~~~~~~ + +ncurses library +^^^^^^^^^^^^^^^ + +`Calcurse` requires only a `C` compiler, such as `cc` or `gcc`, and the +`ncurses` library. It would be very surprising not to have a valid `ncurses` +library already installed on your computer, but if not, you can find it at the +following url: http://ftp.gnu.org/pub/gnu/ncurses/ + +NOTE: It is also possible to link `calcurse` against the `ncursesw` library + (ncurses with support for unicode). However, UTF-8 is not yet supported + by `calcurse`. + +[[installation_requirements_gettext]] +gettext library +^^^^^^^^^^^^^^^ + +`calcurse` supports internationalization (*i18n* hereafter) through the +`gettext` utilities. This means `calcurse` can produce multi-lingual messages +if compiled with native language support (i.e. *NLS*). + +However, *NLS* 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 `--disable-nls` option to `configure` (see section +<>). To check if the `gettext` utilities are +installed on your system, you can search for the `libintl.h` header file for +instance: + +---- +$ locate libintl.h +---- + +If this header file is not found, then you can obtain the `gettext` sources at +the following url : http://ftp.gnu.org/pub/gnu/gettext/ + +NOTE: Even if `libintl.h` is found on your system, it can be wise to specify + its location during the <>, by using the + `--with-libintl-prefix` option with `configure`. Indeed, the `configure` + could fail to locate this library if installed in an uncommon place. + +[[install_process]] +Install process +~~~~~~~~~~~~~~~ + +First you need to gunzip and untar the source archive: + +---- +$ tar zxvf calcurse-2.8.tar.gz +---- + +Once you meet the requirements and have extracted the archive, the install +process is quite simple, and follows the standard three steps process: + +---- +$ ./configure +$ make +$ make install # (may require root privilege) +---- + +Use `./configure --help` to obtain a list of possible options. + +calcurse basics +--------------- + +Invocation +~~~~~~~~~~ + +[[invocation_commandline]] +Command line arguments +^^^^^^^^^^^^^^^^^^^^^^ + +`calcurse` takes the following options from the command line (both short and +long options are supported): + +`-a, --appointment`:: + Print the appointments and events for the current day and exit. The calendar + from which to read the appointments can be specified using the `-c` flag. + +`-c , --calendar `:: + Specify the calendar file to use. The default calendar is + `~/.calcurse/apts` (see section <>). + +`-d , --day `:: + 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: ++ +-- + * a date (possible formats described below). + * a number `n`. +-- ++ +In the first case, the appointment list for the specified date will be +returned, while in the second case the appointment list for the `n` upcoming +days will be returned. As an example, typing `calcurse -d 3` 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 <>), using the +`input_datefmt` variable. ++ +Note: as for the `-a` flag, the calendar from which to read the appointments +can be specified using the `-c` flag. + +`-D , --directory `:: + Specify the data directory to use. This option is incompatible with -c. + If not specified, the default directory is `~/.calcurse/`. + +`-h, --help`:: + Print a short help text describing the supported command-line options, + and exit. + +`-i , --import `:: + Import the icalendar data contained in `file`. + +`-n, --next`:: + Print the next appointment within upcoming 24 hours and exit. The indicated + time is the number of hours and minutes left before this appointment. ++ +Note: the calendar from which to read the appointments can be specified using +the `-c` flag. + +`-N, --note`:: + When used with the `-a` or `-t` flag, also print note content if one is + associated with the displayed item. + +`-r[num], --range[=num]`:: + Print events and appointments for the num number of days and exit. If no num + is given, a range of 1 day is considered. + +`-s[date], --startday[=date]`:: + Print events and appointments from date and exit. If no date is given, the + current day is considered. + +`-S, --search=`:: + When used with the `-a`, `-d`, `-r`, `-s`, or `-t` flag, print only the items + having a description that matches the given regular expression. + +`--status`:: + 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. + +`-t[num], --todo[=num]`:: + Print the `todo` list and exit. If the optional number `num` is given, then + only todos having a priority equal to `num` will be returned. 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. + +`-v, --version`:: + Display `calcurse` version and exit. + +`-x[format], --export[=format]`:: + 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 <> below). If the optional + argument `format` is not given, ical format is selected by default. ++ +Note: redirect standard output to export data to a file, by issuing a command +such as: ++ +---- +$ calcurse --export > my_data.dat +---- + +Environment variable for i18n +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +`calcurse` can be compiled with native language support (see +<>). Thus, if you wish to have +messages displayed into your native language, first make sure it is available +by looking at the `po/LINGUAS` file. This file indicates the set of available +languages by showing the two-letters corresponding code (for exemple, *fr* +stands for french). If you do not find your language, it would be greatly +appreciated if you could help translating `calcurse` (see the <> section). + +If your language is available, run `calcurse` with the following command: + +---- +$ LC_ALL=fr_FR calcurse +---- + +... where *fr_FR* is the locale name in this exemple, but should be replaced by +the locale corresponding to the desired language. + +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 `calcurse` using the following command: + +---- +$ LC_ALL=fr_FR.ISO8859-1 calcurse +---- + +Other environment variables +^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +The following environment variables affect the way `calcurse` operates: + +`VISUAL`:: + Specifies the external editor to use for writing notes. + +`EDITOR`:: + If the `VISUAL` environment variable is not set, then `EDITOR` will be used + as the default external editor. If none of those variables are set, then + `/usr/bin/vi` is used instead. + +`PAGER`:: + Specifies the default viewer to be used for reading notes. If this variable + is not set, then `/usr/bin/less` is used. + +User interface +~~~~~~~~~~~~~~ + +Non-interactive mode +^^^^^^^^^^^^^^^^^^^^ + +When called with at least one of the following arguments: `-a`, `-d`, `-h`, +`-n`, `-t`, `-v`, `-x`, `calcurse` is started in non-interactive mode. This +means the desired information will be displayed, and after that, `calcurse` +simply quits and you are driven back to the shell prompt. + +That way, one can add a line such as `calcurse --todo --appointment` in its +init config file to display at logon the list of tasks and appointments +scheduled for the current day. + +[[basics_interface_interactive]] +Interactive mode +^^^^^^^^^^^^^^^^ + +NOTE: Key bindings that are indicated in this manual correspond to the default + ones, defined when `calcurse` 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 <>). + +When called without any argument or only with the `-c` option, `calcurse` is +started in interactive mode. In this mode, you are shown an interface +containing three different panels which you can browse using the `TAB` key, +plus a notification bar and a status bar (see figure below). + +---- + 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 + | || | | + | || | | + | || |<--. + | || | + +------------------------------------++----------------------------+ + |---[ Mon 2006-11-22 | 10:11:43 ]---(apts)----> 01:20 :: lunch <---|<--. + +------------------------------------------------------------------+ notify-bar + | ? Help R Redraw H/L -/+1 Day G GoTo C Config | + | Q Quit S Save J/K -/+1 Week Tab Chg View |<-. + +------------------------------------------------------------------+ | + | + status bar +---- + +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. + +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: + +---- ++------------------------------------+ +| 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 ++------------------------------------+ +---- + +The current week number is displayed on the top-right side of the panel (*# 13* +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. + +In the appointment panel, one can notice the *`(|)`* 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: + +` |) `:: + first quarter + +` (|) `:: + full moon + +` (| `:: + last quarter + +` | `:: + new moon + +no sign:: + Phase of the moon does not correspond to any of the above ones. + +At the very bottom of the screen there is a status bar, which indicates the +possible actions and the corresponding keystrokes. + +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. + +NOTE: 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. + +Within this editor, if a line is longer than the screen width, a `>`, `*`, or +`<` 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. + +Moreover, some editing commands are bound to particular control characters. +Hereafter are indicated the available editing commands (`^` stands for the +control key): + +`^a`:: + moves the cursor to the beginning of the input line + +`^b`:: + moves the cursor backward + +`^d`:: + deletes one character forward + +`^e`:: + moves the cursor to the end of the input line + +`^f`:: + moves the cursor forward + +`^h`:: + deletes one character backward + +`^k`:: + deletes the input from the cursor to the end of the line + +`ESCAPE`:: + cancels the editing + +[[basics_daemon]] +Background mode +~~~~~~~~~~~~~~~ + +When the daemon mode is enabled in the notification configuration menu (see +<>), `calcurse` will stay in background +when the user interface is not running. In background mode, `calcurse` checks +for upcoming appointments and runs the user-defined notification command when + necessary. When the user interface is started again, the daemon automatically + stops. + +`calcurse` background activity can be logged (set the `notify-daemon_log` +variable in the notification configuration <>), +and in that case, information about the daemon start and stop time, reminders' +command launch time, signals received... will be written in the `daemon.log` +file (see section <>). + +Using the `--status` command line option (see section +<>), one can know if +`calcurse` 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): + +---- +calcurse is running in background (pid 14536) +---- + +NOTE: To stop the daemon, just send the `TERM` signal to it, using a command + such as: `kill daemon_pid`, where *daemon_pid* is the process id of the + daemon (14536 in the above example). + +[[basics_files]] +calcurse files +~~~~~~~~~~~~~~ + +The following structure is created in your `$HOME` directory (or in the +directory you specified with the -D option) the first time `calcurse` is run +: + +---- +$HOME/.calcurse/ + |___notes/ + |___conf + |___keys + |___apts + |___todo +---- +`notes/`:: + 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. +`conf`:: + this file contains the user configuration +`keys`:: + this file contains the user-defined key bindings +`apts`:: + this file contains all of the events and user's appointments +`todo`:: + this file contains the todo list + +NOTE: If the logging of calcurse daemon activity was set in the notification + configuration menu, the extra file `daemon.log` will appear in calcurse + data directory. This file contains logs about calcurse activity when + running in background. + +Import/Export capabilities +~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The import and export capabilities offered by `calcurse` are described below. + +Import +^^^^^^ + +Data in icalendar format as described in the rfc2445 specification (see +<> 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. + +The following icalendar properties are handled by calcurse: + +* `VTODO` items: "PRIORITY", "VALARM", "SUMMARY", "DESCRIPTION" + +* `VEVENT` items: "DTSTART", "DTEND", "DURATION", "RRULE", "EXDATE", "VALARM", + "SUMMARY", "DESCRIPTION" + +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). + +Here are the properties that are not implemented: + +* negative time durations are not taken into account (item is skipped) + +* some recurence frequences are not recognize: "SECONDLY" / "MINUTELY" / + "HOURLY" + +* some recurrence keywords are not recognized (all those starting with `BY`): + "BYSECOND" / "BYMINUTE" / "BYHOUR" / "BYDAY" / "BYMONTHDAY" / "BYYEARDAY" / + "BYWEEKNO" / "BYMONTH" / "BYSETPOS" plus "WKST" + +* the recurrence exception keyword "EXRULE" is not recognized + +* timezones are not taken into account + +Export +^^^^^^ + +Two possible export formats are available: `ical` and `pcal` (see section +<> below to find out about those formats). + +Online help +~~~~~~~~~~~ + +At any time, the built-in help system can be invoked by pressing the `?` +key. Once viewing the help screens, informations on a specific command can be +accessed by pressing the keystroke corresponding to that command. + +Options +------- + +All of the `calcurse` parameters are configurable from the Configuration menu +available when pressing `C`. You are then driven to a submenu with five +possible choices : pressing `C` again will lead you to the Color scheme +configuration, pressing `L` allows you to choose the layout of the main +`calcurse` screen (in other words, where to put the three different panels on +screen), pressing `G` permits you to choose between different general options, +pressing `K` opens the key bindings configuration menu, and last you can modify +the notify-bar settings by pressing `N`. + +[[options_general]] +General options +~~~~~~~~~~~~~~~ + +These options control `calcurse` general behavior, as described below: + +`auto_save` (default: *yes*):: + This option allows to automatically save the user's data (if set to *yes*) + when quitting.

warning: No data + will be automatically saved if `auto_save` is set to *no*. This means the + user must press `S` (for saving) in order to retrieve its modifications. + +`periodic_save` (default: *0*):: + If different from `0`, user's data will be automatically saved every + *periodic_save* minutes. When an automatic save is performed, two asterisks + (i.e. `**`) will appear on the top right-hand side of the screen). + +`confirm_quit` (default: *yes*):: + If set to *yes*, confirmation is required before quitting, otherwise pressing + `Q` will cause `calcurse` to quit without prompting for user confirmation. + +`confirm_delete` (default: *yes*):: + If this option is set to *yes*, pressing `D` for deleting an item (either a + *todo*, *appointment*, or *event*), 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. + +`skip_system_dialogs` (default: *no*):: + Setting this option to *yes* 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. + +`skip_progress_bar` (default: *no*):: + If set to *yes*, this will cause the disappearing of the progress bar which + is usually shown when saving data to file. If set to *no*, this bar will be + displayed, together with the name of the file being saved (see section + <>). + +`calendar_default_view` (default: *0*):: + If set to `0`, the monthly calendar view will be displayed by default + otherwise it is the weekly view that will be displayed. + +`week_begins_on_monday` (default: *yes*):: + One can choose between Monday and Sunday as the first day of the week. If the + option `week_begins_on_monday` is set to *yes*, Monday will be first in the + calendar view. Else if the option is set to *no*, then Sunday will be the + first day of the week. + +`output_datefmt` (default: *%D*):: + 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: *mm/dd/aa*. You can see all of the possible formats by typing + `man 3 strftime` inside a terminal. + +`input_datefmt` (default: *1*):: + This option indicates the format that will be used to enter dates in + *calcurse*. Four choices are available: ++ +1. mm/dd/yyyy +2. dd/mm/yyyy +3. yyyy/mm/dd +4. yyyy-mm-dd + +[[options_keys]] +Key bindings +~~~~~~~~~~~~ + +One can define it's own keybindings within the `Keys` configuration menu. The +default keys look like the one used by the `vim` editor, especially the +displacement keys. Anyway, within this configuration menu, users can redefine +all of the keys available from within calcurse's user interface. + +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. + +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. + +The following keys can be used to define bindings: + +* lower-case, upper-case letters and numbers, such as `a`, `Z`, `0` + +* CONTROL-key followed by one of the above letters + +* escape, horizontal tab, and space keys + +* arrow keys (up, down, left, and right) + +* `HOME` and `END` keys + +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. + +Color themes +~~~~~~~~~~~~ + +`calcurse` 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 +`X` 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. + +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. + +NOTE: Depending on your terminal type and on the value of the `$TERM` + 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 `calcurse` to display them, try to set your + `$TERM` variable to another value (such as *xterm-xfree86* for instance). + +Layout configuration +~~~~~~~~~~~~~~~~~~~~ + +The layout corresponds to the position of the panels inside `calcurse` 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 <> for an +exemple of the default layout). By choosing another layout in the +configuration screen, user can customize `calcurse` appearence to best suit his +needs by placing the different panels where needed. + +The following option is used to modify the layout configuration: + +`layout` (default: *0*):: + Eight different layouts are to be chosen from (see layout configuration + screen for the description of the available layouts). + +Sidebar configuration +~~~~~~~~~~~~~~~~~~~~~ + +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. + +The following option is used to change the width of the sidebar: + +`side-bar_width` (default: *0*):: + Width (in percentage, 0 being the minimum width) of the side bar. + +[[options_notify]] +Notify-bar settings +~~~~~~~~~~~~~~~~~~~ + +The following options are used to modify the notify-bar behavior: + +`notify-bar_show` (default: *yes*):: + This option indicates if you want the notify-bar to be displayed or not. + +`notify-bar_date` (default: *%a %F*):: + 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 `man 3 strftime` inside a terminal. + +`notify-bar_time` (default: *%T*):: + 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 `man 3 strftime` inside a terminal. + +`notify-bar_warning` (default: *300*):: + When there is an appointment which is flagged as `important` within the next + `notify-bar_warning` seconds, the display of that appointment inside the + notify-bar starts to blink. Moreover, the command defined by the + `notify-bar_command` option will be launched. That way, the user is warned + and knows there will be soon an upcoming appointment. + +`notify-bar_command` (default: *printf '\a'*):: + This option indicates which command is to be launched when there is an + upcoming appointment flagged as `important`. 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 `$SHELL` environment variable is used. If this variable is + not set, `/bin/sh` is used instead. ++ +==== +Say the `mail` 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): + +---- +$ calcurse --next | mail -s "[calcurse] upcoming appointment!" user@host.com +---- +==== + +`notify-daemon_enable` (default: *no*):: + If set to yes, daemon mode will be enabled, meaning `calcurse` 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 <>. + +`notify-daemon_log` (default: *no*):: + If set to yes, `calcurse` daemon activity will be logged (see section + <>). + +Known bugs +---------- + +Incorrect highlighting of items appear when using calcurse black and white +theme together with a `$TERM` variable set to *xterm-color*. To fix this bug, +and as advised by Thomas E. Dickey (`xterm` maintainer), *xterm-xfree86* should +be used instead of *xterm-color* to set the `$TERM` variable: + +____ +"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)." +____ + +[[bugs]] +Reporting bugs and feedback +--------------------------- + +Please send bug reports and feedback to: `calcurse .at. culot .dot. org` or to +the author: `frederic .at. culot .dot. org`. + +[[contribute]] +How to contribute? +------------------ + +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 +`calcurse`. For now on, possible contributions concern the translation of +`calcurse` messages and documentation. + +NOTE: any help in getting `calcurse` internationalized would be very welcomed, + but before contributing, send a mail to `calcurse-i18n .at. culot .dot. + org` to know if someone already started the translation process into your + language. + +Translating documentation +~~~~~~~~~~~~~~~~~~~~~~~~~ + +The *doc/* directory of the source package already contains translated version +of `calcurse` manual. However, if the manual is not yet available into your +native language, it would be appreciated if you could help translating it. + +To do so, just copy one of the existing manual file to `manual_XX.html`, where +*XX* identifies your language. Then translate this newly created file and send +it to the author (see <>), so that it can be +included in the next `calcurse` release. + +calcurse i18n +~~~~~~~~~~~~~ + +As already mentioned, `gettext` utilities are used by `calcurse` to produce +multi-lingual messages. This section provides informations about how to +translate those messages into your native language. However, this howto is +deliberately incomplete, focusing on working with `gettext` for `calcurse` +specifically. For more comprehensive informations or to grasp the Big Picture +of Native Language Support, you should refer to the `GNU gettext` manual at: +http://www.gnu.org/software/gettext/manual/ + +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. + +Overview +^^^^^^^^ + +To be able to display texts in the native language of the user, two steps are +required: *internationalization* (i18n) and *localization* (l10n). + +i18n is about making `calcurse` support multiple languages. It is performed by +coders, who will mark translatable texts and provide a way to display them +translated at runtime. + +l10n is about making the i18n'ed `calcurse` adapt to the specific language of +the user, ie translating the strings previously marked by the developers, and +setting the environment correctly for `calcurse` to use the result of this +translation. + +So, translatable strings are first marked by the coders within the `C` source +files, then gathered in a template file (*calcurse.pot* - the *pot* extension +meaning *portable object template*). The content of this template file is then +merged with the translation files for each language (*fr.po* for french, for +instance - with *po* standing for *portable object*, 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 (*fr.mo* - *mo* +stands for *machine object*, ie meant to be read by programs), and then +installed. Then `calcurse` will use this file at runtime, translating the +strings according to the locale settings of the user. + + +Translator tasks +^^^^^^^^^^^^^^^^ + +Suppose someone wants to initiate the translation of a new language. Here are +the steps to follow: + +* First, find out what the locale name is. For instance, for french, it is + `fr_FR`, or simply `fr`. This is the value the user will have to put in his + `LC_ALL` environment variable for software to be translated (see + <>). + +* Then, go into the *po/* directory, and create a new po-file + from the template file using the following command: `msginit -i calcurse.pot + -o fr.po -l fr --no-translator` If you do not have `msginit` installed on + your system, simply copy the *calcurse.pot* file to *fr.po* and edit the + header by hand. + +Now, having this *fr.po* file, the translator is ready to begin. + +po-files +^^^^^^^^ + +The format of the po-files is quite simple. Indeed, po-files are made of four +things: + +1. *location lines:* tells you where the strings can be seen (name of file and + line number), in case you need to see a bit of context. + +2. *msgid lines:* the strings to translate. + +3. *msgstr lines:* the translated strings. + +4. *lines prefixed with `#`:* comments (some with a special meaning, as we will + see below). + +Basically, all you have to do is fill the *msgstr* lines with the translation +of the above *msgid* line. + +A few notes: + +*Fuzzy strings*:: + You will meet strings marked with a `"#, fuzzy"` comment. `calcurse` 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 `gettext` made a 'wild guess' 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 `"#, fuzzy"` line, and + the translation will be used again in `calcurse`. + +*c-format strings and special sequences*:: + Some strings have the following comment: `"#, c-format"`. 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 `"%s"`. + These means that `calcurse` will replace them with another string. So it is + important it remains. There are also \-sequences, like `\n` or `\t`. Leave + them, too. The former represents an end of line, the latter a tabulation. + +*Translations can be wrapped*:: + If lines are too long, you can just break them like this: ++ +---- +msgid "" +"some very long line" +"another line" +---- + +*po-file header*:: + 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 ++ +---- +"Content-Type: text/plain; charset=utf-8\n" +---- ++ +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: ++ +---- +"Last-Translator: Frederic Culot \n" +---- + +*Comments*:: + Adding comments (lines begining with the `#` character) can be a good way to + point out problems or translation difficulties to proofreaders or other + members of your team. + +*Strings size*:: + `calcurse` 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. + +*A few useful tools*:: + 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: ++ +* `poEdit` (http://www.poedit.org/) +* `KBabel` (http://i18n.kde.org/tools/kbabel/) +* `GTranslator` (http://gtranslator.sourceforge.net/) +* `Emacs` po mode +* `Vim` po mode + +*And finally*:: + I hope you'll have fun contributing to a more internationalized world. :) If + you have any more questions, don't hesitate to contact me at *frederic .at. + culot .dot. org*. + +Links +----- + +This section contains links and references that may be of interest to you. + +calcurse homepage +~~~~~~~~~~~~~~~~~ + +The `calcurse` homepage can be found at http://culot.org/calcurse + +calcurse announce list +~~~~~~~~~~~~~~~~~~~~~~ + +If you are interested in the project and want to be warned when a new release +comes out, you can subscribe to the `calcurse` announce list. In doing so, you +will receive an email as soon as a new feature appears in `calcurse`. + +To subscribe to this list, send a message to *calcurse-announce .at. culot +.dot. org* with "subscribe" in the subject field. + +calcurse RSS feed +~~~~~~~~~~~~~~~~~ + +Another possibility to get warned when new releases come out is to follow the +RSS feed at: http://culot.org/calcurse/news_rss.xml + +This RSS feed is updated each time a new version of calcurse is available, +describing newly added features. + +[[links_others]] +Other links +~~~~~~~~~~~ + +You may want to look at the ical format specification (rfc2445) at: +http://tools.ietf.org/html/rfc2445 + +The pcal project page can be found at: http://pcal.sourceforge.net/ + +Thanks +------ + +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 : + +* Alex for its patches, help and advices with `C` programming + +* Gwen for testing and general discussions about how to improve `calcurse` + +* Herbert for packaging `calcurse` for FreeBSD + +* Zul for packaging `calcurse` for NetBSD + +* Wain, Steffen and Ronald for packaging `calcurse` for Archlinux + +* Kevin, Ryan, and fEnIo for packaging `calcurse` for Debian and Ubuntu + +* Pascal for packaging `calcurse` for Slackware + +* Alexandre and Markus for packaging `calcurse` for Mac OsX and Darwin + +* Igor for packaging `calcurse` for ALT Linux + +* Joel for its calendar script which inspired `calcurse` calendar view + +* Michael Schulz and Chris M. for the german translation of `calcurse` and its + manual + +* Jose Lopez for the spanish translation of `calcurse` and its manual + +* Neil Williams for the english translation + +* Leandro Noferini for the italian translation + +* Tony for its patch which helped improving the recur_item_inday() function, + and for implementing the date format configuration options + +* Jeremy Roon for the dutch translation + +* Erik Saule for its patch implementing the `-N`, `-s`, `-S`, `-r` and `-D` + flags + +* people who write softwares I like and which inspired me, especially : + + - `vim` for the displacement keys + - `orpheus` and `abook` for documentation + - `pine` and `aptitude` for the text user interface + - `tmux` for coding style + +And last, many many thanks to all of the `calcurse` users who sent me their +feedback. diff --git a/doc/manual_de.html b/doc/manual_de.html deleted file mode 100644 index 2957acf..0000000 --- a/doc/manual_de.html +++ /dev/null @@ -1,1327 +0,0 @@ - - - - - -CALCURSE documentation - - - - - -

- -

-CALCURSE - textbasierter Terminkalender

- -
-
-

Abstract

This manual describes calcurse 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 -calcurse behavior. Last, bug reporting procedure is explained, as -well as the way one can contribute to calcurse development. -
-
- - - - -

1. Einleitung

-

-calcurse ist ein -textbasierender Kalender, der Ihnen bei der Organisation von -Ereignissen, Terminen und täglichen Aufgaben hilft. Ein -konfigurierbares Notitzsystem erinnert Benutzer an bevorstehende -Termine. Die curses basierende Benutzeroberflache kann auf eigene die -Bedürfnisse angepaßt werden. Alle Programmbefehle sind in -einem online Hilfesystem dokumentiert. -

- -

2. Überblick

-

2.1 Anlass

-

-Nachdem ich mein Diplom in Astrophysik absolviert hatte, kam mir die -Idee dieses Programm zu schreiben. Alles begann etwas unorganisiert zu -werden. Ein Programm, dass mir bei meiner Terminplanung etwas hilft, -war wirklich vonnöten. ;) -

-

-Ich mag Programme mit Textinterfaces, weil sie einfach, schnell, -portabel und effizient sind. Also dachte ich darüber nach ein -Programm mit textorientiertem Benutzer-Interface zu entwickeln. -Darüber hinaus wollte ich meine Kenntnisse in der Programmiersprache -C erweitern. Im Grundstudium kam ich mit C -erstmals in Kontakt. Ich denke es ist eine gute Idee ein solches -Projekt zu beginnen und dabei meine Kenntnisse in C zu -erweitern! -

-

-Mein Diplom habe ich nun absolviert, calcurse -ist aber noch immer nicht fertig. Nach wie vor entwickle ich dieses -Programm weiter, in der Hoffnung, dass es für andere von Nutzen sein -wird. Also hier ist es... -

-

-Doch warum nenne ich es 'calcurse'? Nun, es ist einfach -zusammengesetzt aus den Wörtern 'CALendar' und 'nCurses', dem Namen -der Bibliothek die für das Benutzer-Interface verwendet wird. -

- -

2.2 Wichtige Eigenschaften

-

-Calcurse ist portabel und setzt sich zum Ziel klein, -schnell und sicher zu sein. Es ist auf einer Konsole oder einem -Terminal zu verwenden, entweder lokal oder auf einem entfernten System -mithilfe einer ssh-Verbindung (oder Ähnlichem). -

-

-Calcurse kann in zwei unterschiedlichen Modi gestartet -werden: Im interaktiven und im nicht-interaktiven Modus. Der erste Modus -erzeugt Dank des textbasierten Interfaces die Ansicht eines eigenen -persönlichen Terminkalenders. Mit dem zweiten Modus ist es möglich -sich ein Erinnerungstool (Reminder) zu erstellen, wenn -calcurse mit den entsprechenden Argumenten in 'cron tab' -oder einem 'init script' eingebunden wird. -

-

-Darüber hinaus ist calcurse für Benutzer erstellt worden, -mit der Absicht so benutzerfreundlich wie möglich zu sein. Das -bedeutet, dass eine komplette Onlinehilfe im Programm zu Verfügung -steht, sowie alle mögliche Aktionen jederzeit in einer Statuszeile -ersichtlich sind. Das Benutzer-Interface ist ebenfalls -einstellbar. Ebenso kann man verschiedene Textfarben und Layouts -wählen. -Key bindings are also configurable, to fit everyone's needs. -Ein konfigurierbares Notizsystem erinnert den Benutzer -an bevorstehende Termine. -The reminders are sent even if the user's interface -is not running, as calcurse is able to run in background. -

- -

3. Installation

-

3.1 Voraussetzungen

-

3.1.1 ncurses Bibliothek

-

-Calcurse benötigt einen C-Compiler wie etwa -cc oder gcc. Ferner wird die -ncurses-Bibliothek benötigt, die jedoch auf den meisten Unix-Systemen -verfügbar sein sollte. Falls nicht, können Sie sie von folgender URL herunter -laden:

-
http://ftp.gnu.org/pub/gnu/ncurses/
- -
-

-

Note: - It is also possible to link calcurse against the - ncursesw library (ncurses with support for unicode). - However, UTF-8 is not yet supported by calcurse.

-
- -

3.1.2 gettext Bibliothek

-

- calcurse unterstützt die Internationalisierung - (künftig i18n) durch gettext. - Das bedeutet, dass calcurse mehrsprachige Mitteilungen - erzeugen kann, wenn es mit der entsprechenden Sprachunterstützung - kompiliert wurde (z.B. NLS). -

-

- Dennoch, NLS ist optional und wenn keine mehrsprachigen Mitteilungen - gewünscht sind, kann diese Eigenschaft abgestellt werden. - Rufen Sie hierzu einfach das configure Skript mit der Option - --disable-nls auf (siehe Abschnitt - Installationsprozess). - Um zu überprüfen, ob gettext auf dem System installiert ist, - kann man nach der libintl.h Datei suchen:

-
locate libintl.h
-

- Wurde diese Datei nicht gefunden, kann gettext von folgender URL - herunter geladen werden:

-
http://ftp.gnu.org/pub/gnu/gettext/
-

-

Beachte: - Auch wenn libintl.h auf dem System - gefunden wurde, kann es erforderlich sein den Pfad dieser Datei während des - Installationsprozesses anzugeben. Die entsprechende - Option für das configure Skript lautet dann - --with-libintl-prefix. - Das configure Skript wird natürlich vorzeitig abbrechen, wenn die - dazugehörige Bibliothek nicht gefunden wurde.

- - -

3.2 Installationsprozess

-

-Als erstes müssen die Dateien entpackt werden:

-
tar zxvf calcurse-2.8.tar.gz
-

-Ist diese Voraussetzung erfüllt und das Archiv entpackt, -sind nur noch die drei üblichen Schritte erforderlich:

-
    -
  1. ./configure
  2. -
  3. make
  4. -
  5. make install (mit Root-Rechten)
  6. -
-

-Rufen Sie ./configure --help auf, um die -verfügbaren Optionen aufgelistet zu bekommen. -

- -

4. calcurse Grundlagen

-

4.1 Programmaufruf

-

4.1.1 Programmargumente

-

-Calcurse kann mit den folgenden Optionen aufgerufen werden. -Es werden sowohl kurze als auch lange Optionsangaben unterstützt.

- -

-

-
-a, --appointment
-
Gibt die Termine des heutigen Tags aus. -

Beachte: - Die Kalender-Datei, aus der die Termine gelesen - werden sollen, kann mit mit Hilfe der '-c' Option angegeben werden.

-
-
-c <file>, --calendar <file>
-
Gibt die zu lesende Kalender-Datei an. - Der Standardkalender ist ~/.calcurse/apts (beachte auch - Abschnitt: calcurse Dateien). -
-
-d <date|num>, --day <date|num>
-
Gibt die Termine eines angegebenen Datums oder alle Termine der - anzugebenden nachfolgenden Tage aus. Somit sind zwei Formate möglich: -
    -
  • Datum: (possible formats described below).
  • -
  • Anzahl der Tage: 'n'.
  • -
- Im ersten Fall wird eine Liste mit allen Terminen des angegebenen - Datums ausgegeben. Der zweite Fall listet alle folgenden Termine auf, - die in den nächsten 'n' Tagen zu erledigen sind. - Beispiel: Die Eingabe calcurse -d 3 gibt alle Termine des - heutigen und der beiden folgenden Tage aus. -
- Possible formats for specifying the date are defined inside the - general configuration menu (see - General options), using the - input_datefmt variable. -

Note: as for the '-a' - flag, the calendar from which to read the appointments - can be specified using the '-c' flag.

-
-
-
-D <dir>, --directory <dir>
-
-
- Specify the data directory to use. This option is - incompatible with -c. If not specified, the - default directory is '~/.calcurse/'. -
-
-
-h, --help
-
Gibt eine Hilfe zu den unterstützten Optionen aus. -
-
-i <file>, --import <file>
-
-
- Import the icalendar data contained in file. -
-
-
-n, --next
-
Gibt den Termin aus, der innerhalb der kommenden 24 Stunden als - nächstes stattfindet. - Die dargestellte Zeitangabe weist darauf hin, in wie viel Stunden - und Minuten der Termin beginnen wird. -

Beachte: - Die Kalender-Datei, aus der die Termine gelesen - werden sollen, kann mit mit Hilfe der '-c' Option angegeben werden.

-
-
-N, --note
-
-
- When used with the '-a' or '-t' flag, also print note content - if one is associated with the displayed item. -
-
-
-r[num], --range[=num]
-
-
- Print events and appointments for the num number of - days and exit. If no num is given, a range of 1 day - is considered. -
-
-
-s[date], --startday[=date]
-
-
- Print events and appointments from date and exit. - If no date is given, the current day is considered. -
-
-
-S<regex>, --search=<regex>
-
-
- When used with the '-a', '-d', '-r', '-s', or '-t' flag, - print only the items having a description that matches the given - regular expression. -
-
-
--status
-
-
- 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. -
-
-
-t[num], --todo[=num]
-
Gibt die 'todo' Liste aus. - Wird die optionale Angabe num übergeben, werden nur diejenigen - Aufgaben angezeigt, denen die Prioriät num zugewiesen wurde.
-
- 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.

-
-
-
-v, --version
-
Gibt die aktuelle Version von Calcurse aus. -
-
-x[format], --export[=format]
-
- 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 Links below). - If the optional argument format is not given, - ical format is selected by default. -
-

Beachte: - leiten Sie die Ausgabe in eine Datei, etwa wie im folgenden Beispiel: - $ calcurse --export > my_data.dat

-
-
- -

4.1.2 Umgebungsvariable für i18n

-

- calcurse kann mit Unterstützung für verschiedene Sprachen - kompiliert werden (siehe gettext - Bibliothek). Um Meldungen in anderen Sprachen zu erhalten, - sollte zunächst geprüft werden, ob die po/LINGUAS Datei verfügbar ist. - Diese Datei zeigt alle verfügbaren Sprachen durch - zweibuchstabige Kürzel an (beispielsweise steht fr - für Französisch). Ist Ihre Muttersprache nicht aufgeführt, wäre es - natürlich großartig, wenn Sie sich an der Übersetzung von calcurse - in andere Sprachen beteiligen könnten (siehe Abschnitt Wie kann - ich einen Beitrag leisten?).

-

- Wird Ihre Sprache bereits unterstützt, können Sie - calcurse mit dem folgenden Aufruf starten:

-
LC_ALL=fr_FR calcurse
-

- wobei fr_FR der Name der gewünschten Spracheausgabe ist und durch - das Kürzel Ihrer Sprache ersetzt werden kann.

-

- Zusätzlich sollten Sie den verwendeten Zeichensatz angeben, da in einigen Fällen - Sonderzeichen wie etwa Akzente und Umlaute nicht korrekt dargestellt werden. - Auf den der entsprechende Sprache gewünschten Zeichensatz wird am Anfang der po-Datei - hingewiesen. Der Datei fr.po können Sie beispielsweise entnehmen, dass der Zeichensatz - iso-8859-1 verwendet wird. Sie könnten calcurse folgendermaßen - aufrufen:

-
LC_ALL=fr_FR.ISO8859-1 calcurse
- -
-

4.1.3 Other environment variables

-

- The following environment variables affect the way calcurse - operates:

-
-
VISUAL
-
Specifies the external editor to use for writing notes. -
-
EDITOR
-
If the VISUAL environment variable - is not set, then EDITOR will be used as - the default external editor. If none of those variables are set, - then /usr/bin/vi is used instead. -
-
PAGER
-
Specifies the default viewer to be used for reading notes. - If this variable is not set, then /usr/bin/less is used. -
-
-
- -

4.2 Benutzer-Interface

-

4.2.1 Nicht interaktiver Modus

-

-Wird calcurse mit den Optionen: --a, -d, -h, --n, -t, -v, -x -gestartet, wird das Programm im nicht-interaktiven Modus -ausgeführt. Das bedeutet, dass die gewünschten Informationen -ausgegeben werden und das Programm anschließend sofort wieder beendet -wird.

-

-Durch das Einbinden von calcurse --todo --appointment in eine init config -Datei ist es beispielsweise möglich, sich seine zu erledigenden Aufgaben -und alle Termine des heutigen Tages beim Logon anzeigen zu lassen.

- - -

4.2.2 Interaktiver Modus

-
-

Note: - Key bindings that are indicated in this manual correspond to - the default ones, defined when calcurse 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 key bindings).

-
-

-Wird keine, oder nur Option -c angegeben, startet -calcurse im interaktiven Modus. In diesem Modus erhält -man ein Interface mit drei unterschiedlichen Panels, einer -Benachrichtigungszeile, sowie einer Status-Zeile (siehe unten). -Die einzelnen Panels lassen sich durch die 'TAB'-Taste ansteuern.

-
-
-      Termin-Panel---.                                   .---Kalender-Panel
-                     |                                   |
-                     v                                   v
- +------------------------------------++----------------------------+
- |          Termine                   ||          Kalender          |
- |------------------------------------||----------------------------|
- |                 (|)  6. April 2006 ||         April 2006         |
- |                                    || Mo  Di  Mi  Do  Fr  Sa  So |
- |                                    ||                      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 |
- |                                    ||                            |
- |                                    |+----------------------------+
- |                                    |+----------------------------+
- |                                    ||          Aufgaben          | todo-
- |                                    ||----------------------------| Panel
- |                                    ||                            |   |
- |                                    ||                            |   |
- |                                    ||                            |<--.
- |                                    ||                            |
- +------------------------------------++----------------------------+
- |---[ So 2006-10-22 | 10:11:43 ]---(apts)----> 01:20 :: lunch  <---|<--.
- +------------------------------------------------------------------+ Benachrichtigungszeile
- | ? Hilfe     S Speichern H/L -/+1 Tag    Tab ändere Ansicht       |
- | Q Beenden   G Gehe zu   J/K -/+1 Woche   C Einstellung           |<-.
- +------------------------------------------------------------------+  |
-                                                                       |
-                                                                 Statuszeile
-
-
-

-Das Kalender-Panel hebt den gewünschten Tag farblich hervor, während -das Termin-Panel die Liste mit Terminen des angesteuerten Tags -anzeigt. Das todo-Panel dagegen zeigt eine Liste mit den zu -erledigenden Aufgaben, die keinem bestimmten Tage zugeordnet sind.

- -
-

- 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:

-
-
-+------------------------------------+
-|              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
-+------------------------------------+
-
-        
-

- The current week number is displayed on the top-right side of the panel - (# 13 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. -

-
- -

- Im Termin-Panel kann man '(|)' Symbol vor das -Datum setzen. Dies zeigt die aktuelle Mondfase. Je nach Mondfase -können die folgenden Symbole erscheinen: -

-
' |) ':
-
Halbmond, erste Hälfte
-
' (|) ':
-
Vollmond
-
' (| ':
-
Halbmond, letzte Hälfte
-
' | ':
-
Neumond
-
Kein Symbol:
-
die Mondfase ist keinem der oberen zuzuordnen
-
-

-

-Die letzten beiden Zeilen des Interfaces zeigen die Status-Zeile, die -über die möglichen Befehle und ihre entsprechenden Tasten -informiert.

-

-Direkt über der Statuszeile befindet sich die Benachrichtigungszeile, die -von links nach rechts gesehen die folgenden Elemente anzeigt: Das aktuelle Datum, -die aktuelle Uhrzeit, die momentan verwendete Kalenderdatei (im obigen Beispiel -die standardmäßig verwendete Kalenderdatei apts [Vergleiche hierzu -den folgenden Abschnitt]) und der nächste Termin, der in den kommenden 24 -Stunden ansteht. Im Beispiel ist dies der Termin lunch, der in 1 Stunde und -zwanzig Minuten beginnt.

-

Beachte: -Einige Handlungen, wie beispielsweise das Verändern oder -Hinzufügen eines Termins, benötigen Texteingaben, die -mithilfe des eingebauten Eingabeeditors eingegeben werden.

-

-Geht eine Zeile über die Bildschirmzeile hinaus, wird dies innerhalb -des Editors durch die Zeichen '>', '*', und '<' dargestellt. -Dadurch wird in der letzten Spalten darauf hingewiesen, dass sich -vor, vor und hinter, beziehungsweise nur hinter der momentanten -Position weiterer Text befindet. Gegebenenfalls wird Zeile -horizontal gescrollt.

-

-Darüberhinaus sind einigen Editierfunktionen spezielle Tastenkürzel -zugewiesen, die in der folgenden Übersicht zusammengefasst sind. -Hierbei steht '^' für die Taste 'Strg' beziehungsweise 'Ctrl': -

-
^a:
-
Positioniert den Cursor an den Anfang der Eingabezeile
-
^b:
-
Bewegt den Cursor rückwärts
-
^d:
-
Löscht das folgende Zeichen
-
^e:
-
Positioniert den Cursor an das Ende der Eingabezeile
-
^h:
-
Löscht das vorhergehende Zeichen
-
^k:
-
Löscht die Eingabe von der aktuellen Cursorposition bis - an das Zeileende
-
ESCAPE:
-
Bricht die Bearbeitung ab
-
-

- -
-

4.3 Background mode

- -

When the daemon mode is enabled in the notification configuration menu -(see Notify-bar settings), calcurse will stay -in background when the user interface is not running. In background mode, -calcurse checks for upcoming appointments and runs the user-defined -notification command when necessary. When the user interface is started again, -the daemon automatically stops.

- -

calcurse background activity can be logged (set the -notify-daemon_log variable in the notification configuration -menu), and in that case, information about the daemon -start and stop time, reminders' command launch time, signals received... will be written -in the daemon.log file (see section files).

- -

-Using the --status command line option (see section -Command line arguments), -one can know if calcurse 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): -

calcurse is running in background (pid 14536)
- -

Note: -To stop the daemon, just send the TERM signal to it, using a command such as: -'kill daemon_pid', where daemon_pid is the process id -of the daemon (14536 in the above example). -

-
- -

4.4 calcurse Dateien

-

-Die folgende Verzeichnisstruktur wird im $HOME-Verzeichnis angelegt, -

(or in the directory you specified with the -D option)
-wenn calcurse das erste Mal gestartet wird:

-
-$HOME/.calcurse/
-           |___notes/
-           |___conf
-           |___keys
-           |___apts
-           |___todo
-
-
-
notes/:
-
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.
-
conf:
-
Datei enthält die Informationen zur Benutzerkonfiguration.
-
keys:
-
this file contains the user-defined key bindings
-
apts:
-
Datei enthält alle Termine.
-
todo:
-
Datei enthält die todo-Liste.
-
- -
-

Note: - If the logging of calcurse daemon activity was set in the notification - configuration menu, the extra file daemon.log will appear - in calcurse data directory. This file contains logs about calcurse activity - when running in background. -

-
- - -
-

4.5 Import/Export capabilities

-

- The import and export capabilities offered by calcurse - are described below. -

- -

4.5.1 Import

-

- Data in icalendar format as described in the rfc2445 specification - (see links 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. -

-

- The following icalendar properties are handled by calcurse: -

    -
  • VTODO items:
    - "PRIORITY", "VALARM", "SUMMARY", "DESCRIPTION"
  • -
  • VEVENT items:
    - "DTSTART", "DTEND", "DURATION", "RRULE", "EXDATE", "VALARM", "SUMMARY", - "DESCRIPTION"
  • -
-

-

- 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). -

-

- Here are the properties that are not implemented: -

    -
  • negative time durations are not taken into account (item is skipped)
  • -
  • some recurence frequences are not recognize:
    - "SECONDLY" / "MINUTELY" / "HOURLY"
  • -
  • some recurrence keywords are not recognized - (all those starting with 'BY'):
    - "BYSECOND" / "BYMINUTE" / "BYHOUR" / "BYDAY" / "BYMONTHDAY"
    - "BYYEARDAY" / "BYWEEKNO" / "BYMONTH" / "BYSETPOS"
    - plus "WKST"
  • -
  • the recurrence exception keyword "EXRULE" is not recognized
  • -
  • timezones are not taken into account
  • -
-

- -

4.5.2 Export

-

- Two possible export formats are available: ical and - pcal (see section Links below - to find out about those formats). -

-
- -

4.6 Online Hilfe

-

-Das integrierte Hilfe-System kann jederzeit mit '?' aufgerufen -werden. Informationen über bestimmte Befehle können mit der -entsprechenden Taste des Befehls aufgerufen werden. -

- -

5. Optionen

-

-Sämtliche in calcurse veränderbaren Parameter lassen sich -Konfigurationsmenü einstellen. Drücken Sie hierzu die Taste 'C'. -Daraufhin erscheint ein Untermenü mit vier weiteren Wahlmöglichkeiten: -Das erneute Betätigen von 'C' führt Sie zu den Farbeinstellungen und -über 'L' gelangen Sie in ein Untermenü, in dem Sie die Anordnung der -drei Panel ändern können. Drücken Sie 'G' um ins Auswahlmenü -der allgemeinen Optionen zu gelangen. -pressing 'K' opens the key bindings configuration -menu. -Zu guter Letzt können Sie die -Einstellungen der Benachrichtigungszeile ändern, indem Sie die Taste 'N' -betätigen.

- -

5.1 Allgemeine Optionen

-

-Die im Folgenden beschriebenen Optionen steuern calcurses -allgemeines Verhalten.

-
-
automatisches_Speichern - (Voreinstellung: ja)
-
Ist diese Option aktiviert, werden die Benutzerdaten automatisch beim - Verlassen gespeichert. -

warnung: - Beim Verlassen werden keine Daten gespeichert, - wenn automatisches_Speichern auf nein gesetzt wurde. Um Ihre - Eingaben dennoch zu speichern, müssen Sie als Nutzer die Taste 'S' - betätigen.

-
- -
periodic_save - (default: 0)
-
If different from '0', user's data will be automatically - saved every periodic_save minutes. - When an automatic save is performed, two asterisks - (i.e. '**') will appear on the top right-hand side - of the screen). -
- -
Beenden_bestätigen - (Voreinstellung: ja)
-
Wenn ja eingestellt worden ist, wird nachgefragt, ob das - Programm wirklich beenden werden soll. Wurde nein gewählt, - wird das Programm durch die Eingabe von 'Q' ohne Nachfrage sofort beendet.
-
Löschen_bestätigen - (Voreinstellung: ja)
-
Wurde ja eingestellt, fragt das Programm nach, ob ein - Eintrag wirklich gelöscht werden soll (entweder ein todo-Eintrag oder - ein Termin). Wurde nein gewählt, wird beim Drücken von 'D' - ohne Nachfrage gelöscht.
-
Systemdialoge_überspringen - (Voreinstellung: nein)
-
Durch Setzen auf ja werden die Dialoge beim Speichern und - Laden umgangen. Nützlich, wenn es mal schnell gehen muss.
-
Fortschrittsanzeige_überspringen - (Voreinstellung: nein)
-
Wird diese Option aktiviert, wird die beim Speichern von Daten normalerweise - erscheinende Fortschrittsanzeige nicht mehr angezeigt. - Ist diese Option auf nein gesetzt, werden ein - Zustandsbalken und der Name der zu speichernden Datei (siehe - Abschnitt Calcurse Dateien) angezeigt.
- -
calendar_default_view - (default: 0)
-
If set to 0, the monthly calendar view will be - displayed by default otherwise it is the weekly view that will be displayed. -
- -
Wochenbeginn_am_Montag - (Voreinstellung: ja)
-
Es ist möglich zwischen Montag und Sonntag als ersten Tag der Woche - zu wählen. Wird die Option auf ja gesetzt, wird Montag - als erster Tag der Woche festgelegt. Ist nein gewählt, - beginnt die Woche sonntags.
- -
output_datefmt - (default: %D)
-
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: mm/dd/aa. - You can see all of the possible formats by typing man 3 strftime - inside a terminal.
- -
input_datefmt - (default: 1)
-
This option indicates the format that will be used to enter dates in - calcurse. Four choices are available: -
    -
  1. mm/dd/yyyy
  2. -
  3. dd/mm/yyyy
  4. -
  5. yyyy/mm/dd
  6. -
  7. yyyy-mm-dd
  8. -
-
-
- -
-

5.2 Key bindings

-

- One can define it's own keybindings within the 'Keys' configuration - menu. The default keys look like the one used by the vim - editor, especially the displacement keys. Anyway, within this - configuration menu, users can redefine all of the keys available from - within calcurse's user interface.

-

- 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.

-

- 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.

-

- The following keys can be used to define bindings: -

    -
  • lower-case, upper-case letters and numbers, such as 'a', 'Z', '0'
  • -
  • CONTROL-key followed by one of the above letters
  • -
  • escape, horizontal tab, and space keys
  • -
  • arrow keys (up, down, left, and right)
  • -
  • 'HOME' and 'END' keys
  • -

-

- 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.

-
- -

5.3 Textfarben einstellen

-

-calcurse Textfarben können nach eigenen -Vorlieben eingestellt werden. Um die Standartfarben zu wechseln, -zeigt die Konfigurationsseite mögliche Farbwerte für -Vordergrund und Hintergrund. Benutze die Pfeiltasten zum bewegen und -'X' bzw. die Leertaste um eine Farbe zu wählen. Benutzer können -das gewählte Farbschema vorher betrachten. Die Liste enthält -auch den Eintrag für die Standartfarben des Terminals.

-
-

- 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.

-
-

Beachte: - Der Farbunterstützung ist vom verwendeten Terminal und des der - Umgebungsvariablen $TERM zugewiesenen Werts abhängig. - Es erscheint eine Fehlermeldung, wenn versucht wird die Farbeinstellung - zu ändern, obwohl das Terminal keine Farben unterstützt. - Wenn sie sicher sind, dass ihr Terminal Farben darstellen kann, - in calcurse aber keine Farben erscheinen, versuchen Sie - die $TERM Variable auf einen anderen Wert zu setzen - (etwa xterm-xfree86). -

- -

5.4 Layout einstellen

-

-Das Layout bezieht sich auf die Positionen der einzelnen Panel. Das -Standard-Layout zeigt das Kalender-Panel in der oberen linken Ecke des -Terminals, das todo-Panel befindet sich in der unteren rechten Ecke -und das Termin-Panel auf der linken Seite des Terminals (vgl. die -im Abschnitt Interaktiver Modus -dargestellte Zeichnung des Standard-Layouts). -Durch Auswahl eines anderen Layouts kann der Benutzer das -Erscheinungsbild von calcurse seinen eigenen Wünschen -entsprechend anpassen.

- -
-

- The following option is used to modify the layout configuration:

-
-
layout - (default: 0)
-
Eight different layouts are to be chosen from (see layout - configuration screen for the description of the available layouts).
-
-
- -
-

5.5 Sidebar configuration

-

- 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.

-

- The following option is used to change the width of the sidebar:

-
-
side-bar_width - (default: 0)
-
Width (in percentage, 0 being the minimum width) of the side bar.
-
-
- -

5.6 Benachrichtigungszeile einstellen

-

- Folgende Optionen ändern das Verhalten der Benachrichtigungszeile:

-
-
Benachrichtigungszeile_anzeigen (Voreinstellung: ja)
-
Mit dieser Option legen Sie fest, ob die Benachrichtigungszeile anzeigt werden soll.
-
Benachrichtigungszeile_Datum (Voreinstellung: %a %F)
-
Hiermit kann das Format festgelegt werden, wie das aktuelle Datum innerhalb - der Benachrichtigungszeile angezeigt werden soll. - Die möglichen Formatdefinitionen können Sie sich durch die Eingabe - von man 3 strftime auf der Kommandozeile anzeigen lassen.
-
Benachrichtigungszeile_Uhrzeit (Voreinstellung: %T)
-
Hiermit kann das Format festgelegt werden, wie die aktuelle Uhrzeit - innerhalb der Benachrichtigungszeile angezeigt werden soll. - Die möglichen Formatdefinitionen können Sie sich durch die - Eingabe von man 3 strftime auf der Kommandozeile anzeigen - lassen.
-
Benachrichtigungszeile_Alarm (Voreinstellung: 300)
-
Beginnt ein Termin innerhalb der nächsten, in 'Benachrichtigungszeile_Alarm' - festgelegten Sekunden, wird der Termin innerhalb der Benachrichtigungszeile - blinkend dargestellt. Auf diese Weise wird der Nutzer auf einen baldigen Termin - hingewiesen. - Außerdem wird der Befehl, der durch - Benachrichtigungszeile_Befehl definiert ist, ausgeführt.
-
Benachrichtigungszeile_Befehl (Voreinstellungt: printf '\a')
-
Diese Option zeigt an, welcher Befehl ausgeführt wird, - wenn ein bevorstehender Termin durch 'wichtig' gekennzeichnet ist. - Dieser Befehl wird auf dem Terminal des Benutzers ausgeführt. - Die $SHELL Umgebungsvariable wird bei der Wahl des - richtigen Terminals berücksichtigt. Ist diese Variable nicht - gesetzt, wird stattdessen /bin/sh zur Ausführung - gewählt. -

Beispiel: - Der mail Befehl ist auf dem System - des Benutzer verfügbar. Man kann den folgenden Befehl benutzen, - um an bevorstehende Termine erinnert zu werden (die Beschreibung - des Termins wird ebenso berücksichtigt im Mailkopf):

- -calcurse --next | mail -s "[calcurse] upcoming appointment!" user@host.com - -
- -
notify-daemon_enable - (default: no)
-
If set to yes, daemon mode will be enabled, meaning calcurse - 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 'Background mode'. -
-
notify-daemon_log - (default: no)
-
If set to yes, calcurse daemon activity will be logged (see section - files). -
-
- -

6. Bekannte Fehler

-

- Es kommt vor, dass Wörter bei Verwendung der schwarz/weißen - Farbkombination falsch hervorgehoben werden, wenn die - $TERM Variable auf xterm-color gesetzt ist. - Um diesen Fehler zu vermeiden, sollte nach Aussage von - Thomas E. Dickey (zuständig für xterm), - xterm-xfree86 an Stelle für xterm-color als - $TERM Variable gesetzt werden:

-
- "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)." -
- -

7. Mitteilung von Fehlern und Anregungen

-

-Bitte mailen Sie Fehler oder auch Anregungen an:

-
calcurse @ culot . org
-

-Oder an den Autor:

-
frederic @ culot . org
- -

8. Wie kann ich einen Beitrag leisten?

-

-Wenn Sie gerne dieses Projekt unterstützen möchten, können Sie mir -zuerst eine kurze Rückmeldung geben. Was finden Sie an diesem Programm gut -oder was könnte besser sein? Gibt es vielleicht Programmeigenschaften, die -Sie vermissen? Teilen Sie sie mir mit!

-

-Von nun an ist es auch möglich, sich an der Übersetzung der Programmmitteilungen -und der Dokumentation von calcurse zu beteiligen.

-

Beachte: - Jegliche Unterstützung calcurse - in andere Sprachen zu übersetzen ist sehr willkommen. Bevor Sie beginnen, sollten - Sie jedoch eine E-Mail an calcurse-i18n @ culot . org senden: So erfahren Sie, - ob jemand die Übersetzung in Ihrer Sprache schon begonnen hat.

- -

8.1 Übersetzung der Dokumentation

-

- Das doc/ Verzeichnis des Quellcodearchivs enthält bereits - übersetzte Versionen des calcurse Handbuchs. - Ist eine Übersetzung in Ihrer Sprache noch nicht vorhanden, - wäre es großartig, wenn Sie eine solche erstellen könnten.

-

- Kopieren Sie dazu eine der vorhandenen Version mit dem Dateinamen - manual_XX.html, wobei XX - das entsprechende Kürzel Ihrer Sprache ist. Übersetzen Sie diese - Datei anschließend und senden Sie sie dann an den Autor - (siehe Mitteilung von Fehlern und Anregungen), damit Ihre - Übersetzung der nächsten calcurse Version - hinzugefügt werden kann.

- -

8.2 calcurse i18n

-

- Wie bereits erwähnt, verwendet calcurse die gettext - Utilities um mehrsprachige Programmmitteilungen zu erzeugen. - Dieser Abschnitt informiert Sie darüber, wie Programmmitteilungen in Ihre - Muttersprache übersetzt werden. Dieses Howto zur Übersetzung von - calcurse mittels gettext ist natürlich nur als Einstieg - gedacht und mit Absicht recht knapp gehalten. Um umfassendere Informationen - zu erhalten und sich die große weite Welt der Internationalisierung von Software zu - erschließen, sollten Sie die Seite der GNU - gettext-Anleitung besuchen:

-
http://www.gnu.org/software/gettext/manual/
-

- An der Übersetzung sind im Grunde drei verschiedene Entwickler beteiligt: - Programmierer, Sprachkoordinator und Übersetzer. - Nach einem kurzen Überblick, wie so etwas funktioniert, werden anschließend die - Aufgaben des Übersetzers beschrieben.

- - -

8.2.1 Überblick

-

-Um Text in der Muttersprache des Benutzers erscheinen zu lassen, sind zwei Schritte nötig: -Internationalisierung -(i18n) und Lokalisierung (l10n).

-

- Bei der i18n geht es darum, calcurse auf die Unterstützung mehrerer - Sprachen vorzubereiten. Dies ist die Aufgabe des Programmierers, der die zu - übersetzenden Texte markiert und andererseits sicherstellen muss, dass zur Laufzeit - des Programms der übersetzt Text erscheint.

-

- Bei der l10n geht es darum, dem bereits internationalisierten - also i18n markierten - - calcurse die entsprechende Übersetzung des Benutzers zur Verfügung - zu stellen. - Gemäß den Umgebungsvariablen ersetzt calcurse die zuvor vom - Programmierer markierten Texte durch die entsprechenden Übersetzungen.

-

- Die zu übersetzenden Texte werden also zunächst vom Programmierer im - C-Quellcode markiert und in einem Template (calcurse.pot - - die Dateierweiterung pot steht für portable object template) - gesammelt. Anschließend wird der Inhalt dieses Templates mit den Dateien, die - die Übersetzungen enthalten zusammengeführt (fr.po enthält - beispielsweise die Französische Übersetzung (po steht hierbei - für portable object, also ein von Menschen les- und veränderbares - Dateiformat), - Der Übersetzer kann diese Datei öffnen, die enthaltenen Texte übersetzen - und sie dann an den Programmierer zurück senden. - Wird das Programm compiliert, erzeugt der Compiler (aus Gründen der Effizienz) - eine binäre Version dieser Datei, die später installiert wird (fr.mo - - mo steht für machine object; dieses Format kann nur von - Programmen gelesen werden). calcurse nutzt diese Datei zur Laufzeit, - um die Texte in Abhängigkeit der lokalen Einstellungen des Benutzers zu - übersetzen.

- - -

8.2.2 Aufgaben des Übersetzers

-

- Wenn Sie mit der Übersetzung in eine neue Sprache beginnen möchten, - finden Sie hierzu die nötigen Schritte:

-
    -
  • Finden Sie zunächst das Kürzel Ihrer Sprache heraus. - Beispielsweise ist das Kürzel für Französisch 'fr_FR', oder - einfach nur 'fr'. Diesen Wert muss der Benutzer der Umgebungsvariablen - LC_ALL zuweisen, um die Software übersetzt starten zu können - (siehe Umgebungsvariable für i18n).
  • -
  • Wechseln Sie dann ins po/ Verzeichnis und erzeugen Sie aus dem Template - mit dem folgendem Aufruf eine neue po-Datei: - 'msginit -i calcurse.pot -o fr.po -l fr --no-translator' - Sollte msginit nicht auf Ihrem System installiert sein, kopieren Sie einfach - die Datei calcurse.pot nach fr.po und änderen Sie den Inhalt am - Anfang der Datei von Hand.
  • -
-

- Wurde die Datei fr.po erstellt, kann mit der eigentlichen Übersetzung - begonnen werden.

- - -

8.2.3 po-Dateien

-

- Das Format der po-Dateien ist relativ einfach. po-Dateien gliedern sich in lediglich - vier Bestandteile:

-
    -
  1. location Zeilen: geben an, wo sich der Text befindet (Name der Datei und Zeilennummer).
  2. -
  3. msgid Zeilen: der ursprüngliche, also zu übersetzende Text.
  4. -
  5. msgstr Zeilen: der übersetzte Text.
  6. -
  7. Zeilen, die mit '#' beginnen: Kommentare (einige mit spezieller Bedeutung, - wie wir weiter unten noch sehen werden).
  8. -
-

- Übersetzen Sie die msgid Zeilen und tragen Sie den übersetzten Text in die - sich direkt darunterbefindlichen, mit msgstr gekennzeichneten Zeilen ein.

-

- Einige Anmerkungen: -

-
Fuzzy Texte
-
Einige Texte sind mit "#, fuzzy" kommentiert. calcurse nutzt - derart markierte Texte nicht. Ein als fuzzy markierter Text deutet entweder darauf hin, dass - der Text schon übersetzt wurde, aber die Stelle im Programmcode verändert wurde, oder - aber es handelt sich um einen neuen Text, für welchen gettext eine sog. 'wild - guess' vornimmt, also selbst eine Übersetzung versucht. - Das bedeutet, die Übersetzung sollte noch einmal überarbeitet werden. - Manchmal wurde der Originaltext verändert, weil ein Rechtschreibfehler korrigiert wurde. - In einem solchen Fall muss nichts geändert werden. - Mitunter ist die Übersetzung aber nicht mehr passend oder schlichtweg falsch und muss - abgeändert werden. - Entfernen Sie die "#, fuzzy"-Zeilen, wenn Sie mit Ihrer Übersetzung fertig - sind, damit calcurse die übersetzten Zeilen wieder verwendet und anzeigt.
-
c-Format Texte und besondere Sequenzen
-
Einige Texte haben folgende Kommentare: "#, c-format". - Dieser Kommentar weist darauf hin, dass Teile dieses Textes eine besondere Bedeutung - haben und dieser Text nicht verändert werden sollte. - Beispielsweise bedeuten die %-Sequenzen, wie "%s", dass calcurse - dort Text einfügen wird. Es ist also wichtig, diese nicht zu verändern. - Ebenso kommen \-Sequenzen , wie etwa \n oder \t vor. Bitte - nehmen Sie auch hier keine Veränderungen vor. Erstere stellt das Zeilenende dar, - letztere einen Tabulator.
-
Übersetzungen können in Blöcke geschrieben werden
-
Sollten Zeilen zu lang werden, können sie auf mehrere verteilt werden: -
-msgid ""
-"some very long line"
-"another line"
-        
-
po-Header
-
Ganz zu Anfang einer po-Datei befindet sich der Header, der einige Informationen enthält. - Die wichtigste Information ist der Zeichensatz. Er sollte diesem ähnlich sein -
-"Content-Type: text/plain; charset=utf-8\n"
-        
- Auch das Übersetzer-Feld sollte ausgefüllt sein, damit potentielle Mitstreiter, - die sich an der Übersetzung beteiligen wollen, mit Ihnen Kontakt aufnehmen können. - Ebenso können von anderen entdeckte Fehler an den Übersetzer gemeldet werden. Geben - Sie Ihren Namen an, oder tragen Sie Ihre E-Mail-Adresse ein. Zum Beispiel folgendermaßen: -
-"Last-Translator: Frederic Culot <frederic@culot.org>\n"
-        
-
Kommentare
-
Das Hinzufügen von Kommentaren (Zeilen beginnen mit dem '#' Zeichen) ist eine gute - Möglichkeit, um Probleme und Übersetzungsschwierigkeiten anderen besser - mitteilen zu können.
-
Längen der Texte
-
calcurse ist ein curses/Konsolen Programm und ist somit stark von der - Größe des Terminals (Anzahl der Spalten) abhängig. Dies sollte bei - der Übersetzung berücksichtigt werden. Häufig müssen Texte in - eine einzige Zeile passen (Standardlänge ist 80 Zeichen). - Übersetzen Sie nicht blindlings darauf los! Versuchen Sie herauszufinden, wo der - Text angezeigt wird, um die Übersetzung entsprechend anzupassen.
-
Ein paar nützliche Programme
-
Das po-Dateiformat ist sehr einfach und kann mit jedem Standard-Editor bearbeitet werden. - Es gibt aber auch einige spezielle Tools die das Erstellen und Änder der po-Dateien - vereinfachen: - -
-
Zu Schluss noch
-
Ich hoffe es wird Ihnen Freude bereiten, wenn Sie sich an diesem Projekt und - seiner Internationalisierung beteiligen :). Bitte scheuen Sie sich nicht, mir - eine E-Mail, frederic @ culot . org, zu schreiben, sollten noch Fragen offen sein.
-
- - -

9. Links

-

-Dieser Abschnitt enthält Links und Angaben, die Sie interessieren -könnten.

- -

9.1 calcurse Internetseite

-

-Die Internetseite des Projekts calcurse lautet:

-
http://culot.org/calcurse
- -

9.2 calcurse Ankündigungsliste

-

-Wenn Sie an calcurse Interesse gefunden haben und Sie gerne -über Neuerscheinungen informiert werden möchten, können Sie sich -gerne in calcurses Ankündigungsliste eintragen.

-

-Sobald eine neue Version veröffentlicht wird, werden Sie per E-Mail über -die neusten Eigenschaften von calcurse informiert
-Um sich in die Liste einzutragen, schicken Sie einfach eine E-Mail mit dem Betreff -"subscribe" an calcurse-announce @ culot . org.

- -

9.3 calcurse RSS feed

-

- Um über neue Programmversionen informiert zu werden, können Sie - auch einfach den folgenden RSS-Feed aufrufen:

-
http://culot.org/calcurse/news_rss.xml
-

- Sobald eine neue calcurse-Version verfügbar ist wird - der RSS-Feed aktualisiert und enthält eine Beschreibung der neu - hinzugekommenen Programmfunktionen.

- -

9.4 Other links

-
-

- You may want to look at the ical format specification (rfc2445) at: -

http://tools.ietf.org/html/rfc2445
-

- The pcal project page can be found at: -

http://pcal.sourceforge.net/
-
- -

10. Danksagungen

-

-Folgenden Leuten möchte ich gerne für Ihre Unterstützung danken, ohne -die dieses Projekt nicht möglich gewesen wäre. Hier ist die Liste -derjenigen, denen ich Danke sagen möchte: -

    -
  • Alex für die Patches, Hilfen und Erläuterungen zur C Programmierung.
  • -
  • Gwen fürs Testen und die Anregungen, wie calcurse verbessert werden kann.
  • -
  • Herbert für das Binary-Packet auf FreeBSD
  • -
  • Zul für das Binary-Packet auf NetBSD
  • -
  • Wain, Steffen und Ronald für das Binary-Packet auf Archlinux
  • -
  • Kevin, Ryan, und fEnIo für das Binary-Packet auf Debian und Ubuntu.
  • -
  • Pascal für das Binary-Packet auf Slackware
  • -
  • Alexandre für das Binary-Packet auf Mac OsX und Darwin.
  • -
  • Igor für das Binary-Packet auf ALT Linux
  • -
  • Joel für sein Kalender-Skript, das mich zum Calcurse-Layout inspiriert hat.
  • -
  • Michael Schulz und Chris M. für die Übersetzung der Dokumentation ins Deutsche.
  • -
  • Jose Lopez für die Übersetzung der Dokumentation ins Spanische.
  • -
  • Neil Williams für die Übersetzung ins Englische.
  • -
  • Leandro Noferini für die Übersetzung ins Italienisches.
  • -
  • Tony für seine Patches, welche die Funktion -recur_item_inday() verbessern half -, and for implementing the date format configuration options
  • -
  • Jeremy Roon für die Übersetzung ins Dutch.
  • -
  • Erik Saule for its patch implementing the '-N', '-s', '-S', '-r' and '-D' flags
  • -
  • Leute die Programme geschrieben haben, die ich mag und mich inspiriert haben, insbesondere: -
      -
    • vim für die Befehlssteuerung
    • -
    • orpheus und abook für die Dokumentation
    • -
    • pine und aptitude für das Text-Benutzer-Interface
    • -
    • tmux for coding style
    • -
  • -
-

-

-Und zuletzt, vielen vielen Dank an alle calcurse -Benutzer, die mir Ihr Feedback mitgeteilt haben.

- - -
- - - diff --git a/doc/manual_en.html b/doc/manual_en.html deleted file mode 100644 index 89ba526..0000000 --- a/doc/manual_en.html +++ /dev/null @@ -1,1331 +0,0 @@ - - - - - -CALCURSE documentation - - - - - -
- -

-CALCURSE - text-based organizer

- -
-

Abstract

This manual describes calcurse 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 -calcurse behavior. Last, bug reporting procedure is explained, as -well as the way one can contribute to calcurse development. -
- - - -

1. Introduction

-

-calcurse 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. -

- -

2. Overview

-

2.1 Creation history

-

- 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 ;) -

-

- 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 C - 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 - C things ! -

-

- Unfortunately, I finished my Ph.D. before finishing - calcurse, - but anyway, I still wanted to work on it, hoping it would - be helpful to other people. So here it is... -

-

- But why 'calcurse' anyway ? Well, it is simply the - concatenation of 'CALendar' and 'nCURSEs', the name of the - library used to build the user interface. -

- -

2.2 Important features

-

- Calcurse 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. -

-

- Calcurse 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 - calcurse with appropriate command line arguments - inside a cron tab or within a shell init script. -

-

- Moreover, calcurse 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. -

- -

3. Installation

-

3.1 Requirements

-

3.1.1 ncurses library

-

- Calcurse requires only a C compiler, such as - cc or gcc, and the ncurses - library. - It would be very surprising not to have a valid ncurses - library already installed on your computer, but if not, you can - find it at the following url :

-
http://ftp.gnu.org/pub/gnu/ncurses/
-

-

Note: - It is also possible to link calcurse against the - ncursesw library (ncurses with support for unicode). - However, UTF-8 is not yet supported by calcurse.

- -

3.1.2 gettext library

-

- calcurse supports internationalization - (i18n hereafter) through the gettext - utilities. This means calcurse can produce - multi-lingual messages if compiled with native language - support (i.e. NLS). -

-

- However, - NLS 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 --disable-nls option to - configure (see section Install process). - To check if the gettext utilities are - installed on your system, you can search for the - libintl.h header file for instance:

-
locate libintl.h
-

- If this header file is not found, then you can obtain the - gettext sources at the following url :

-
http://ftp.gnu.org/pub/gnu/gettext/
-

-

Note: - Even if libintl.h is found on your - system, it can be wise to specify its location during the install process, by using the - --with-libintl-prefix option with - configure. Indeed, the configure - could fail to locate this library if installed in an uncommon - place.

- - -

3.2 Install process

-

- First you need to gunzip and untar the source archive:

-
tar zxvf calcurse-2.8.tar.gz
-

- Once you meet the requirements and have extracted the archive, - the install process is quite simple, and follows the standard - three steps process: -

    -
  1. ./configure
  2. -
  3. make
  4. -
  5. make install (may require root privilege)
  6. -
-

-

- Use ./configure --help to obtain a list of - possible options. -

- -

4. calcurse basics

-

4.1 Invocation

-

4.1.1 Command line arguments

-

- calcurse takes the following options from the - command line (both short and long options are supported):

-

- -

-
-a, --appointment
-
- Print the appointments and events for the current day and exit. -

Note: the calendar from - which to read the appointments can be specified using the '-c' - flag.

-
-
-c <file>, --calendar <file>
-
- Specify the calendar file to use. - The default calendar is ~/.calcurse/apts - (see section calcurse - files). -
-
-d <date|num>, --day <date|num>
-
- 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: -
    -
  • a date (possible formats described below).
  • -
  • a number 'n'.
  • -
- In the first case, the appointment list for the - specified date will be returned, while in the second - case the appointment list for the 'n' upcoming days - will be returned. - As an example, typing calcurse -d 3 - 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 - General options), using the - input_datefmt variable. - -

Note: as for the '-a' - flag, the calendar from which to read the appointments - can be specified using the '-c' flag.

-
-
-D <dir>, --directory <dir>
-
- Specify the data directory to use. This option is - incompatible with -c. If not specified, the - default directory is '~/.calcurse/'. -
-
-h, --help
-
- Print a short help text describing the supported - command-line options, and exit.
-
-i <file>, --import <file>
-
- Import the icalendar data contained in file. -
-
-n, --next
-
- Print the next appointment within upcoming 24 hours and exit. - The indicated time is the number of hours and minutes left - before this appointment. -

Note: the calendar - from which to read the appointments can be specified using the - '-c' flag.

-
-
-N, --note
-
- When used with the '-a' or '-t' flag, also print note content - if one is associated with the displayed item. -
-
-r[num], --range[=num]
-
- Print events and appointments for the num number of - days and exit. If no num is given, a range of 1 day - is considered. -
-
-s[date], --startday[=date]
-
- Print events and appointments from date and exit. - If no date is given, the current day is considered. -
-
-S<regex>, --search=<regex>
-
- When used with the '-a', '-d', '-r', '-s', or '-t' flag, - print only the items having a description that matches the given - regular expression. -
-
--status
-
- 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. -
-
-t[num], --todo[=num]
-
- Print the 'todo' list and exit. If the optional number - num is given, then only todos having a priority - equal to num will be returned. 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.

-
-
-v, --version
-
- Display calcurse version and exit. -
-
-x[format], --export[=format]
-
- 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 Links below). - If the optional argument format is not given, - ical format is selected by default. -

Note: - redirect standard output to export data to a file, - by issuing a command such as: - $ calcurse --export > my_data.dat

-
-
- -

4.1.2 Environment variable for i18n

-

- calcurse can be compiled with native language - support (see gettext - library). Thus, if you wish to have messages displayed - into your native language, first make sure it is available by - looking at the po/LINGUAS file. - This file indicates the set of available languages by showing - the two-letters corresponding code (for exemple, - fr - stands for french). If you do not find your language, it - would be greatly appreciated if you could help translating - calcurse (see the How to - contribute? section).

-

- If your language is available, run - calcurse with the following command:

-
LC_ALL=fr_FR calcurse
-

- where fr_FR is the locale name in this exemple, but - should be replaced by the locale corresponding to the desired - language.

-

- 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 calcurse using the following command:

-
LC_ALL=fr_FR.ISO8859-1 calcurse
- -

4.1.3 Other environment variables

-

- The following environment variables affect the way calcurse - operates:

-
-
VISUAL
-
Specifies the external editor to use for writing notes. -
-
EDITOR
-
If the VISUAL environment variable - is not set, then EDITOR will be used as - the default external editor. If none of those variables are set, - then /usr/bin/vi is used instead. -
-
PAGER
-
Specifies the default viewer to be used for reading notes. - If this variable is not set, then /usr/bin/less is used. -
-
- -

4.2 User interface

-

4.2.1 Non-interactive mode

-

- When called with at least one of the following arguments: - -a, -d, -h, - -n, -t, -v, - -x, - calcurse is started in non-interactive mode. - This means the desired information will be displayed, and - after that, calcurse simply quits and you are - driven back to the shell prompt.

-

- That way, one can add a line such as - 'calcurse --todo --appointment' - in its init config file to display at logon the list of tasks - and appointments scheduled for the current day.

- - -

4.2.2 Interactive mode

-

-

Note: - Key bindings that are indicated in this manual correspond to - the default ones, defined when calcurse 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 key bindings).

- -

When called without any argument or only with the - -c option, calcurse is started in - interactive mode. In this mode, you are shown an interface - containing three different panels which you can browse using - the 'TAB' key, plus a notification bar and a status bar - (see figure below).

-
-
- 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
- |                                    ||                            |   |
- |                                    ||                            |   |
- |                                    ||                            |<--.
- |                                    ||                            |
- +------------------------------------++----------------------------+
- |---[ Mon 2006-11-22 | 10:11:43 ]---(apts)----> 01:20 :: lunch <---|<--.
- +------------------------------------------------------------------+ notify-bar
- | ? Help     R Redraw    H/L -/+1 Day      G GoTo       C Config   | 
- | Q Quit     S Save      J/K -/+1 Week   Tab Chg View              |<-. 
- +------------------------------------------------------------------+  |
-                                                                       |
-                                                                 status bar
-
-        
-

- 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.

-

- 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:

-
-
-+------------------------------------+
-|              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
-+------------------------------------+
-
-        
-

- The current week number is displayed on the top-right side of the panel - (# 13 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. -

- -

- In the appointment panel, one can notice the '(|)' 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: -

-
' |) ':
-
first quarter
-
' (|) ':
-
full moon
-
' (| ':
-
last quarter
-
' | ':
-
new moon
-
no sign:
-
phase of the moon does not correspond to any of - the above ones
-
-

-

- At the very bottom of the screen there is a status bar, which - indicates the possible actions and the corresponding keystrokes.

-

- 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.

-

Note: - 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.

-

- Within this editor, if a line is longer than the screen width, - a '>', '*', or '<' 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.

-

- Moreover, some editing commands are bound to particular control - characters. Hereafter are indicated the available editing commands - ('^' stands for the control key): -

-
^a:
-
moves the cursor to the beginning of the input line
-
^b:
-
moves the cursor backward
-
^d:
-
deletes one character forward
-
^e:
-
moves the cursor to the end of the input line
-
^f:
-
moves the cursor forward
-
^h:
-
deletes one character backward
-
^k:
-
deletes the input from the cursor to the end of the line
-
ESCAPE:
-
cancels the editing
-
-

- -

4.3 Background mode

- -

When the daemon mode is enabled in the notification configuration menu -(see Notify-bar settings), calcurse will stay -in background when the user interface is not running. In background mode, -calcurse checks for upcoming appointments and runs the user-defined -notification command when necessary. When the user interface is started again, -the daemon automatically stops.

- -

calcurse background activity can be logged (set the -notify-daemon_log variable in the notification configuration -menu), and in that case, information about the daemon -start and stop time, reminders' command launch time, signals received... will be written -in the daemon.log file (see section files).

- -

-Using the --status command line option (see section -Command line arguments), -one can know if calcurse 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): -

calcurse is running in background (pid 14536)
- -

Note: -To stop the daemon, just send the TERM signal to it, using a command such as: -'kill daemon_pid', where daemon_pid is the process id -of the daemon (14536 in the above example). -

- - -

4.4 calcurse files

-

- The following structure is created in your $HOME - directory (or in the directory you specified with the -D option) - the first time calcurse is run :

-
-$HOME/.calcurse/
-           |___notes/
-           |___conf
-           |___keys
-           |___apts
-           |___todo
-        
-
-
notes/:
-
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.
-
conf:
-
this file contains the user configuration
-
keys:
-
this file contains the user-defined key bindings
-
apts:
-
this file contains all of the events and user's appointments
-
todo:
-
this file contains the todo list
-
- -

Note: - If the logging of calcurse daemon activity was set in the notification - configuration menu, the extra file daemon.log will appear - in calcurse data directory. This file contains logs about calcurse activity - when running in background. -

- -

4.5 Import/Export capabilities

-

- The import and export capabilities offered by calcurse - are described below. -

- -

4.5.1 Import

-

- Data in icalendar format as described in the rfc2445 specification - (see links 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. -

-

- The following icalendar properties are handled by calcurse: -

    -
  • VTODO items:
    - "PRIORITY", "VALARM", "SUMMARY", "DESCRIPTION"
  • -
  • VEVENT items:
    - "DTSTART", "DTEND", "DURATION", "RRULE", "EXDATE", "VALARM", "SUMMARY", - "DESCRIPTION"
  • -
-

-

- 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). -

-

- Here are the properties that are not implemented: -

    -
  • negative time durations are not taken into account (item is skipped)
  • -
  • some recurence frequences are not recognize:
    - "SECONDLY" / "MINUTELY" / "HOURLY"
  • -
  • some recurrence keywords are not recognized - (all those starting with 'BY'):
    - "BYSECOND" / "BYMINUTE" / "BYHOUR" / "BYDAY" / "BYMONTHDAY"
    - "BYYEARDAY" / "BYWEEKNO" / "BYMONTH" / "BYSETPOS"
    - plus "WKST"
  • -
  • the recurrence exception keyword "EXRULE" is not recognized
  • -
  • timezones are not taken into account
  • -
-

- -

4.5.2 Export

-

- Two possible export formats are available: ical and - pcal (see section Links below - to find out about those formats). -

- -

4.6 Online help

-

- At any time, the built-in help system can be invoked by - pressing the '?' key. Once viewing the help screens, - informations on a specific command can be accessed by pressing - the keystroke corresponding to that command. -

- -

5. Options

-

- All of the calcurse parameters are configurable from the - Configuration menu available when pressing 'C'. You are then - driven to a submenu with five possible choices : pressing 'C' - again will lead you to the Color scheme configuration, - pressing 'L' allows you to choose the layout of the main - calcurse screen (in other words, where to put the three - different panels on screen), pressing 'G' permits you to choose between - different general options, pressing 'K' opens the key bindings configuration - menu, and last you can modify the notify-bar settings by pressing 'N'.

- -

5.1 General options

-

- These options control calcurse general behavior, - as described below:

-
-
auto_save - (default: yes)
-
This option allows to automatically save the user's data - (if set to yes) when quitting. -

warning: - No data will be automatically saved if - auto_save is set to no. - This means the user must press 'S' (for saving) in order to - retrieve its modifications.

-
-
periodic_save - (default: 0)
-
If different from '0', user's data will be automatically - saved every periodic_save minutes. - When an automatic save is performed, two asterisks - (i.e. '**') will appear on the top right-hand side - of the screen).

-
-
confirm_quit - (default: yes)
-
If set to yes, confirmation is required before - quitting, otherwise pressing 'Q' will cause calcurse - to quit without prompting for user confirmation. -
-
confirm_delete (default: yes)
-
If this option is set to yes, pressing 'D' for - deleting an item (either a todo, - appointment, - or event), 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. -
-
skip_system_dialogs - (default: no)
-
Setting this option to yes 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. -
-
skip_progress_bar - (default: no)
-
If set to yes, this will cause the disappearing of the - progress bar which is usually shown when saving data to file. - If set to no, this bar will be displayed, together with - the name of the file being saved - (see section calcurse files). -
-
calendar_default_view - (default: 0)
-
If set to 0, the monthly calendar view will be - displayed by default otherwise it is the weekly view that will be displayed. -
-
week_begins_on_monday - (default: yes)
-
One can choose between Monday and Sunday as the first day of the - week. If the option week_begins_on_monday is set to - yes, Monday will be first in the calendar view. Else if - the option is set to no, then Sunday will be the first - day of the week.
-
output_datefmt - (default: %D)
-
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: mm/dd/aa. - You can see all of the possible formats by typing man 3 strftime - inside a terminal.
-
input_datefmt - (default: 1)
-
This option indicates the format that will be used to enter dates in - calcurse. Four choices are available: -
    -
  1. mm/dd/yyyy
  2. -
  3. dd/mm/yyyy
  4. -
  5. yyyy/mm/dd
  6. -
  7. yyyy-mm-dd
  8. -
-
-
- - -

5.2 Key bindings

-

- One can define it's own keybindings within the 'Keys' configuration - menu. The default keys look like the one used by the vim - editor, especially the displacement keys. Anyway, within this - configuration menu, users can redefine all of the keys available from - within calcurse's user interface.

-

- 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.

-

- 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.

-

- The following keys can be used to define bindings: -

    -
  • lower-case, upper-case letters and numbers, such as 'a', 'Z', '0'
  • -
  • CONTROL-key followed by one of the above letters
  • -
  • escape, horizontal tab, and space keys
  • -
  • arrow keys (up, down, left, and right)
  • -
  • 'HOME' and 'END' keys
  • -

-

- 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.

- - -

5.3 Color themes

-

- calcurse 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 'X' 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.

-

- 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.

-

Notes: - Depending on your terminal type and on the value of the - $TERM 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 calcurse to display them, try to set your - $TERM variable to another value (such as - xterm-xfree86 for instance). -

- - -

5.4 Layout configuration

-

- The layout corresponds to the position of the panels inside - calcurse 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 - Interactive mode - for an exemple of the default layout). - By choosing another layout in the configuration screen, user - can customize calcurse appearence to best suit - his needs by placing the different panels where needed.

-

- The following option is used to modify the layout configuration:

-
-
layout - (default: 0)
-
Eight different layouts are to be chosen from (see layout - configuration screen for the description of the available layouts).
-
- -

5.5 Sidebar configuration

-

- 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.

-

- The following option is used to change the width of the sidebar:

-
-
side-bar_width - (default: 0)
-
Width (in percentage, 0 being the minimum width) of the side bar.
-
- - -

5.6 Notify-bar settings

-

- The following options are used to modify the notify-bar behavior:

-
-
notify-bar_show - (default: yes)
-
This option indicates if you want the notify-bar to be displayed - or not.
-
notify-bar_date - (default: %a %F)
-
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 man 3 strftime - inside a terminal.
-
notify-bar_time - (default: %T)
-
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 man 3 strftime - inside a terminal.
-
notify-bar_warning - (default: 300)
-
When there is an appointment which is flagged as 'important' - within the next 'notify-bar_warning' - seconds, the display of that appointment inside the notify-bar - starts to blink. - Moreover, the command defined by the notify-bar_command - option will be launched. - That way, the user is warned and knows there - will be soon an upcoming appointment. -
-
notify-bar_command - (default: printf '\a')
-
This option indicates which command is to be launched when there is an - upcoming appointment flagged as 'important'. 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 $SHELL environment variable - is used. If this variable is not set, /bin/sh is used - instead. -

Example: - Say the mail 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):

- -calcurse --next | mail -s "[calcurse] upcoming appointment!" user@host.com - -
-
notify-daemon_enable - (default: no)
-
If set to yes, daemon mode will be enabled, meaning calcurse - 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 'Background mode'. -
-
notify-daemon_log - (default: no)
-
If set to yes, calcurse daemon activity will be logged (see section - files). -
-
- -

6. Known bugs

-

- Incorrect highlighting of items appear when using calcurse - black and white theme together with a $TERM - variable set to xterm-color. - To fix this bug, and as advised by Thomas E. Dickey - (xterm maintainer), xterm-xfree86 - should be used instead of xterm-color to set - the $TERM variable:

-
- "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)." -
- -

7. Reporting bugs and feedback

-

- Please send bug reports and feedback to:

-
calcurse .at. culot .dot. org
-

- or to the author:

-
frederic .at. culot .dot. org
- -

8. How to contribute?

-

- 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 calcurse. - For now on, possible contributions concern the translation - of calcurse messages and documentation.

-

Note: - any help in getting calcurse - internationalized would be very welcomed, but before - contributing, send a mail to - calcurse-i18n .at. culot .dot. org to know if someone - already started the translation process into your language.

- -

8.1 Translating documentation

-

- The doc/ directory of the source package already - contains translated version of calcurse - manual. However, if the manual is not yet available into your - native language, it would be appreciated if you could help - translating it.

-

- To do so, just copy one of the existing manual - file to manual_XX.html, where XX - identifies your language. Then translate this newly created - file and send it to the author (see Reporting - bugs and feeback), so that it can be included in the - next calcurse release.

- -

8.2 calcurse i18n

-

- As already mentioned, gettext utilities are used - by calcurse to produce multi-lingual - messages. This section provides informations about how to - translate those messages into your native language. However, - this howto is deliberately incomplete, focusing on working - with gettext for calcurse - specifically. For more comprehensive informations or to grasp - the Big Picture of Native Language Support, you should refer - to the GNU gettext manual at:

-
http://www.gnu.org/software/gettext/manual/ 
-

- 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.

- - -

8.2.1 Overview

-

- To be able to display texts in the native language of the - user, two steps are required: internationalization - (i18n) and localization (l10n).

-

- i18n is about making - calcurse support multiple languages. It is - performed by coders, who will mark translatable texts and - provide a way to display them translated at runtime.

-

- l10n is - about making the i18n'ed calcurse adapt to the - specific language of the user, ie translating the strings - previously marked by the developers, and setting the - environment correctly for calcurse to use the - result of this translation.

-

- So, translatable strings are first marked by the coders within - the C source files, then gathered in a template - file (calcurse.pot - the pot extension - meaning portable object template). The content of - this template file is then merged with the translation files - for each language (fr.po for french, for instance - - with po standing for portable object, 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 - (fr.mo - mo stands for - machine - object, ie meant to be read by programs), and then - installed. Then calcurse will use this file at - runtime, translating the strings according to the locale - settings of the user.

- - -

8.2.2 Translator tasks

-

- Suppose someone wants to initiate the translation of a new - language. Here are the steps to follow:

-
    -
  • First, find out what the locale name is. For instance, for - french, it is 'fr_FR', or simply 'fr'. This is the value the - user will have to put in his LC_ALL environment - variable for software to be translated (see Environment variable for - i18n).
  • -
  • Then, go into the po/ directory, and create a new po-file - from the template file using the following command: - 'msginit -i calcurse.pot -o fr.po -l fr --no-translator' - If you do not have msginit installed on your - system, simply copy the calcurse.pot file to - fr.po and edit the header by hand.
  • -
-

- Now, having this fr.po file, the translator is ready - to begin.

- - -

8.2.3 po-files

-

- The format of the po-files is quite simple. Indeed, po-files - are made of four things:

-
    -
  1. location lines: tells you where the strings can - be seen (name of file and line number), in case you need to - see a bit of context.
  2. -
  3. msgid lines: the strings to translate.
  4. -
  5. msgstr lines: the translated strings.
  6. -
  7. lines prefixed with '#': comments (some with a - special meaning, as we will see below).
  8. -
-

- Basically, all you have to do is fill the msgstr - lines with the translation of the above msgid - line.

-

- A few notes: -

-
Fuzzy strings
-
You will meet strings marked with a "#, fuzzy" - comment. calcurse 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 - gettext made a 'wild guess' 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 - "#, fuzzy" line, and the translation will be used - again in calcurse.
-
c-format strings and special sequences
-
Some strings have the following comment: "#, - c-format". 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 - "%s". These means that calcurse will - replace them with another string. So it is important it - remains. There are also \-sequences, like \n or - \t. Leave them, too. The former represents an end - of line, the latter a tabulation.
-
Translations can be wrapped
-
If lines are too long, you can just break them like this: -
-msgid ""
-"some very long line"
-"another line"
-        
-
po-file header
-
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 -
-"Content-Type: text/plain; charset=utf-8\n"
-        
- 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: -
-"Last-Translator: Frederic Culot <frederic@culot.org>\n"
-        
-
Comments
-
Adding comments (lines begining with the '#' character) can be - a good way to point out problems or translation difficulties - to proofreaders or other members of your team.
-
Strings size
-
calcurse 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.
-
A few useful tools
-
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: - -
-
And finally
-
I hope you'll have fun contributing to a more - internationalized world. :) If you have any more questions, - don't hesitate to contact me at - frederic .at. culot .dot. org.
-
- - -

9. Links

-

- This section contains links and references that may be of - interest to you.

- -

9.1 calcurse homepage

-

- The calcurse homepage can be found at

-
http://culot.org/calcurse
- -

9.2 calcurse announce list

-

- If you are interested in the project and want to be warned - when a new release comes out, you can subscribe to the - calcurse announce list. In doing so, you will - receive an email as soon as a new feature appears in - calcurse.

-

- To subscribe to this list, send a message to - calcurse-announce .at. culot .dot. org - with "subscribe" in the subject field.

- -

9.3 calcurse RSS feed

-

- Another possibility to get warned when new releases come out - is to follow the RSS feed at:

-
http://culot.org/calcurse/news_rss.xml
-

- This RSS feed is updated each time a new version of calcurse is - available, describing newly added features.

- -

9.4 Other links

-

- You may want to look at the ical format specification (rfc2445) at: -

http://tools.ietf.org/html/rfc2445
-

- The pcal project page can be found at: -

http://pcal.sourceforge.net/
- -

10. Thanks

-

- 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 : -

    -
  • Alex for its patches, help and advices with C programming
  • -
  • Gwen for testing and general discussions about how to - improve calcurse
  • -
  • Herbert for packaging calcurse for FreeBSD
  • -
  • Zul for packaging calcurse for NetBSD
  • -
  • Wain, Steffen and Ronald for packaging calcurse for Archlinux
  • -
  • Kevin, Ryan, and fEnIo for packaging calcurse for Debian - and Ubuntu
  • -
  • Pascal for packaging calcurse for Slackware
  • -
  • Alexandre and Markus for packaging calcurse for Mac OsX - and Darwin
  • -
  • Igor for packaging calcurse for ALT Linux
  • -
  • Joel for its calendar script which inspired calcurse - calendar view
  • -
  • Michael Schulz and Chris M. for the german translation of - calcurse and its manual
  • -
  • Jose Lopez for the spanish translation of - calcurse and its manual
  • -
  • Neil Williams for the english translation
  • -
  • Leandro Noferini for the italian translation
  • -
  • Tony for its patch which helped improving the - recur_item_inday() function, and for implementing the date format configuration - options
  • -
  • Jeremy Roon for the dutch translation
  • -
  • Erik Saule for its patch implementing the '-N', '-s', '-S', '-r' and '-D' flags
  • -
  • people who write softwares I like and which inspired me, - especially : -
      -
    • vim for the displacement keys
    • -
    • orpheus and abook for documentation
    • -
    • pine and aptitude - for the text user interface
    • -
    • tmux for coding style
    • -
  • -
-

-

- And last, many many thanks to all of the calcurse - users who sent me their feedback.

- - -
- - - diff --git a/doc/manual_es.html b/doc/manual_es.html deleted file mode 100644 index 2787b2c..0000000 --- a/doc/manual_es.html +++ /dev/null @@ -1,1347 +0,0 @@ - - - - - -CALCURSE documentación - - - - - -
- -

-CALCURSE - organizador basado en modo texto

- -
-
-

Abstract

This manual describes calcurse 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 -calcurse behavior. Last, bug reporting procedure is explained, as -well as the way one can contribute to calcurse development. -
-
- - - -

1. Introducción

-

- calcurse 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. -

- -

2. Descripción

-

2.1 Historia

-

- 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. -

- -

2.2 Características importantes

-

- 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. -Key bindings are also configurable, to fit everyone's needs. - Finalmente, un sistema de notificacion recuerda al usuario sus proximas citas. -The reminders are sent even if the user's interface -is not running, as calcurse is able to run in background. -

- -

3. Instalación

-

3.1 Requerimientos

-

3.1.1 librería 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/
- -
-

-

Note: - It is also possible to link calcurse against the - ncursesw library (ncurses with support for unicode). - However, UTF-8 is not yet supported by calcurse.

-
- -

3.1.2 librería 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. -

- -

3.2 Proceso de instalación

-

- Primero necesitas descomprimir ( gunzip y untar) el archivo fuente:

-
tar zxvf calcurse-2.8.tar.gz
-

- 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: -

    -
  1. ./configure
  2. -
  3. make
  4. -
  5. make install (puede requerir privilegios de administrador)
  6. -
-

-

- Utiliza ./configure --help para obtener una lista de posibles - opciones. -

- -

4. calcurse básicos

-

4.1 Invocación (arranque del programa)

-

4.1.1 Argumentos de la linea de comando

-

- calcurse acepta las siguientes opciones en la - linea de comando (ambas opciones, cortas y largas estan soportadas):

-

- -

-
-a, --appointment
-
- Imprime las citas y eventos para el día actual y sale. -

Nota: - el calendario desde donde leerán - puede ser especificado usando la opción '-c'.

-
-
-c <file>, --calendar <file>
-
- Especifica el archivo de calendario a usar. - El calendario por defecto es ~/.calcurse/apts - (ver la sección Archivos de calcurse). -
-
-d <date|num>, --day <date|num>
-
- 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 : -
    -
  • una fecha (possible formats described below).
  • -
  • un numero 'n'.
  • -
- 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 calcurse -d 3 - mostrara tus citas y eventos para hoy, mańana y pasado mańana. -
- Possible formats for specifying the date are defined inside the - general configuration menu (see - General options), using the - input_datefmt variable. -
-

Nota: - al igual que para la opción '-a' , el calendario desde donde se - leerán puede ser especificado usando la opción '-c' .

-
-
-D <dir>, --directory <dir>
-
-
- Specify the data directory to use. This option is - incompatible with -c. If not specified, the - default directory is '~/.calcurse/'. -
-
-
-h, --help
-
- Imprime un breve texto de ayuda describiendo las opciones soportadas en la - linea de comando y sale. -
-
-i <file>, --import <file>
-
-
- Import the icalendar data contained in file. -
-
-
-n, --next
-
- 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. -

Nota: - el calendario desde donde se leeran las citas puede ser especificado usando la opcion '-c'.

-
-
-N, --note
-
-
- When used with the '-a' or '-t' flag, also print note content - if one is associated with the displayed item. -
-
-
-r[num], --range[=num]
-
-
- Print events and appointments for the num number of - days and exit. If no num is given, a range of 1 day - is considered. -
-
-
-s[date], --startday[=date]
-
-
- Print events and appointments from date and exit. - If no date is given, the current day is considered. -
-
-
-S<regex>, --search=<regex>
-
-
- When used with the '-a', '-d', '-r', '-s', or '-t' flag, - print only the items having a description that matches the given - regular expression. -
-
-
--status
-
-
- 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. -
-
-
-t[num], --todo[=num]
-
- Imprime la lista de tareas pendientes ('ToDo') y sale. - Si se especifica la opcion numero, se mostraran todas las tareas pendientes que tengan la prioridad - igual a numero. -
- 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.

-
-
-
-v, --version
-
- Muestra la versión de calcurse y sale. -
-
-x[format], --export[=format]
-
-
- 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 Links below). - If the optional argument format is not given, - ical format is selected by default. -
-

Nota: - redirecciona la salida standard para exportar los datos a un archivo usando - un comando como este: - $ calcurse --export > my_data.dat

-
-
- -

4.1.2 Variable de entorno para i18n

-

- 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.

-

- 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 calcurse - utilizando el siguiente comando:

-
LC_ALL=es_ES.ISO8859-1 calcurse
- -
-

4.1.3 Other environment variables

-

- The following environment variables affect the way calcurse - operates:

-
-
VISUAL
-
Specifies the external editor to use for writing notes. -
-
EDITOR
-
If the VISUAL environment variable - is not set, then EDITOR will be used as - the default external editor. If none of those variables are set, - then /usr/bin/vi is used instead. -
-
PAGER
-
Specifies the default viewer to be used for reading notes. - If this variable is not set, then /usr/bin/less is used. -
-
-
- -

4.2 Interfaz de usuario

-

4.2.1 Modo no-interactivo

-

- Cuando es llamado por lo menos con uno de los siguientes argumentos: - -a, -d, -h, - -n, -t, -v, -x, - 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.

- -

4.2.2 Modo interactivo

-
-

Note: - Key bindings that are indicated in this manual correspond to - the default ones, defined when calcurse 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 key bindings).

-
-

- 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.

-
-

- 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:

-
-
-+------------------------------------+
-|              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
-+------------------------------------+
-
-        
-

- The current week number is displayed on the top-right side of the panel - (# 13 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. -

-
- -
-

- In the appointment panel, one can notice the '(|)' 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:

-
-
' |) ':
-
first quarter
-
' (|) ':
-
full moon
-
' (| ':
-
last quarter
-
' | ':
-
new moon
-
no sign:
-
phase of the moon does not correspond to any of - the above ones
-
-

-
-

- En la parte inferior de la pantalla hay una barra de estado, que - indica las posibles acciones y sus correspondientes atajos de - teclado.

-

- 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.

-

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"): -

-
^a:
-
mueve el cursor al principio de la linea
-
^b:
-
mueve el cursor para atras
-
^d:
-
borra un caracter por delante
-
^e:
-
mueve el cursor al final de la linea
-
^f:
-
mueve el cursor para alante
-
^h:
-
borra un caracter hacia atras
-
^k:
-
borra desde el cursor hasta el final de la linea
-
ESCAPE
-
b>: cancela la edicion
-
-

- -
-

4.3 Background mode

- -

When the daemon mode is enabled in the notification configuration menu -(see Notify-bar settings), calcurse will stay -in background when the user interface is not running. In background mode, -calcurse checks for upcoming appointments and runs the user-defined -notification command when necessary. When the user interface is started again, -the daemon automatically stops.

- -

calcurse background activity can be logged (set the -notify-daemon_log variable in the notification configuration -menu), and in that case, information about the daemon -start and stop time, reminders' command launch time, signals received... will be written -in the daemon.log file (see section files).

- -

-Using the --status command line option (see section -Command line arguments), -one can know if calcurse 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): -

calcurse is running in background (pid 14536)
- -

Note: -To stop the daemon, just send the TERM signal to it, using a command such as: -'kill daemon_pid', where daemon_pid is the process id -of the daemon (14536 in the above example). -

-
- -

4.4 Archivos de calcurse

-

- La siguiente estructura se crea en tu directorio $HOME -

(or in the directory you specified with the -D option)
- la primera vez que se ejecuta calcurse :

-
-$HOME/.calcurse/
-           |___notes/
-           |___conf
-           |___keys
-           |___apts
-           |___todo
-	
-
-
notes/:
-
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.
-
conf:
-
contiene la configuración del usuario.
-
keys:
-
this file contains the user-defined key bindings
-
apts:
-
contiene todos los eventos y citas del usuario.
-
todo:
-
contiene la lista de tareas pendientes.
-
- -
-

Note: - If the logging of calcurse daemon activity was set in the notification - configuration menu, the extra file daemon.log will appear - in calcurse data directory. This file contains logs about calcurse activity - when running in background. -

-
- -
-

4.5 Import/Export capabilities

-

- The import and export capabilities offered by calcurse - are described below. -

- -

4.5.1 Import

-

- Data in icalendar format as described in the rfc2445 specification - (see links 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. -

-

- The following icalendar properties are handled by calcurse: -

    -
  • VTODO items:
    - "PRIORITY", "VALARM", "SUMMARY", "DESCRIPTION"
  • -
  • VEVENT items:
    - "DTSTART", "DTEND", "DURATION", "RRULE", "EXDATE", "VALARM", "SUMMARY", - "DESCRIPTION"
  • -
-

-

- 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). -

-

- Here are the properties that are not implemented: -

    -
  • negative time durations are not taken into account (item is skipped)
  • -
  • some recurence frequences are not recognize:
    - "SECONDLY" / "MINUTELY" / "HOURLY"
  • -
  • some recurrence keywords are not recognized - (all those starting with 'BY'):
    - "BYSECOND" / "BYMINUTE" / "BYHOUR" / "BYDAY" / "BYMONTHDAY"
    - "BYYEARDAY" / "BYWEEKNO" / "BYMONTH" / "BYSETPOS"
    - plus "WKST"
  • -
  • the recurrence exception keyword "EXRULE" is not recognized
  • -
  • timezones are not taken into account
  • -
-

- -

4.5.2 Export

-

- Two possible export formats are available: ical and - pcal (see section Links below - to find out about those formats). -

-
- -

4.6 Ayuda en linea

-

- 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. -

- -

5. Opciones

-

- 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), - pressing 'K' opens the key bindings configuration - menu, - y finalmente puedes elegir entre diferentes opciones - generales pulsando 'G'. -

- -

5.1 Opciones generales

-

- Estas opciones controlan el comportamiento general en la forma - que se describe a continuación:

-
-
auto_guardar - (por defecto: si)
-
Esta opción permite salvar automáticamente los datos del usuario - (si esta fijada en si) cuando se sale - del programa. -

aviso: - Los datos no serán guardados automáticamente si - auto_guardar esta fijada en no. - Esto significa que el usuario debe pulsar 'S' (guardar) para guardar - sus modificaciones antes de salir.

-
- -
periodic_save - (default: 0)
-
If different from '0', user's data will be automatically - saved every periodic_save minutes. - When an automatic save is performed, two asterisks - (i.e. '**') will appear on the top right-hand side - of the screen). -
- -
confirmar_salir - (por defecto: si)
-
Si se fija en si, se requerirá confirmación antes de salir, - de otra forma cuando se pulse 'Q' causara que calcurse - se cierre sin esperar confirmación del usuario. -
-
confirmar_borrar - (por defecto: si)
-
Si se fija esta opción en si, cuando se pulse 'D' para - borrar una anotación (bien sea un ToDo - (tarea pendiente), cita, - o evento), 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. -
-
saltar_dialogos_sistema - (por defecto: no)
-
Fijando esta opción en si 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. -
-
saltar_barra_progreso - (por defecto: no)
-
Si se fija en si, ocasionara la desaparición de la barra de progreso - que normalmente se muestra cuando se salvan datos a un archivo. - Si esta fijada en no, se mostrará esta barra, conjuntamente con - el nombre del archivo que se esta guardando - (ver sección Archivos de calcurse). -
- -
calendar_default_view - (default: 0)
-
If set to 0, the monthly calendar view will be - displayed by default otherwise it is the weekly view that will be displayed. -
- -
empezar_semana_en_lunes - (por defecto: si)
-
Uno puede elegir entre el Lunes o el Domingo como primer día de la semana. - Si la opción empezar_semana_en_lunes esta fijada en - si, 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 no, entonces el Domingo - será el primer día de la semana. -
- -
output_datefmt - (default: %D)
-
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: mm/dd/aa. - You can see all of the possible formats by typing man 3 strftime - inside a terminal.
- -
input_datefmt - (default: 1)
-
This option indicates the format that will be used to enter dates in - calcurse. Four choices are available: -
    -
  1. mm/dd/yyyy
  2. -
  3. dd/mm/yyyy
  4. -
  5. yyyy/mm/dd
  6. -
  7. yyyy-mm-dd
  8. -
-
- -
- -
-

5.2 Key bindings

-

- One can define it's own keybindings within the 'Keys' configuration - menu. The default keys look like the one used by the vim - editor, especially the displacement keys. Anyway, within this - configuration menu, users can redefine all of the keys available from - within calcurse's user interface.

-

- 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.

-

- 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.

-

- The following keys can be used to define bindings: -

    -
  • lower-case, upper-case letters and numbers, such as 'a', 'Z', '0'
  • -
  • CONTROL-key followed by one of the above letters
  • -
  • escape, horizontal tab, and space keys
  • -
  • arrow keys (up, down, left, and right)
  • -
  • 'HOME' and 'END' keys
  • -

-

- 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.

-
- -

5.3 Color (temas)

-

- El tema de color de calcurse 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.

-
-

- 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.

-
-

Notas: - Dependiendo de tu tipo de terminal y del valor de la variable de - entorno $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. - Si sabes que tu terminal soporta colores pero no puedes conseguir - que calcurse los muestre, intenta fijar tu variable $TERM - a otro valor. (como por ejemplo xterm-xfree86). -

- -

5.4 Configuración de la disposición

-

- 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.

- -
-

- The following option is used to modify the layout configuration:

-
-
layout - (default: 0)
-
Eight different layouts are to be chosen from (see layout - configuration screen for the description of the available layouts).
-
-
- - -
-

5.5 Sidebar configuration

-

- 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.

-

- The following option is used to change the width of the sidebar:

-
-
side-bar_width - (default: 0)
-
Width (in percentage, 0 being the minimum width) of the side bar.
-
-
- -

5.6 Ajustes de la barra de notificaciones

-

- Las siguientes opciones se usan para modificar el comportamiento de la barra de notificaciones:

-
-
mostrar-barra-notificaciones - (por defecto: si)
-
Esta opción indica si quieres que se muestre la barra de notificaciones o no. -
-
fecha_barra-notificaciones - (por defecto: %a %F)
-
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 man 3 strftime en un terminal. -
-
hora_barra-notificaciones - (por defecto: %T)
-
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 man 3 strftime dentro de un terminal. -
-
alarma_barra-notificaciones - (por defecto: 300)
-
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 comando_barra-notificaciones. - De esta forma, se alerta al usuario y este sabe que - detro de poco tiene una cita. -
-
comando_barra-notificaciones - (por defecto: printf '\a')
-
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 $SHELL. Si esta variable no esta seleccionada, se usara /bin/sh. -

Ejemplo: - Digamos que el comando mail 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):

- -calcurse --next | mail -s "[calcurse] upcoming appointment!" user@host.com - -
- -
notify-daemon_enable - (default: no)
-
If set to yes, daemon mode will be enabled, meaning calcurse - 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 'Background mode'. -
-
notify-daemon_log - (default: no)
-
If set to yes, calcurse daemon activity will be logged (see section - files). -
- -
- -

6. Bugs conocidos

-

- 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)." -
- -

7. Informar de bugs y comentarios

-

- Por favor envía los informes de bugs y tus comentarios a :

-
calcurse @ culot . org
-

- o al autor:

-
frederic @ culot . org
- -

8. żComo contribuir?

-

- 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.

- -

8.1 Traduciendo la documentación

-

- 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.

- -

8.2 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.

- -

8.2.1 Descripció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. -

- -

8.2.2 Tareas del traductor

-

- Supongamos que alguien quiere iniciar la traducción de una nueva lengua. - Estos son los pasos a seguir:

-
    -
  • 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 LC_ALL para que el software sea traducido - (ver Variable de entorno para i18n).
  • -
  • Entonces, entra en el directorio po/ y crea un nuevo archivo-po - desde el archivo plantilla usando el siguiente comando: - '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.
  • -
-

- Ahora, teniendo el archivo fr.po, estas preparado para empezar. -

- -

8.2.3 Archivos-po

-

- El formato de los archivos-po es muy simple. De hecho, los archivos-po - están formados de cuatro cosas:

-
    -
  1. lineas de localización: te dicen donde están las sentencias - (nombre del archivo y numero de linea), en caso de que necesites un poco - mas de contexto.
  2. -
  3. lineas msgid: las sentencias a traducir.
  4. -
  5. lineas msgstr: las sentencias traducidas.
  6. -
  7. lineas con prefijo '#': comentarios (algunos con un significado - especial, como veremos más abajo).
  8. -
-

- Básicamente, todo lo que tienes que hacer es llenar las lineas msgstr - con la traducción de la linea msgid de encima.

-

- Algunas notas: -

-
  • Sentencias Fuzzy -
    Encontraras sentencias marcadas con un comentario "#, 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.
    -
    Sentencias c-format y sentencias especiales
    -
    Algunas sentencias tienen el siguiente comentario: "#, - 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.
    -
    Las traducciones pueden ser excesivamente largas
    -
    Si las lineas son demasiado largas, pueden ser partidas de la siguiente forma: -
    -msgid ""
    -"alguna linea muy larga"
    -"otra linea"
    -        
    -
    Cabecera del archivo-po
    -
    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: -
    -"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"
    -        
    -
    Comentarios
    -
    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.
    -
    Tamańo de las sentencias
    -
    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. -
    -
    Algunas herramientas útiles
    - 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: - - > -
    Y finalmente
    -
    Espero que te hayas divertido contribuyendo a un mundo mas internacionalizado :) Si tienes alguna - pregunta no dudes en contactar conmigo en - frederic @ culot . org.
    -
  • - -

    9.Enlaces

    -

    - Esta sección contiene enlaces y referencias que pueden ser de tu interés. -

    - -

    9.1 Pagina web de calcurse

    -

    - La pagina web de calcurse es:

    -
    http://culot.org/calcurse
    - -

    9.2 Lista de anuncios de 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.

    - -

    9.3 calcurse RSS feed

    -

    - Otra posibilidad para enterarte de cuando aparecen nuevas versiones de Calcurse - es seguir el RSS feed en:

    -
    http://culot.org/calcurse/news_rss.xml
    -

    - Este RSS feed es actualizado cada vez que hay una nueva version de Calcurse disponible - describiendo las nuevas caracteristicas.

    - -

    9.4 Other links

    -
    -

    - You may want to look at the ical format specification (rfc2445) at: -

    http://tools.ietf.org/html/rfc2445
    -

    - The pcal project page can be found at: -

    http://pcal.sourceforge.net/
    -
    - -

    10. Gracias a ...

    -

    - 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 : -

      -
    • Alex por sus patches, ayuda y notas con la programación C
    • -
    • Gwen por probarlo y las discusiones sobre como mejorar calcurse
    • -
    • Herbert por hacer el paquete calcurse para FreeBSD
    • -
    • Zul por hacer el paquete calcurse para NetBSD
    • -
    • Wain, Steffen y Ronald por hacer el paquete calcurse para Archlinux
    • -
    • Kevin, Ryan, y fEnIo por hacer el paquete para calcurse - para Debian y Ubuntu
    • -
    • Pascal por hacer el paquete calcurse para Slackware
    • -
    • Alexandre por hacer el paquete calcurse para Mac OsX y - Darwin
    • -
    • Igor por hacer el paquete calcurse para ALT Linux
    • -
    • Joel por su script del calendario que inspiro la vista de calendario de calcurse
    • -
    • Michael Schulz y Chris M. por la traducción al alemán de calcurse y su manual
    • -
    • Neil Williams por la traducción al ingles
    • -
    • Tony por el patch que me ha ayudado a implementar la funcion recur_item_inday() - , and for implementing the date format configuration options
    • -
    • José López por la traducción al Espańol de calcurse y su manual
    • -
    • Jeremy Roon por la traducción al holandes
    • -
    • Leandro Noferini por la traducción al italiano
    • -
    • Erik Saule for its patch implementing the '-N', '-s', '-S', '-r' and '-D' flags
    • -
    • a la gente que ha escrito softwares que me gustan y que me inspiraron, especialmente : -
        -
      • vim por las teclas de desplazamiento
      • -
      • orpheus y abook por la documentación
      • -
      • pine and aptitude - por la interfaz de usuario
      • -
      • tmux for coding style
      • -
    • -
    -

    -

    - Y por último, muchas muchas gracias a todos los usuarios de calcurse - que me han enviado sus comentarios.

    - - -
    - - - diff --git a/doc/manual_fr.html b/doc/manual_fr.html deleted file mode 100644 index 822f714..0000000 --- a/doc/manual_fr.html +++ /dev/null @@ -1,1505 +0,0 @@ - - - - - -documentation de CALCURSE - - - - - -
    - -

    -CALCURSE - organiseur en mode texte

    - -
    -

    Résumé

    Ce manuel présente l'ensemble des fonctionnalités du -logiciel calcurse et la maničre dont on peut les -utiliser. La procédure d'installation du programme depuis ses sources -est tout d'abord décrite, ainsi que les différentes façon dont -calcurse peut ętre lancé. L'interface du programme est -ensuite présentée, avec l'ensemble des options qui permettent la -configuration du logiciel. Sont enfin expliquées les procédures ŕ suivre -pour faire remonter les bogues et pour contribuer au développement de -calcurse. -
    - - - - -

    1. Introduction

    -

    -calcurse est un logiciel composé d'un calendrier et d'un organiseur -personnel en mode texte. Il permet de stocker les évčnements et rendez-vous, -ainsi qu'une liste de tâches ŕ effectuer. Un systčme de notification, -entičrement configurable par l'utilisateur, permet d'ętre prévenu lorsque -l'heure d'un rendez-vous approche. L'interface utilisateur est elle aussi -configurable, et peut s'adapter aux besoins de chacun. Enfin, un systčme d'aide -en ligne permet d'obtenir des renseignements sur toutes les commandes -disponibles. -

    - -

    2. Aperçu du logiciel

    -

    2.1 Origine de Calcurse

    -

    - J'ai commencé ŕ penser ŕ ce projet ŕ la fin de mon doctorat - en astrophysique... Je commençais en effet ŕ avoir de plus - en plus de mal ŕ m'organiser, et j'avais vraiment besoin d'un - bon outil pour m'aider dans cette tâche difficile ;) -

    -

    - D'autre part, j'apprécie beaucoup les logiciels qui font appel - ŕ des Interfaces en Mode Texte, parce que je les trouve plus - simples, plus rapides, plus portables et plus efficaces. J'ai - alors commencé ŕ programmer un calendrier rudimentaire qui - utilisait une interface de ce type. En plus de cela, je - voulais améliorer mes connaissances en C, langage - de programmation que je n'avais utilisé jusqu'alors que dans - le cadre de petits projets pendant mes études. J'ai donc pensé - que ce serait une bonne chose de me lancer dans ce projet, - puisque cela me permettrait ŕ la fois de mieux m'organiser, et - d'apprendre ŕ mieux programmer en C! -

    -

    - Malheureusement, j'ai obtenu mon doctorat avant de terminer - calcurse, mais j'ai tout de męme voulu continuer - ŕ travailler sur ce projet, en espérant que ce - programme serait utile ŕ d'autres - personnes. Voilŕ comment est né - calcurse... -

    -

    - Mais au fait, pourquoi 'calcurse' ? Et bien ce nom provient - simplement de la concaténation de 'CALendrier' et de - 'nCURSEs', qui est le nom de la librairie utilisée pour - construire l'interface utilisateur. -

    - -

    2.2 Caractéristiques importantes

    -

    - Calcurse est multi-plateformes et est conçu pour - ętre léger, rapide et fiable. Il doit ętre utilisé dans un - terminal ou une console, soit localement ou bien sur une - machine distante par l'intermediaire d'une liaison ssh (ou - similaire). -

    -

    - Calcurse peut ętre lancé dans deux modes différents: - soit interactif, soit non-interactif. Le premier mode permet - de visualiser son organiseur personnel pratiquement sous - n'importe quel environnement, grâce ŕ l'interface en mode texte. - Le deuxičme mode permet de créer facilement des penses-bęte en - ajoutant calcurse avec les arguments appropriés dans - la table cron ou dans le script d'initialisation du shell. -

    -

    - De plus, calcurse a été créé en prenant en compte - l'utilisateur final ŕ chaque étape de sa conception, - c'est-ŕ-dire en essayant d'ętre le plus intuitif - possible. Cela implique la présence d'une aide en ligne - exhaustive, ainsi que le rappel de toutes les commandes - possibles dans la barre de status. L'interface utilisateur - est également configurable, et l'on peut choisir parmi de - nombreuses combinaisons possibles de couleurs et de positions - des fenętres. Les raccourcis clavier peuvent ętre définis aussi - par l'utilisateur, pour correspondre aux besoins de chacun. - Enfin, le systčme de notification est - entičrement configurable, l'utilisateur peut donc choisir la - maničre dont il veut ętre prévenu de l'approche d'un - rendez-vous. Les notifications peuvent également ętre envoyées - męme si l'interface utilisateur n'est pas lancée, car - calcurse peut tourner en tâche de fond (mode démon). -

    - -

    3. Installation

    -

    3.1 Pré-requis

    -

    3.1.1 Librairie ncurses

    -

    - L'installation de Calcurse ne nécessite qu'un - compilateur C, comme cc ou gcc, - et la librairie ncurses. - Il serait trčs surprenant que vous n'ayez pas déjŕ la librairie - ncurses d'installée sur votre machine, mais si - c'est le cas, vous pourrez la trouver ŕ l'adresse suivante : -

    -
    http://ftp.gnu.org/pub/gnu/ncurses/
    - -
    -

    Note: - It is also possible to link calcurse against the - ncursesw library (ncurses with support for unicode). - However, UTF-8 is not yet supported by calcurse.

    -
    - -

    3.1.2 Librairie gettext

    -

    - calcurse s'aide de la librairie - gettext pour le support de l'internationalisation - (noté i18n ci-aprčs). Cela signifie que - calcurse peut fournir des messages multilingues - s'il est compilé avec le support NLS (Native - Language Support - Support de Langage - Natif). -

    -

    - Cependant, ce support est optionnel et si vous n'avez pas - besoin de la traduction des messages affichés, vous pouvez - désactiver cette option. La désactivation du support - NLS s'effectue en passant l'option - --disable-nls ŕ configure - (voir la section Processus - d'Installation). -

    -

    - Pour vérifier que les utilitaires gettext sont - bien installés sur votre systsčme, vous pouvez - par exemple vérifier la présence du fichier - libintl.h en tapant :

    -
    locate libintl.h
    -

    - Dans l'éventualité oů ce fichier ne serait pas trouvé, - vous pouvez obtenir les sources de gettext - ŕ l'adresse suivante :

    -
    http://ftp.gnu.org/pub/gnu/gettext/
    -

    -

    Remarque : Męme si - libintl.h est bien localisé par la commande - précédente, il peut ętre utile de spécifier son emplacement au - moment de lancer le processus - d'installation, en passant l'option - --with-libintl-prefix au script - configure. En effet, ce script pourrait ne pas - trouver le fichier libintl.h si celui-ci n'est - pas installé dans un endroit usuel.

    - - -

    3.2 Processus d'installation

    -

    - Vous devez tout d'abord décompresser l'archive source de la - maničre suivante :

    -
    tar zxvf calcurse-2.8.tar.gz
    -

    - Une fois que vous remplissez tous les pré-requis nécessaires ŕ - l'installation, le processus de compilation est simple et suit - les trois étapes usuelles : -

      -
    1. ./configure
    2. -
    3. make
    4. -
    5. make install (peut nécessiter les privilčges - super-utilisateur)
    6. -
    -

    -

    - Vous pouvez obtenir la liste des options possibles en tapant - ./configure --help. -

    - - -

    4. Présentation générale

    -

    4.1 Invocation

    -

    4.1.1 Arguments en ligne de commande

    -

    - Lors de son appel en ligne de commande, calcurse - accepte les arguments suivants (les arguments courts ou longs - sont supportés) :

    -

    - -

    -
    -a, --appointment
    -
    - Affiche les rendez-vous pour la date du jour, puis quitte. -

    Remarque: le calendrier ŕ utiliser peut ętre - spécifié en utilisant l'option '-c'.

    -
    -
    -c <fichier>, --calendar <fichier>
    -
    - Spécifie le fichier calendrier ŕ utiliser. - Le calendrier par défaut est celui contenu dans - ~/.calcurse/apts - (voir la section Fichiers). -
    -
    -d <date|num>, --day <date|num>
    -
    - Affiche les rendez-vous pour la date ou pour le nombre de - jours indiqués, suivant le format de l'argument. Deux - formats différents sont acceptés : -
      -
    • une date (voir ci-dessous pour les formats disponibles).
    • -
    • un nombre 'n'.
    • -
    - Dans le premier cas, la liste des rendez-vous pour la - date spécifiée sera affichée, alors que dans le - deuxičme cas, la liste des rendez-vous pour les 'n' - jours ŕ venir sera retournée. - Par exemple, taper calcurse -d 3 fera - s'afficher les rendez-vous pour aujourd'hui, demain - et aprčs-demain. -
    - Possible formats for specifying the date are defined inside the - general configuration menu (see - General options), using the - input_datefmt variable. -
    -

    Remarque: - comme pour l'option '-a', le fichier contenant le calendrier - ŕ lire peut ętre spécifié en utilisant l'option '-c'.

    -
    -
    -D <dir>, --directory <dir>
    -
    - Indique le répertoire dans lequel seront stockées les données. - Cette option n'est pas compatible avec l'option '-c'. Si ce - répertoire n'est pas spécifié, celui utilisé par défaut est - '~/.calcurse/'. -
    -
    -h, --help
    -
    - Affiche l'aide décrivant les options en ligne de commande, - puis quitte.
    -
    -i <file>, --import <file>
    -
    - Importe les données au format icalendar contenues dans le fichier - file. -
    -
    -n, --next
    -
    - Affiche le rendez-vous suivant dans les prochaines 24 heures, puis - quitte. - Le temps indiqué représente le nombre d'heures et de - minutes restantes avant le rendez-vous. -

    remarque: - le fichier contenant le calendrier ŕ lire peut - ętre spécifié en utilisant l'option '-c'.

    -
    -
    -N, --note
    -
    - Lorsque cette option est utilisée avec les options '-a' ou '-t', - le contenu des notes associées aux rendez-vous et aux tâches sera - également affiché. -
    -
    -r[num], --range[=num]
    -
    - Affiche les rendez-vous et les événements pour le nombre num de - jours puis quitte. Si l'argument optionnel num n'est pas donné, - une plage d'une seule journée sera utilisée. -
    -
    -s[date], --startday[=date]
    -
    - Affiche les rendez-vous et les événements depuis la date indiquée - puis quitte. Si l'argument optionnel date n'est pas donné, la journée - courante sera utilisée. -
    -
    -S<regex>, --search=<regex>
    -
    - Lorsque cette option est utilisée avec les options '-a', '-d', '-r', - '-s' ou '-t', seuls les éléments dont la description correspond ŕ - l'expression réguličre passée en argument seront affichés. -
    -
    --status
    -
    -
    - 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. -
    -
    -
    -t[num], --todo[=num]
    -
    - Affiche la liste des 'todo', puis quitte. Si le nombre optionnel - num est indiqué, alors uniquement les tâches - ayant une priorité égale ŕ num seront - affichées. - La priorité doit ętre comprise entre 1 (priorité la plus haute) et 9 - (priorité la plus basse). Il est également possible de spécifier 0 - pour la priorité, auquel cas seules les tâches completées seront - affichées.

    -
    -
    -v, --version
    -
    - Affiche la version de calcurse, puis quitte. -
    -
    -x[format], --export[=format]
    -
    - Exporte les données utilisateur au format spécifié. Les évčnements, - rendez-vous et tâches sont convertis et imprimés sur la sortie - standard. Deux formats d'export différents sont disponibles : - le format ical et le format pcal (voir la section - Liens ci-dessous). - Si l'argument optionnel format n'est pas indiqué par - l'utilisateur, alors le format ical sera utilisé par défaut. -

    Note: - afin de sauvegarder les données exportées dans un fichier, - il est nécessaire de rediriger la sortie standard en utilisant une - commande comme celle-ci: - $ calcurse --export > mon_fichier.dat

    -
    -
    - - -

    4.1.2 Variable d'environnement pour l'i18n

    -

    - calcurse peut ętre compilé avec le support - NLS (voir Librairie - gettext). Ainsi, si vous voulez que les - messages affichés apparaissent dans votre langue natale, - assurez-vous tout d'abord que celle-ci est présente dans le - fichier po/LINGUAS. Ce fichier indique toutes - les traductions disponibles par l'intermédiaire d'un code de - deux lettres (par exemple, fr - représente le français). Si vous ne trouvez pas votre langue, - il serait trčs apprécié que vous apportiez votre aide pour - traduire calcurse (voir la partie Comment contribuer?).

    -

    - Si votre langue est disponible, lancez calcurse - en utilisant la commande suivante :

    -
    LC_ALL=fr_FR calcurse
    -

    fr_FR doit ętre remplacé par la - locale (code de la langue suivi du - code pays) correspondant ŕ la traduction voulue.

    -

    - Il est également recommandé de spécifier le codage ŕ utiliser, - car dans certains cas des problčmes d'affichage des accents - peuvent survenir. Ce codage est indiqué au début du fichier po - correspondant ŕ la langue voulue. Par exemple, vous pouvez - remarquer dans le fichier fr.po que le codage utilisé est - iso-8859-1. Vous pouvez donc le préciser au lancement de - calcurse:

    -
    LC_ALL=fr_FR.ISO8859-1 calcurse
    - -

    4.1.3 Autres variables d'environnement

    -

    - Les variables d'environnement suivantes agissent sur le comportement de - calcurse:

    -
    -
    VISUAL
    -
    Indique l'éditeur externe qui sera utilisé pour rédiger des notes. -
    -
    EDITOR
    -
    Si la variable d'environnement VISUAL n'est pas - renseignée, l'éditeur externe qui sera utilisé par défaut est celui - contenu dans la variable EDITOR. Si aucune de ces deux - variables n'est renseignée, alors /usr/bin/vi sera - appelé par défaut. -
    -
    PAGER
    -
    Indique le visualiseur utilisé par défaut pour consulter les - notes. Si cette variable n'est pas renseignée, alors - /usr/bin/less sera utilisé. -
    -
    - -

    4.2 Interface utilisateur

    -

    4.2.1 Mode non-interactif

    -

    - Lorsque il est appelé avec au moins un des arguments suivants: - -a, -d, -h, - -n, -t, -v, -x, - calcurse est lancé en mode non-interactif. - Cela signifie que l'information demandée sera affichée, - puis calcurse quittera et vous serez ramené - au prompt de l'interpréteur de commandes.

    -

    - De cette maničre, il est possible de rajouter une ligne telle - que 'calcurse --todo --appointment' dans le fichier d'initialisation - de son environnement, afin de faire s'afficher ŕ chaque - début de session la liste des tâches ŕ faire et des rendez-vous - planifiés pour la journée.

    - - -

    4.2.2 Mode interactif

    -
    -

    Note: - Key bindings that are indicated in this manual correspond to - the default ones, defined when calcurse 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 key bindings).

    -
    -

    - Lorsqu'il est appelé sans aucun argument ou uniquement avec - l'option '-c', calcurse est lancé - en mode interactif. Dans ce mode s'affiche une interface qui - contient trois panneaux différents, qu'il est possible de - sélectionner cycliquement en utilisant la touche 'TAB', ainsi - que d'une barre de notification et une autre de status - (voir la figure ci-dessous).

    -
    -
    - panneau rendez-vous---.                             .---panneau calendrier
    -                       |                             |  
    -                       v                             v
    - +------------------------------------++----------------------------+
    - |           Rendez-vous              ||         Calendrier         |
    - |------------------------------------||----------------------------|
    - |                 (|)  Avril 6, 2006 ||         Avril 2006         |
    - |                                    ||Lun Mar Mer Jeu Ven Sam Dim |
    - |                                    ||                      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 |
    - |                                    ||                            |
    - |                                    |+----------------------------+
    - |                                    |+----------------------------+
    - |                                    ||           Tâches           | panneau
    - |                                    ||----------------------------| tâches ŕ
    - |                                    ||                            |  faire
    - |                                    ||                            |   |
    - |                                    ||                            |<--.
    - |                                    ||                            |
    - +------------------------------------++----------------------------+
    - |---[ Lun 22-11-2006 | 18:11:43 ]---(apts)----> 01:20 :: dîner <---|<--.
    - +------------------------------------------------------------------+ barre de
    - | ? Aide     R Retracer  H/L -+1 Jour      G Aller ŕ    C Config   |    notification 
    - | Q Quitter  S Sauver    J/K -+1 Sem.    Tab Chg vue               |<-. 
    - +------------------------------------------------------------------+  |
    -                                                                       |
    -                                                               barre de status
    -
    -	
    -

    - Le premier panneau représente un calendrier qui permet de - sélectionner un jour en particulier. Le second panneau contient - une liste d'évčnements et les rendez-vous du jour, et le dernier - contient une liste des tâches ŕ faire, mais qui ne sont pas - assignées ŕ une journée en particulier.

    -
    -

    - 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:

    -
    -
    -+------------------------------------+
    -|              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
    -+------------------------------------+
    -
    -        
    -

    - The current week number is displayed on the top-right side of the panel - (# 13 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. -

    -
    -

    - On peut remarquer dans le panneau des rendez-vous le signe - '(|)' - placé juste devant la date. Ce signe représente la phase de la lune. - En fonction de la phase actuelle de celle-ci, un des signes suivants - peut-ętre indiqué : -

    -
    ' |) ':
    -
    premier quartier
    -
    ' (|) ':
    -
    pleine lune
    -
    ' (| ':
    -
    dernier quartier
    -
    ' | ':
    -
    nouvelle lune
    -
    aucun signe:
    -
    la phase actuelle de la lune ne correspond ŕ - aucune des phases ci-dessus
    -
    -

    -

    - Tout en bas de l'écran on retrouve une barre de status, qui indique - les actions possibles en fonction du contexte, ainsi que la - touche qui doit ętre pressée pour effectuer cette action.

    -

    - Juste au-dessus de cette barre se trouve la barre de notification, qui - indique les informations suivantes, de gauche ŕ droite : la date du jour, - l'heure courante, le fichier calendrier actuellement ouvert (il s'agit - de apts dans la copie d'écran, qui est le fichier par défaut, comme indiqué - dans la section suivante), et le premier rendez-vous programmé dans les - prochaines 24 heures. Dans cet exemple, il s'agit d'un dîner qui aura lieu - dans une heure et vingt minutes.

    -

    Remarque: - Certaines actions, comme éditer ou ajouter un - elément, nécessitent de renseigner du texte par - l'intermédiaire de l'éditeur de ligne de commande - fournit avec calcurse.

    -

    - Dans cet éditeur, si la ligne de commande est plus longue que la - largeur de l'écran, le caractčre '>', '*', ou '<' - sera rajouté dans la derničre colonne s'il reste du texte - aprčs, avant et aprčs, ou avant la position courante, - respectivement. La ligne défile horizontalement si - nécessaire.

    -

    - De plus, il existe des combinaisons de touches pour - effectuer certaines actions courantes utiles lors de l'édition - de textes. Voici ces raccourcis: -

    -
    ^a:
    -
    déplacer le curseur au début de la ligne
    -
    ^b:
    -
    déplacer le curseur d'une position en arričre
    -
    ^d:
    -
    effacer le caractčre sous le curseur
    -
    ^e:
    -
    déplacer le curseur en fin de ligne
    -
    ^f:
    -
    déplacer le curseur d'une position en avant
    -
    ^h:
    -
    effacer le caractčre précédent
    -
    ^k:
    -
    effacer le texte depuis la position courante - jusqu'ŕ la fin de la ligne
    -
    ESC:
    -
    annuler l'édition du texte courant
    -
    -

    - -
    -

    4.3 Background mode

    - -

    When the daemon mode is enabled in the notification configuration menu -(see Notify-bar settings), calcurse will stay -in background when the user interface is not running. In background mode, -calcurse checks for upcoming appointments and runs the user-defined -notification command when necessary. When the user interface is started again, -the daemon automatically stops.

    - -

    calcurse background activity can be logged (set the -notify-daemon_log variable in the notification configuration -menu), and in that case, information about the daemon -start and stop time, reminders' command launch time, signals received... will be written -in the daemon.log file (see section files).

    - -

    -Using the --status command line option (see section -Command line arguments), -one can know if calcurse 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): -

    calcurse is running in background (pid 14536)
    - -

    Note: -To stop the daemon, just send the TERM signal to it, using a command such as: -'kill daemon_pid', where daemon_pid is the process id -of the daemon (14536 in the above example). -

    -
    - -

    4.4 Fichiers

    -

    - La structure de fichiers suivante est créée dans le répertoire - $HOME de l'utilisateur (ou bien dans le répertoire - indiqué par l'option '-D') la premičre fois que - calcurse est lancé :

    -
    -$HOME/.calcurse/
    -           |___notes/
    -           |___conf
    -           |___keys
    -           |___apts
    -           |___todo
    -	
    -
    -
    notes/:
    -
    ce sous-répertoire contient la description des notes - rattachées aux rendez-vous, événements ou tâches. Un fichier - texte est créé par note, et son nom est construit ŕ l'aide de - la fonction mkstemp(3). Ainsi, l'unicité de ce nom est assurée, - mais il n'a pas de relation avec l'élément auquel la note est - rattachée.
    -
    conf:
    -
    ce fichier contient la configuration de l'utilisateur
    -
    keys:
    -
    ce fichier contient les raccourcis clavier définis par l'utilisateur
    -
    apts:
    -
    ce fichier contient tous les événements ainsi que les - rendez-vous de l'utilisateur
    -
    todo:
    -
    ce fichier contient la liste des tâches ŕ effectuer
    -
    - -
    -

    Note: - If the logging of calcurse daemon activity was set in the notification - configuration menu, the extra file daemon.log will appear - in calcurse data directory. This file contains logs about calcurse activity - when running in background. -

    -
    - -

    4.5 Fonctions d'import/export

    -

    - Les possibilités offertes par calcurse pour importer et exporter - des données sont décrites ci-dessous. -

    - -

    4.5.1 Import

    -

    - Les données au format icalendar tel que décrit dans la spécification - rfc2445 (voir la section liens ci-dessous) - peuvent ętre importées dans calcurse. L'import ical de calcurse est basé - sur la version 2.0 de la norme rfc2445, mais pour le moment, seul un - sous-ensemble de cette spécification a été implémenté. -

    -

    - Les propriétés suivantes sont gérées par calcurse: -

      -
    • éléments VTODO:
      - "PRIORITY", "VALARM", "SUMMARY", "DESCRIPTION"
    • -
    • éléments VEVENT:
      - "DTSTART", "DTEND", "DURATION", "RRULE", "EXDATE", "VALARM", "SUMMARY", - "DESCRIPTION"
    • -
    -

    -

    - La propriété "DESCRIPTION" du format icalendar sera convertie dans calcurse - en ajoutant une note ŕ l'élément. Si une propriété "VALARM" est trouvée, - l'élément sera marqué comme étant important et l'utilisateur recevra une - notification (ceci ne fonctionne que pour les rendez-vous). -

    -

    - Voici la liste des propriétés qui ne sont pas encore implémentées: -

      -
    • les durées négatives ne sont pas prises en compte (l'élément n'est - pas importé)
    • -
    • certaines fréquences de répétition ne sont pas reconnues:
      - "SECONDLY" / "MINUTELY" / "HOURLY"
    • -
    • Certains mots-clés liés aux répétitions ne sont pas reconnus - (ceux commençant par 'BY'):
      - "BYSECOND" / "BYMINUTE" / "BYHOUR" / "BYDAY" / "BYMONTHDAY"
      - "BYYEARDAY" / "BYWEEKNO" / "BYMONTH" / "BYSETPOS"
      - plus "WKST"
    • -
    • le mot-clé "EXRULE" n'est pas reconnu
    • -
    • les fuseaux horaires ne sont pas pris en compte
    • -
    -

    - -

    4.5.2 Export

    -

    - Deux formats peuvent ętres utilisés pour l'export des données: - ical et pcal (voir la section - Liens ci-dessous pour avoir plus d'informations - concernant ces formats). -

    - -

    4.6 Aide en ligne

    -

    - A n'importe quel moment, le systčme d'aide en ligne peut ętre - appelé en pressant la touche '?'. Une fois rentré dans l'aide, - les informations sur une commande spécifique peuvent ętre - obtenues en appuyant sur la touche correspondant ŕ cette - commande. -

    - -

    5. Options

    -

    - Tous les paramčtres de calcurse sont configurables - ŕ partir du menu Configuration, accessible en appuyant - sur 'C'. L'utilisateur se voit alors présenté un second menu - avec trois choix possibles : appuyer ŕ nouveau sur 'C' amčne - au menu de sélection des couleurs de l'interface, appuyer sur - 'L' permet de choisir parmi différents emplacements pour les - panneaux de la fenętre principale de calcurse, - appuyer sur 'G' vous permet de fixer les options générales, 'K' - vous permet d'accéder au menu de configuration des raccourcis clavier, - et enfin - les paramčtres de la barre de notification peuvent ętre fixés - en appuyant sur 'N'.

    - - -

    5.1 Options générales

    -

    - Ces options contrôlent le comportement général de - calcurse, comme décrit ci-dessous :

    -
    -
    sauvegarde_automatique - (valeur par défaut: oui)
    -
    Cette option permet de sauvegarder automatiquement - les données de l'utilisateur avant de quitter, si elle est - fixée ŕ oui. -

    attention: - Aucune donnée ne sera automatiquement - sauvegardée si cette variable est fixée ŕ non. - Cela signifie que l'utilisateur doit appuyer sur 'S' - (pour sauvegarder) pour retrouver ses modifications au prochain - lancement de calcurse.

    -
    - -
    periodic_save - (default: 0)
    -
    If different from '0', user's data will be automatically - saved every periodic_save minutes. - When an automatic save is performed, two asterisks - (i.e. '**') will appear on the top right-hand side - of the screen). -
    - -
    confirmer_pour_quitter - (valeur par défaut: oui)
    -
    Si cette option est fixée ŕ oui, - la confirmation - de l'utilisateur est nécessaire avant de pouvoir quitter. - Autrement, appuyer sur 'Q' provoquera l'arręt de - calcurse sans demander confirmation. -
    -
    confirmer_pour_effacer - (valeur par défaut: oui)
    -
    Si cette option est fixée ŕ oui, appuyer sur 'D' - pour effacer un élement (soit une tâche, un rendez-vous ou bien - un évenement) provoquera l'apparition d'un message demandant - la confirmation de l'utilisateur avant d'effacer cet élement. - Si cette option est fixée ŕ non, aucune confirmation - ne sera demandée avant l'effacement d'un élement. -
    -
    masquer_messages_systčme - (valeur par défaut: non)
    -
    Fixer cette option ŕ oui provoque la disparition des - messages relatifs aux enregistrements ou lectures des fichiers - de données. Ceci peut ętre utile pour accélerer les processus - d'entrées/sorties. -
    -
    masquer_barre_progression - (valeur par défaut: non)
    -
    Si elle est fixée ŕ oui, cette option provoque la - disparition de la barre de progression qui est normalement chargée - d'indiquer l'état d'avancement de l'enregistrement des fichiers - de données. Si cette option est fixée ŕ non, - cette barre - sera affichée, en męme temps que le nom du fichier de données - actuellement en cours d'écriture - (voir la section Fichiers). -
    -
    calendar_default_view - (default: 0)
    -
    If set to 0, the monthly calendar view will be - displayed by default otherwise it is the weekly view that will be displayed. -
    -
    semaine_commence_lundi - (valeur par défaut: oui)
    -
    Il est possible dans calcurse d'indiquer quel est le - premier jour de la semaine, ŕ savoir soit le lundi, soit le dimanche. - Si l'option semaine_commence_lundi est fixée ŕ - oui, les semaines du calendrier commenceront le lundi. - Par contre si cette option est fixée ŕ non, - les semaines débuteront le dimanche. -
    -
    format_date_sortie - (valeur par défaut: %D)
    -
    Indique le format qui sera utilisé pour afficher les dates en mode - non-interactif. Par défaut, les dates sont affichées comme suit : - mm/jj/aa. - Les différents formats disponibles sont visibles en - tapant la commande suivante dans un terminal: man 3 strftime. -
    -
    format_date_entrée - (valeur par défaut: 1)
    -
    Indique le format qui sera utilisé pour entrer les dates dans - calcurse. Quatre choix sont possibles : -
      -
    1. mm/jj/aaaa
    2. -
    3. jj/mm/aaaa
    4. -
    5. aaaa/mm/jj
    6. -
    7. aaaa-mm-jj
    8. -
    -
    -
    - -
    -

    5.2 Key bindings

    -

    - One can define it's own keybindings within the 'Keys' configuration - menu. The default keys look like the one used by the vim - editor, especially the displacement keys. Anyway, within this - configuration menu, users can redefine all of the keys available from - within calcurse's user interface.

    -

    - 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.

    -

    - 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.

    -

    - The following keys can be used to define bindings: -

      -
    • lower-case, upper-case letters and numbers, such as 'a', 'Z', '0'
    • -
    • CONTROL-key followed by one of the above letters
    • -
    • escape, horizontal tab, and space keys
    • -
    • arrow keys (up, down, left, and right)
    • -
    • 'HOME' and 'END' keys
    • -

    -

    - 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.

    -
    - -

    5.3 Thčmes graphiques

    -

    - Le thčme graphique de calcurse peut ętre adapté aux besoins de - l'utilisateur. Pour changer les options par défaut, la page de configuration - permet de sélectionner la couleur voulue pour l'interface (premier plan et - fond). L'utilisateur doit pour cela se déplacer sur la bonne couleur en - utilisant les touches flčches ou les touches de déplacement par défaut, et - appuyer sur 'X' ou la barre d'espace pour sélectionner la couleur. Il est - également possible de conserver la couleur par défaut du terminal de - l'utilisateur en sélectionnant le choix corresondant dans la liste.

    -

    - Cette couleur est alors appliquée ŕ la bordure des - panneaux, aux titres, aux combinaisons de touches, et aux - informations générales affichées dans la - barre de status. Un thčme en noir et blanc est - également disponible, afin de supporter les terminaux - monochromes.

    -

    Remarque: - Suivant le type de terminal que vous utilisez, et suivant - la valeur de la variable d'environnement $TERM, - la couleur peut ętre supportée ou non. Un message - d'erreur apparaîtra si vous essayez d'appliquer un - thčme graphique en couleur alors que votre terminal est - monochrome. Si vous savez que votre terminal supporte les couleurs - mais que calcurse ne veut pas les afficher, - essayez de changer la valeur de la variable d'environnement - $TERM (appliquez par exemple la valeur - xterm-xfree86). -

    - -

    5.4 Disposition des panneaux

    -

    - La disposition des panneaux ŕ l'intérieur de la fenętre de - calcurse peut ętre paramétrée. Par défaut, le - panneau contenant le calendrier se situe en haut ŕ droite de - la fenętre, le panneau contenant la liste des tâches est situé - en bas ŕ droite, et le panneau contenant les rendez-vous se - trouve sur la partie gauche de l'écran (voir la figure dans la - section Mode interactif - pour un exemple de la disposition par défaut). - En choisissant une autre disposition pour les éléments composants - la fenętre de calcurse, l'utilisateur peut adapter - ŕ ses besoins l'interface du programme.

    - -
    -

    - The following option is used to modify the layout configuration:

    -
    -
    layout - (default: 0)
    -
    Eight different layouts are to be chosen from (see layout - configuration screen for the description of the available layouts).
    -
    -
    - - -
    -

    5.5 Sidebar configuration

    -

    - 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.

    -

    - The following option is used to change the width of the sidebar:

    -
    -
    side-bar_width - (default: 0)
    -
    Width (in percentage, 0 being the minimum width) of the side bar.
    -
    -
    - - -

    5.6 Réglages de la barre de notification

    -

    - Les options suivantes permettent de modifier les réglages de la - barre de notification:

    -
    -
    barre-notification_afficher - (valeur par défaut: )
    -
    Cette option indique si la barre de notification doit ętre - affichée ou pas.
    -
    barre-notification_date - (valeur par défaut: %a %F)
    -
    Avec cette option, il vous est possible de spécifier le format qui - doit ętre utilisé pour afficher la date du jour dans la barre de - notification. Les différents formats possibles sont visibles en - tapant la commande suivante dans un terminal: man 3 strftime. -
    -
    barre-notification_heure - (valeur par défaut: %T)
    -
    Avec cette option, il vous est possible de spécifier le format qui - doit ętre utilisé pour afficher l'heure courante dans la barre de - notification. Les différents formats possibles sont visibles en - tapant la commande suivante dans un terminal: man 3 strftime. -
    -
    barre-notification_alerte - (valeur par défaut: 300)
    -
    Si l'utilisateur a programmé un rendez-vous dans les prochaines - 'barre-notification_alerte' secondes, et qu'il a marqué celui-ci - comme étant important, l'affichage de ce rendez-vous clignotera dans - la barre de notification. - De plus, la commande définie par barre-notification_commande - sera executée. - De cette maničre, l'utilisateur sera alerté et saura que l'heure du rendez-vous - approche.
    -
    barre-notification_commande - (valeur par défaut: printf '\a')
    -
    Cette option indique la commande qui sera lancée lorsque l'heure d'un - rendez-vous approchera, et que ce rendez-vous a été marqué comme - 'important'. La commande spécifiée par cette option sera passée au shell - de l'utilisateur, qui l'interpretera. Pour savoir quel shell doit ętre - utilisé, calcurse lit le contenu de la variable - d'environnement $SHELL, et si cette variable est vide, la - commande sera passée ŕ /bin/sh. -

    Exemple: - Supposons que le programme mail soit - disponible sur l'ordinateur de l'utilisateur, celui-ci peut indiquer la - commande suivante afin d'ętre prévenu par mail lorsqu'un rendez-vous - approche (la description de ce rendez-vous sera également mentionnée - dans le corps du mail):

    - -calcurse --next | mail -s "[calcurse] nouveau rendez-vous!" user@host.com - -
    - -
    notify-daemon_enable - (default: no)
    -
    If set to yes, daemon mode will be enabled, meaning calcurse - 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 'Background mode'. -
    -
    notify-daemon_log - (default: no)
    -
    If set to yes, calcurse daemon activity will be logged (see section - files). -
    - -
    - -

    6. Bogues connus

    -

    - Une coloration incorrecte des objets peut résulter - d'une utilisation conjointe d'un thčme graphique en - noir et blanc et d'une variable $TERM - fixée ŕ xterm-color. Pour supprimer ce - bogue, et comme le conseille Thomas E. Dickey (le - résponsable du projet xterm), - xterm-xfree86 devrait ętre assigné - ŕ la variable $TERM en lieu et place de - xterm-color :

    -
    - "La valeur xterm-color pour la variable $TERM est un mauvais - choix pour les terminaux XFree86 parce qu'elle est couramment - utilisée pour les entrées terminfo qui ne - supportent pas bce. Utilisez plutôt l'entrée - xterm-xfree86 qui est distribuée avec le xterm - d'XFree86 (ou par celui, similaire, distribué avec ncurses)." -
    - - -

    7. Rapporter les bogues et commentaires

    -

    - Merci de renvoyer vos rapports de bogues et vos commentaires ŕ - l'adresse suivante :

    -
    calcurse .ŕ. culot .point. org 
    -

    - ou directement ŕ l'auteur :

    -
    frederic .ŕ. culot .point. org 
    - -

    8. Comment contribuer?

    -

    - Si vous désirez contribuer au projet, vous pouvez tout d'abord - envoyer vos commentaires sur ce qui vous plaît ou déplaît ou sur - ce qui vous manque dans calcurse. - Pour le moment, les contributions possibles concernent - la traduction des messages de calcurse ainsi que - de la documentation.

    -

    Remarque: - toute contribution ŕ la traduction de - calcurse serait trčs - appréciée, mais avant tout, envoyez un mail - ŕ calcurse-i18n .ŕ. culot .point. org pour savoir si - quelqu'un a déjŕ commencé le processus de - traduction dans votre langue.

    - - -

    8.1 Traduction de la documentation

    -

    - Le répertoire doc/ du paquet source contient - déjŕ des versions traduites de la documentation. - Cependant, si celle-ci n'est pas encore disponible dans votre - langue, votre aide pour sa traduction serait trčs - appréciée.

    -

    - Pour cela, il suffit de copier un des fichiers existant et de - renommer cette copie en manual_XX.html, oů - XX représente votre langue. Il faut ensuite - traduire ce fichier nouvellement créé et de - l'envoyer ŕ l'auteur (voir Rapporter - les bogues et commentaires), pour qu'il soit inclus dans - la prochaine version de calcurse.

    - - -

    8.2 Traduction de calcurse

    -

    - Comme mentionné plus haut, les utilitaires - gettext sont utilisés par - calcurse pour produire des messages - multilingues. Cette section explique comment traduire ces - messages dans votre langue. Cependant, cette notice est - délibérément incomplčte, - puisqu'elle ne se concentre que sur l'utilisation de - gettext avec calcurse. Pour avoir - une vision plus large du Support de Langage Natif - (NLS), il est préférable de se - référer au manuel de GNU gettext - que l'on peut trouver ŕ l'adresse suivante :

    -
    http://www.gnu.org/software/gettext/manual/
    -

    - Pour résumer, trois catégories de personnes sont - impliquées dans la chaîne de traduction : les - programmeurs, les coordinateurs de la traduction, et les - traducteurs. Aprčs un rapide aperçu de la - maničre de procéder pour traduire le logiciel, - nous décrirons plus en détails les tâches du - traducteur.

    - - -

    8.2.1 Aperçu

    -

    - Afin de pouvoir afficher du texte dans la langue natale de - l'utilisateur, deux étapes sont nécessaires : - l'internationalisation (i18n), et la - localisation (l10n).

    -

    - L'i18n permet ŕ calcurse d'ętre - multilingue. C'est un processus qui est mis en place par les - programmeurs, qui marquent les phrases ŕ traduire au - sein du code source, et qui fournissent les outils pour que - ces phrases soient traduites automatiquement pendant le - déroulement du programme.

    -

    - La l10n correspond quant ŕ elle au processus qui permet - ŕ calcurse de s'adapter ŕ la langue - de l'utilisateur. C'est-ŕ-dire qu'il traduit les - phrases précédemment marquée par les - programmeurs, et qu'il fixe correctement les variables - d'environnement afin que calcurse puisse utiliser - les résultats de cette traduction.

    -

    - Ainsi, les phrases traduisibles sont tout d'abord - marquées par les programmeurs dans le code source, puis - rassemblées dans un fichier référence - (calcurse.pot - l'extension - pot signifiant - portable object template, objet portable de - référence). Le contenu de ce fichier est alors - associé aux fichiers contenant la traduction pour - chacune des différentes langues (fichier fr.po - pour le français par exemple - po siginifiant - portable object, objet portable - qui peut ętre - lu par les humains). Le traducteur devra se servir de ce - fichier, et traduira les phrases qu'il contient, puis - l'enverra aux développeurs. Ensuite, au niveau de la - compilation du programme, une version binaire de ce fichier - sera produite (pour des raisons d'efficacité), puis - installée. Cette version binaire a pour extension - .mo, oů mo - signifie machine - object - objet machine, c'est-ŕ-dire qui peut - ętre lu par le programme. Pour finir, - calcurse se servira de ce fichier mo - lors de son exécution pour traduire les phrases dans la langue - de l'utilisateur.

    - - -

    8.2.2 Etapes de la traduction

    -

    - Supposons que quelqu'un veuille commencer une traduction dans - une nouvelle langue. Voici les étapes ŕ suivre - pour ce faire :

    -
      -
    • Premičrement, trouver quel est le nom de la locale - correspondant ŕ la langue ŕ traduire. Par - exemple, pour le français, il s'agit de 'fr_FR', ou - simplement 'fr'. C'est cette valleur que l'utilisateur devra - mettre dans la variable d'environnement LC_ALL - pour obtenir la version traduite du logiciel (voir Variable d'environnement - pour l'i18n).
    • -
    • Ensuite, il faut se rendre dans le répertoire - po/, et créer un nouveau fichier .po - ŕ partir du fichier de référence en utilisant la commande suivante : - 'msginit -i calcurse.pot -o fr.po -l fr --no-translator' - Si vous n'avez pas msginit installé sur - votre systčme, vous pouvez plus simplement copier - calcurse.pot en fr.po - par exemple, et éditer l'en-tęte du fichier nouvellement créé - manuellement.
    • -
    -

    - Maintenant, ayant ŕ disposition ce fichier - fr.po, la traduction peut commencer.

    - - -

    8.2.3 Fichiers po

    -

    - Le format des fichiers po est assez simple. En effet, - ils ne contiennent que quatre éléments - différents :

    -
      -
    1. ligne d'emplacement: renseigne sur l'emplacement - de la phrase dans le fichier source (donne le nom du fichier - ainsi que le numéro de ligne), afin de retrouver - simplement le contexte d'oů est issu la phrase ŕ - traduire.
    2. -
    3. ligne msgid: indique la phrase ŕ traduire.
    4. -
    5. ligne msgstr: ligne indiquant la phrase traduite.
    6. -
    7. lignes commençant par '#': indiquent des - commentaires (certains ont une signification spéciale, - comme nous le verrons plus tard).
    8. -
    -

    - Pour résumer, un traducteur doit simplement remplir les - champs msgstr avec la traduction des lignes - trouvées juste au-dessus dans la partie msgid.

    -

    - Remarques: -

    -
    Phrases marquées Fuzzy
    -
    Vous pourrez rencontrer des phrases commençant par le - commentaire "#, fuzzy". - calcurse n'utilisera pas les traductions - commençant par ce commentaire, ŕ moins que vous - ne transformiez ces phrases. En effet, le commentaire - fuzzy signifie que la phrase a déjŕ - été traduite mais qu'elle a depuis - été changée dans le source du programme, - ou bien que gettext a effectué lui-męme - une traduction, en se basant sur une phrase similaire. Cela - implique donc que vous devez vérifier la traduction. - Parfois, la phrase originale a changé suite ŕ - une correction de faute de frappe. Dans ce cas, vous n'aurez - pas besoin de modifier la traduction. Mais dans d'autres cas, - cette traduction peut ne plus ętre valable et - nécessitera alors une mise ŕ jour. Une fois - cette mise ŕ jour effectuée, vous pouvez - supprimer - le commentaire "#, fuzzy", et la traduction sera - alors ŕ nouveau prise en compte par calcurse. -
    -
    Lignes au format C et séquences spéciales
    -
    Certaines phrases ont le commentaire suivant: "#, - c-format". Cela signifie que des parties du texte - ŕ traduire ont une signification particuličre - pour le programme, et qu'il ne faut pas les modifier. Par - exemple, les séquences contenant des %, comme - "%s". Cela signifie que calcurse - remplacera ces séquences par d'autres expressions. Il - est donc important de ne pas les modifier. Il existe - également des séquences contenant des - \, comme \n ou \t. Il ne - faut pas les modifier non plus. En effet, la premičre - séquence représente une fin de ligne, et la - deuxičme une tabulation.
    -
    Découpage des traductions
    -
    Si certaines lignes sont trop longues, il est possible de - découper les phrases comme dans l'exemple ci-aprčs: -
    -msgid ""
    -"une ligne trčs longue"
    -"une autre ligne"
    -        
    -
    En-tęte des fichiers po
    -
    Au tout début du fichier po, la - premičre phrase forme un en-tęte oů - différentes informations doivent ętre - renseignées. La plus importante est le jeu de - caractčres utilisé. Cette information devrait - ressembler ŕ -
    -"Content-Type: text/plain; charset=utf-8\n"
    -        
    - Il est également nécessaire de remplir le champ - Last-Translator - - Dernier Traducteur, afin - que d'autres traducteurs potentiels puissent se mettre en - relation avec la derničre personne ayant - retouché le fichier. De cette maničre, il est - plus simple de coordonner les efforts de traduction. Il est - possible de rajouter son adresse de courrier - électronique, par exemple: -
    -"Last-Translator: Frederic Culot <frederic@culot.org>\n"
    -        
    -
    Commentaires
    -
    Ajouter des commentaires (lignes commençant par '#') - peut ętre un bon moyen de signaler des problčmes ou - difficultés de traduction aux autres traducteurs.
    -
    Taille des phrases
    -
    calcurse est un programme comportant une - interface console/curses, il dépend donc de la taille - du terminal utilisé (plus particuličrement du - nombre de colonnes). Il est important de garder ceci en - mémoire au moment de la traduction. Souvent, la phrase - ŕ traduire doit tenir dans une seule ligne (soit en - général 80 caractčres). Il faut en tenir - compte, et essayer de voir oů la phrase sera - placée pour adapter sa traduction.
    -
    Quelques outils utiles
    -
    Le format des fichiers po est relativement simple, et - ils peuvent ętre modifiés avec un éditeur - de texte standard. Mais il est également possible - d'utiliser des outils spécialisés pour cette - tâche: - -
    -
    Finalement...
    -
    J'espčre que vous prendrez plaisir ŕ - contribuer ŕ l'internationalisation du monde des - logiciels libres. :) Si vous avez d'autres questions - concernant ce processus, n'hésitez pas ŕ me - contacter ŕ l'adresse - frederic .ŕ. culot .point. org.
    -
    - - -

    9. Liens

    -

    - Cette section contient des liens en relation avec - calcurse qui peuvent vous ętre utiles.

    - - -

    9.1 Site internet de calcurse

    -

    - La page web de calcurse est ŕ l'adresse suivante :

    -
    http://culot.org/calcurse
    - -

    9.2 Liste de diffusion de calcurse

    -

    - Si vous ętes interessé par ce projet et que vous souhaitez - ętre prévenu lorsqu'une nouvelle version est diffusée, vous - pouvez souscrire ŕ la liste de diffusion de calcurse. - De cette maničre, vous recevrez un mél dčs qu'une nouvelle - version est disponible.

    -

    - Pour souscrire ŕ cette liste, envoyez un message ŕ l'adresse - calcurse-announce .ŕ. culot .point. org - avec "subscribe" dans le sujet du mél.

    - -

    9.3 Flux RSS

    -

    - Une autre possibilité pour ętre prévenu lorsqu'une - nouvelle version de calcurse est disponible est de - s'abonner au flux RSS suivant :

    -
    http://culot.org/calcurse/news_rss.xml
    -

    - Ce flux RSS est mis ŕ jour dčs qu'une nouvelle version de - calcurse est diffusée, et indique quelles sont les - modifications qui ont été apportées.

    - -

    9.4 Autres liens

    -

    - La spécification du format ical (rfc2445) peut ętre trouvée ŕ l'adresse - suivante : -

    http://tools.ietf.org/html/rfc2445
    -

    - La page du projet pcal se trouve quant ŕ elle ŕ l'adresse suivante : -

    http://pcal.sourceforge.net/
    - -

    10. Remerciements

    -

    - Je voudrais remercier ici toutes les personnes sans qui ce projet - n'aurait jamais pu voir le jour! En particulier : -

      -
    • Alex pour ses patches, aides et conseils sur la programmation en - C
    • -
    • Gwen pour les tests et les discussions sur la manière d'améliorer - calcurse
    • -
    • Herbert pour la maintenance du paquet calcurse pour - FreeBSD
    • -
    • Zul pour la maintenance du paquet calcurse pour - NetBSD
    • -
    • Kevin, Ryan, et fEnIo pour la maintenance du paquet calcurse - pour Debian et Ubuntu
    • -
    • Wain, Steffen and Ronald pour la maintenance du paquet calcurse pour - Archlinux
    • -
    • Pascal pour la maintenance du paquet calcurse pour - Slackware
    • -
    • Alexandre pour la maintenance du paquet calcurse pour - Mac OsX et Darwin
    • -
    • Igor pour la maintenance du paquet calcurse pour - ALT Linux
    • -
    • Joel pour son script de calendrier qui a inspiré celui de - calcurse
    • -
    • Michael Schulz et Chris M. pour la traduction allemande de calcurse - et de son manuel
    • -
    • Jose Lopez pour la traduction espagnole de calcurse - et de son manuel
    • -
    • Neil Williams pour la traduction anglaise
    • -
    • Tony pour son patch qui a permis d'améliorer la fonction - recur_item_inday(), et pour l'implémentation des options de configuration - concernant les formats de date
    • -
    • Jeremy Roon pour la traduction en Néerlandais
    • -
    • Leandro Noferini pour la traduction en Italien
    • -
    • Erik Saule pour son patch qui a permis d'implémenter les options '-N', - '-s', '-S', '-r', et '-D' de la ligne de commande
    • -
    • les personnes qui écrivent des logiciels que j'apprécie et qui - m'ont inspiré lors de la conception de ce projet, en particulier: -
        -
      • vim pour les touches de déplacement
      • -
      • orpheus et abook pour la documentation
      • -
      • pine et aptitude - pour l'interface en mode texte
      • -
      • tmux for coding style
      • -
    • -
    -

    -

    - Et pour terminer, un trčs grand merci ŕ tous les utilisateurs de - calcurse qui m'ont fait parvenir leurs commentaires.

    - - -
    - - - diff --git a/doc/manual_it.html b/doc/manual_it.html deleted file mode 100644 index 11f7f80..0000000 --- a/doc/manual_it.html +++ /dev/null @@ -1,1587 +0,0 @@ - - - - - -Documentazione di <code>calcurse</code> - - - - - -
    - -

    -calcurse - un organizer testuale

    - -
    -

    Abstract

    Questo manuale descrive le funzionalitĂ  -di calcurse, e il suo utilizzo. Innanzitutto vengono -descritti la procedura di installazione a partire dai sorgenti e le -opzioni della linea di comando; successivamente viene presentata -l'interfaccia utente e tutte le opzioni di configurazione che -modificano il comportamento di calcurse. Infine viene -descritta la procedura per la segnalazione dei bachi e come -partecipare allo sviluppo di calcurse. -
    - - - -

    1. Introduzione

    -

    - Calcurse è un programma testuale per la gestione - dell'agenda. Permette la gestione degli eventi, degli appuntamenti - e dei compiti quotidiani: un sistema configurabile di avvisi ricorda - all'utente l'avvicinarsi delle scadenze; l'interfaccia testuale può - essere personalizzata secondo le necessità dell'utente. Tutti i - comandi sono documentati da un sistema d'aiuto in linea. -

    - -

    2. Panoramica

    -

    2.1 Storia dello sviluppo

    -

    - Ho cominciato a pensare a questo progetto mentre stavo finendo il - mio dottorato in astrofisica... Stava diventando piuttosto difficile - organizzare la mia vita per cui avevo veramente necessitĂ  di un - valido strumento per aiutarmi in questo compito difficile ;) -

    -

    - Personalmente apprezzo i programmi con interfaccia utente testuale - perchÊ sono semplici, veloci, portabili ed efficienti perciò ho - pensato di realizzare un semplice calendario testuale. - - Inoltre volevo imparare il linguaggio C che avevo usato - solo durante i miei studi secondari; perciò ho pensato che questo - sarebbe stato un buon progetto per organizzarmi e per imparare - qualche nozione di C! -

    -

    - Sfortunatamente ho finito il mio dottorato prima di aver - terminato calcurse; in ogni modo ho continuato a - lavorarci sperando che potesse risultare utile anche ad altre - persone. Perciò eccolo qua.... - -

    -

    - PerchÊ il nome 'calcurse'? PerchÊ è semplicemente l'unione di - 'CALendar' e 'nCURSEs', dal nome delle librerie usate per realizzare - l'interfaccia utente. -

    - -

    2.2 Principali -caratteristiche

    -

    - Calcurse è multi-piattaforma e vuole essere leggero, - veloce e affidabile; deve essere usato all'interno della console o - in un terminale, localmente o su un computer remoto mediante una - connessione di tipo ssh. -

    -

    - Calcurse può essere usato in due diversi modi, - interattivo e non-interattivo. Nel primo modo permette all'utente di - controllare la propria agenda praticamente ovunque grazie - all'interfaccia testuale. - Il secondo modo permette di aggiungere appuntamenti semplicemente - usando appropriati argomenti alla linea di comando all'interno di un - compito di cron o di uno script di avvio della shell. -

    -

    - Inoltre calcurse è stato realizzato pensando all'utente - finale perciò cerca di essere quanto piÚ semplice possibile. Questo - comporta un completo aiuto in linea oltre ad una barra di stato in - cui sono elencate tutte le azioni disponibili. - Anche l'interfaccia utente è configurabile permettendo di poter - scegliere fra diverse combinazioni di colori e layout. -Key bindings are also configurable, to fit everyone's needs. - Infine un sistema configurabile di allarmi ricorda all'utente - l'avvicinarsi degli appuntamenti. -The reminders are sent even if the user's interface -is not running, as calcurse is able to run in background. -

    - -

    3. Installazione

    -

    3.1 Requisiti

    -

    3.1.1 Librerie ncurses

    -

    - Calcurse richiede esclusivamente un - compilatore C quale cc - oppure gcc nonchĂŠ le librerie ncurses. - È piuttosto difficile non avere le - librerie ncurses giĂ  correttamente installate sul - proprio computer ma nel caso è possibile trovarle all'indirizzo: -

    http://ftp.gnu.org/pub/gnu/ncurses/
    -

    - -
    -

    Note: - It is also possible to link calcurse against the - ncursesw library (ncurses with support for unicode). - However, UTF-8 is not yet supported by calcurse.

    -
    - -

    3.1.2 Librerie gettext

    -

    - Calcurse ha il supporto per la localizzazione - (i18n da qui in avanti) attraverso - l'utilità gettext perciò può usare messaggi in molte - lingue se compilato con il relativo supporto - (detto NLS). - -

    -

    - Comunque NLS è opzionale e se non lo si - desiderasse è possibile disabilitarlo dando - l'opzione --disable-nls a configure (vedi - la sezione Procedura - d'installazione). - - Per verificare che le utilità gettext sono installate - sul vostro computer cercate il file di header libintl.h - ad esempio: -

    -
    locate libintl.h
    -

    - Nel caso non troviate il file potete ottenere i sorgenti - di gettext al seguente indirizzo: -

    -
    http://ftp.gnu.org/pub/gnu/gettext/
    -

    -

    Nota: - - Se anche si fosse trovato il file libintl.h - potrebbe essere necessario specificarne la posizione durante - la procedura d'installazione - usando l'opzione --with-libintl-prefix - con configure. - - Questo perchĂŠ configure potrebbe non essere in - grado di localizzarlo se fosse stato installato in una - posizione inusuale. -

    - -

    3.2 Procedura d'installazione

    -

    - Innanzitutto è necessario scompattare l'archivio contenente i - sorgenti: -

    -
    tar zxvf calcurse-2.8.tar.gz
    -

    - Una volta verificati i requisiti e scompattato l'archivio la - procedura d'installazione è piuttosto semplice visto che segue i tre - passi standard: -

      -
    1. ./configure
    2. -
    3. make
    4. -
    5. make install (potrebbero essere necessari i - diritti di root)
    6. -
    -

    -

    - Usate ./configure --help per l'elenco delle opzioni - possibili. -

    - -

    4. Elementi di base di calcurse

    -

    4.1 Avvio

    -

    4.1.1 Argomenti della linea di comando

    -

    - Calcurse accetta le seguenti opzioni della linea di - comando (sia nel formato breve che in quello lungo): -

    -

    - -

    -
    -a, --appointment
    -
    - Mostra gli appuntamenti e gli eventi per il giorno corrente e - poi esce. -

    Nota: il calendario - dal quale leggere gli appuntamenti può essere specificato con - l'opzione '-c'. -

    -
    -
    -c <file>, --calendar <file>
    -
    - Indica il file calendario da usare. - - Il calendario predefinito è ~/.calcurse/apts (vedi - la sezione calcurse - files). -
    -
    -d <data|num>, --day <data|num>
    -
    - Mostra gli appuntamenti per la data indicata o per il numero - indicato per i giorni futuri a seconda del formato - dell'argomento. Sono possibili due formati: - -
      -
    • una data (possible formats described below).
    • -
    • un numero 'n'.
    • -
    - Nel primo caso viene mostrata la lista degli appuntamenti per la - data indicata; nel secondo caso viene mostrata la lista per gli - 'n' giorni futuri. - Ad esempio digitando calcurse -d 3 verrĂ  mostrata - la lista degli appuntamenti di oggi, domani e dopodomani. - -
    - Possible formats for specifying the date are defined inside the - general configuration menu (see - General options), using the - input_datefmt variable. -
    - -

    Nota: cosÏ come con - l'argomento '-a' il calendario dal quale leggere gli - appuntamenti può essere specificato con l'argomento '-c'.

    -
    - -
    -D <dir>, --directory <dir>
    -
    -
    - Specify the data directory to use. This option is - incompatible with -c. If not specified, the - default directory is '~/.calcurse/'. -
    -
    - -
    -h, --help
    -
    - Stampa la versione breve del testo che descrive le opzioni della - riga di comando ed esce.
    - -
    -i <file>, --import <file>
    -
    -
    - Import the icalendar data contained in file. -
    -
    - -
    -n, --next
    -
    - Stampa il prossimo appuntamento nelle successive 24 ore ed esce. - Il tempo stampato indica le ore e i minuti mancanti - all'appuntamento. - -

    Nota: il calendario - dal quale leggere gli appuntamenti può essere specificato con - l'opzione '-c'.

    -
    - -
    -N, --note
    -
    -
    - When used with the '-a' or '-t' flag, also print note content - if one is associated with the displayed item. -
    -
    - -
    -r[num], --range[=num]
    -
    -
    - Print events and appointments for the num number of - days and exit. If no num is given, a range of 1 day - is considered. -
    -
    -
    -s[date], --startday[=date]
    -
    -
    - Print events and appointments from date and exit. - If no date is given, the current day is considered. -
    -
    -
    -S<regex>, --search=<regex>
    -
    -
    - When used with the '-a', '-d', '-r', '-s', or '-t' flag, - print only the items having a description that matches the given - regular expression. -
    -
    -
    --status
    -
    -
    - 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. -
    -
    - -
    -t[num], --todo[=num]
    -
    - Stampa la lista delle 'attivitĂ ' ed esce. Se viene specificato - anche il numero num opzionale vengono stampate - esclusivamente le attivitĂ  che hanno prioritĂ  pari al numero - stesso. -
    - 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.

    -
    -
    -
    -v, --version
    -
    - Stampa la versione di calcurse ed esce. -
    -
    -x[format], --export[=format]
    -
    - 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 Links below). - If the optional argument format is not given, - ical format is selected by default. -
    -

    Nota: è possibile - reindirizzare lo standard output per salvare i dati su un file - con un comando del tipo - $ calcurse --export > my_data.dat

    -
    -
    - -

    4.1.2 Variabili d'ambiente per l'i18n

    -

    - Calcurse può essere compilato con il supporto per la - localizzazione - (vedi librerie - gettext). - - Di conseguenza, se preferite che i messaggi del programma vengano - mostrati nella vostra lingua, innanzitutto verificate che questa sia - disponibile nel file po/LINGUAS: questo file indica - quali lingue sono supportate mostrando il codice di due lettere - corrispondente (ad esempio fr indica il - francese). Nel caso in cui la vostra lingua non fosse presente - sarebbe estremamente apprezzabile il vostro aiuto nella traduzione - di calcurse (vedi la sezione Come - contribuire).

    - -

    - Se invece la vostra lingua è presente avviate calcurse - con il seguente comando:

    -
    LC_ALL=fr_FR calcurse
    -

    - dove fr_FR è il nome della localizzazione - d'esempio che deve essere sostituita dal nome della localizzazione - desiderata. -

    -

    - È anche necessario indicare il set di caratteri da usare - perchĂŠ in alcuni casi gli accenti e altri caratteri simili non - vengono mostrati correttamente. Questo set di caratteri è indicato - all'inizio del file po corrispondente alla localizzazione prescelta: - ad esempio nel file fr.po viene indicato l'uso del set iso-8859-1 e - di conseguenza dovete avviare calcurse con il seguente - comando:

    -
    LC_ALL=fr_FR.ISO8859-1 calcurse
    - -

    4.1.3 Altre variabili -d'ambiente

    -

    - Le seguenti variabili d'ambiente modificano il funzionamento - di calcurse:

    - -
    -
    VISUAL
    -
    Indica l'editor usato per scrivere le note. -
    -
    EDITOR
    -
    Se non viene impostata la variabile VISUAL viene - usato l'editor indicato dalla variabile EDITOR come - editor di default; se non viene definita nessuna variabile viene - usato l'editor /usr/bin/vi. -
    -
    PAGER
    -
    Specifica il visualizzatore di default usato per leggere le - note. Se questa variabile non viene impostata viene - usato /usr/bin/less. -
    -
    - -

    4.2 Interfaccia utente

    -

    4.2.1 ModalitĂ  non-interattiva

    -

    - Quando calcurse viene avviato con una delle opzioni - -a, -d, -h, -n, -t, -v, -x - funziona nella modalitĂ  non-interattiva; questo significa che dopo - aver mostrato le informazioni richieste calcurse esce riportando al - prompt della shell.

    - -

    - In questo modo è possibile ad esempio aggiungere una linea - siffatta 'calcurse --todo --appointment' nel file di - avvio della shell per mostrare al logon un elenco dei compiti e - degli appuntamenti previsti per la data odierna.

    - -

    4.2.2 ModalitĂ  interattiva

    -
    -

    Note: - Key bindings that are indicated in this manual correspond to - the default ones, defined when calcurse 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 key bindings).

    -
    -

    - Se viene avviato senza argomenti oppure solo con - l'opzione '-c' calcurse si avvia nella modalità - interattiva; in questa modalità viene mostrata un'interfaccia - contenente tre differenti sezioni (fra le quali è possibile passare - con il tasto 'TAB'), una barra di notifica ed una barra di stato - (vedi la figura sotto). -

    -
    -
    - Sezione appuntamenti ---.                   .--- Sezione calendario
    -                         |                   | 
    -                         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            | Sezione
    - |                                    ||----------------------------| attivitĂ 
    - |                                    ||                            |     |
    - |                                    ||                            |     |
    - |                                    ||                            |<--.
    - |                                    ||                            |
    - +------------------------------------++----------------------------+
    - |---[ Mon 2006-11-22 | 10:11:43 ]---(apts)----> 01:20 :: lunch <---|<--.
    - +------------------------------------------------------------------+ barra di notifica
    - | ? Help      R Redraw      H/L -/+1 Day      G GoTo      C Config | 
    - | Q Quit      S Save        J/K -/+1 Week     Tab Chg View         |<-. 
    - +------------------------------------------------------------------+    |
    -                                                                         |
    -                                                                 barra di stato
    -
    -
    -
    -

    - La prima sezione rappresenta un calendario dove è possibile - evidenziare una particolare data; la seconda sezione contiene la - lista degli eventi e degli appuntamenti per la data evidenziata; ed - infine la terza sezione contiene la lista delle attività non - assegnate a nessun giorno particolare.

    -
    -

    - 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:

    -
    -
    -+------------------------------------+
    -|              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
    -+------------------------------------+
    -
    -        
    -

    - The current week number is displayed on the top-right side of the panel - (# 13 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. -

    -
    - -

    - Nella sezione degli appuntamenti si può notare il - segno '(|)' accanto alla data indicante la - fase lunare secondo la seguente tabella: - -

    -
    ' |) ':
    -
    primo quarto
    -
    ' (|) ':
    -
    plenilunio
    -
    ' (| ':
    -
    terzo quarto
    -
    ' | ':
    -
    novilunio
    -
    nessun segno:
    -
    la fase della luna non corrisponde a nessuna di queste
    -
    -

    -

    - Nell'ultima riga dello schermo si trova la barra di stato che - indica le azioni possibili e le relative scorciatoie di tastiera. -

    -

    - Al di sopra della barra di notifica si trova la barra di notifica - che indica (da destra a sinistra): la data e l'ora correnti, il file - calendario attualmente in uso (apts nella figura precedente, che è - il nome di default, vedi la prossima sezione) e il prossimo - appuntamento nelle successive 24 ore; nella figura d'esempio viene - indicato l'appuntamento per il pranzo fra un'ora e venti. -

    - -

    Nota: alcune azioni, quali - modifica o aggiunta di una voce, richiedono l'inserimento del testo - mediante l'editor a linea compreso nel programma.

    - -

    - All'interno di questo editor se appare una linea maggiore - dell'ampiezza dello schermo vengono mostrati i caratteri '>', - '*', o '<' nell'ultima colonna nel caso ci siano altri caratteri - successivamente, prima o dopo della posizione corrente; è inoltre - possibile scorrere orizzontalmente.

    - -

    - Inoltre alcuni comandi sono collegati ad alcune scorciatoie. Di - seguito sono elencati alcuni comandi (dove '^' indica per il tasto - Control): -

    -
    ^a:
    -
    sposta il cursore all'inizio della riga di input
    -
    ^b:
    -
    sposta il cursore indietro
    -
    ^d:
    -
    cancella il carattere davanti
    -
    ^e:
    -
    sposta il cursore alla fine della riga di input
    -
    ^f:
    -
    sposta il cursore avanti
    -
    ^h:
    -
    cancella il carattere dietro
    -
    ^k:
    -
    cancella dal cursore fino alla fine della riga di input
    -
    ESCAPE:
    -
    cancella la modifica
    -
    -

    - -
    -

    4.3 Background mode

    - -

    When the daemon mode is enabled in the notification configuration menu -(see Notify-bar settings), calcurse will stay -in background when the user interface is not running. In background mode, -calcurse checks for upcoming appointments and runs the user-defined -notification command when necessary. When the user interface is started again, -the daemon automatically stops.

    - -

    calcurse background activity can be logged (set the -notify-daemon_log variable in the notification configuration -menu), and in that case, information about the daemon -start and stop time, reminders' command launch time, signals received... will be written -in the daemon.log file (see section files).

    - -

    -Using the --status command line option (see section -Command line arguments), -one can know if calcurse 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): -

    calcurse is running in background (pid 14536)
    - -

    Note: -To stop the daemon, just send the TERM signal to it, using a command such as: -'kill daemon_pid', where daemon_pid is the process id -of the daemon (14536 in the above example). -

    -
    - -

    4.4 File di calcurse

    -

    - Al primo avvio di calcurse viene creata nella vostra - directory $HOME -

    (or in the directory you specified with the -D option)
    - questa gerarchia di directory: -

    -
    -  $HOME/.calcurse/
    -           |___notes/
    -           |___conf
    -           |___keys
    -           |___apts
    -           |___todo
    -
    - -
    -
    notes/:
    -
    questa sotto-directory contiene le descrizioni delle note - allegate agli appuntamenti, eventi o attivitĂ . Per ogni nota viene - creato un file di testo con un nome creato dalla funziona - mkstemp(3) che dovrebbe essere unico ma senza alcuna correlazione - evidente con la descrizione dell'oggetto al quale viene collegato. -
    - -
    conf:
    -
    questo file contiene le configurazioni dell'utente
    - -
    keys:
    -
    this file contains the user-defined key bindings
    - -
    apts:
    -
    questo file contiene gli eventi e gli appuntamenti - dell'utente
    - -
    todo:
    -
    questo file contiene l'elenco delle attivitĂ 
    -
    - -
    -

    Note: - If the logging of calcurse daemon activity was set in the notification - configuration menu, the extra file daemon.log will appear - in calcurse data directory. This file contains logs about calcurse activity - when running in background. -

    -
    - -
    -

    4.5 Import/Export capabilities

    -

    - The import and export capabilities offered by calcurse - are described below. -

    - -

    4.5.1 Import

    -

    - Data in icalendar format as described in the rfc2445 specification - (see links 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. -

    -

    - The following icalendar properties are handled by calcurse: -

      -
    • VTODO items:
      - "PRIORITY", "VALARM", "SUMMARY", "DESCRIPTION"
    • -
    • VEVENT items:
      - "DTSTART", "DTEND", "DURATION", "RRULE", "EXDATE", "VALARM", "SUMMARY", - "DESCRIPTION"
    • -
    -

    -

    - 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). -

    -

    - Here are the properties that are not implemented: -

      -
    • negative time durations are not taken into account (item is skipped)
    • -
    • some recurence frequences are not recognize:
      - "SECONDLY" / "MINUTELY" / "HOURLY"
    • -
    • some recurrence keywords are not recognized - (all those starting with 'BY'):
      - "BYSECOND" / "BYMINUTE" / "BYHOUR" / "BYDAY" / "BYMONTHDAY"
      - "BYYEARDAY" / "BYWEEKNO" / "BYMONTH" / "BYSETPOS"
      - plus "WKST"
    • -
    • the recurrence exception keyword "EXRULE" is not recognized
    • -
    • timezones are not taken into account
    • -
    -

    - -

    4.5.2 Export

    -

    - Two possible export formats are available: ical and - pcal (see section Links below - to find out about those formats). -

    -
    - -

    4.6 Aiuto in linea

    -

    - In ogni momento è possibile richiedere il sistema dell'aiuto in - linea premendo il tasto '?': una volta avviato si possono richiedere - le informazioni su un certo comando premendo il tasto relativo. -

    - -

    5. Opzioni

    -

    - Tutti i parametri di calcurse sono configurabili dal menÚ - Configuration accessibile premendo il tasto 'C' che porta ad un - sotto-menÚ con quattro possibili scelte: premendo ancora 'C' si - raggiunge alla configurazione dello schema dei colori; premendo 'L' - è possibile scegliere la configurazione dell'interfaccia dello - schermo principale di calcurse (praticamente le posizioni relative - dei tre pannelli); premendo 'G' è possibile modificare alcune - opzioni generali; - pressing 'K' opens the key bindings configuration - menu, - ed infine premendo 'N' è possibile modificare le - impostazioni della barra di notifica. -

    - -

    5.1 Opzioni generali

    -

    - Queste opzioni controllano il comportamento generale di calcurse: -

    -
    -
    auto_save - (default: yes)
    -
    - Questa opzione permette di salvare automaticamente i dati - dell'utente all'uscita del programma. -

    attenzione: i - dati non verranno salvati automaticamente se impostato - a no. Questo comporta che sarĂ  - necessario premere 'S' per salvare i dati eventualmente - modificati. -

    - -
    periodic_save - (default: 0)
    -
    If different from '0', user's data will be automatically - saved every periodic_save minutes. - When an automatic save is performed, two asterisks - (i.e. '**') will appear on the top right-hand side - of the screen). -
    - -
    confirm_quit - (default: yes)
    -
    - Se impostato a yes è necessario - confermare l'uscita dal programma; altrimenti premendo 'Q' - calcurse esce senza chiedere conferma. -
    - -
    confirm_delete - (default: yes) -
    -
    - Se viene impostata a yes premendo - 'D' per cancellare una voce (che può essere - un'attività, - un appuntamento, o - un evento) è necessario - confermare. Altrimenti non è necessaria alcuna conferma. -
    - -
    skip_system_dialogs - (default: no) -
    -
    - Impostando questa opzione a yes - non verranno piĂš mostrati i messaggi di sistema - riguardanti il salvataggio e la lettura dei dati, utile - per velocizzare le operazioni di input e output. -
    -
    skip_progress_bar - (default: no)
    -
    - Se impostato a yes non verrĂ  - visualizzata la barra di avanzamento che indica il - salvataggio in corso dei files insieme al file che viene - salvato (vedi la - sezione calcurse files). -
    - -
    calendar_default_view - (default: 0)
    -
    If set to 0, the monthly calendar view will be - displayed by default otherwise it is the weekly view that will be displayed. -
    - -
    week_begins_on_monday - (default: yes)
    -
    - Con questa opzione è possibile indicare con quale giorno, - domenica o lunedÏ, far iniziare la settimana nella - finestra del calendario. -
    - -
    output_datefmt - (default: %D)
    -
    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: mm/dd/aa. - You can see all of the possible formats by typing man 3 strftime - inside a terminal.
    - -
    input_datefmt - (default: 1)
    -
    This option indicates the format that will be used to enter dates in - calcurse. Four choices are available: -
      -
    1. mm/dd/yyyy
    2. -
    3. dd/mm/yyyy
    4. -
    5. yyyy/mm/dd
    6. -
    7. yyyy-mm-dd
    8. -
    -
    - -
    - -
    -

    5.2 Key bindings

    -

    - One can define it's own keybindings within the 'Keys' configuration - menu. The default keys look like the one used by the vim - editor, especially the displacement keys. Anyway, within this - configuration menu, users can redefine all of the keys available from - within calcurse's user interface.

    -

    - 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.

    -

    - 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.

    -

    - The following keys can be used to define bindings: -

      -
    • lower-case, upper-case letters and numbers, such as 'a', 'Z', '0'
    • -
    • CONTROL-key followed by one of the above letters
    • -
    • escape, horizontal tab, and space keys
    • -
    • arrow keys (up, down, left, and right)
    • -
    • 'HOME' and 'END' keys
    • -

    -

    - 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.

    -
    - -

    5.3 Color themes

    -

    - Il tema del colore di calcurse può essere personalizzato a seconda - delle necessitĂ  dell'utente. Nella pagina di configurazione è - possibile cambiare i colori dello sfondo e del primo piano del tema - predefinito: usando i tasti cursore o i tasti di movimento definiti - per lo spostamento in calcurse, il tasto 'X' o lo spazio per - selezionare il colore l'utente può vedere l'anteprima del tema - prescelto. È anche possibile mantenere i colori predefiniti del - terminale selezionando la relativa opzione nella lista. -

    - -

    - Il tema scelto viene applicato ai bordi del pannello, ai titoli, - alle indicazioni delle scorciatoie da tastiera e in generale alle - informazioni mostrate nella barra di stato. Fra gli altri è anche - presente un tema in bianco e nero per usarlo sui terminali monocromatici. -

    - -

    - Nota: i colori possono anche - non essere supportati a seconda del tipo di terminale e dal - valore della variabile d'ambiente $TERM; nel - caso in cui il tipo di terminale non li supportasse apparirĂ  - un messaggio d'errore provando a cambiare i colori. - Se sapete che il vostro terminale supporta i colori ma - questi non appaiono provate ad impostare la variabile - $TERM ad un altro valore (come ad - esempio xterm-xfree86). -

    - - -

    5.4 Configurazione del layout

    -

    - Il layout è la posizione dei pannelli all'interno dello schermo di - calcurse. Il layout predefinito è cosÏ disposto: il pannello del - calendario in alto a destra, il pannello delle attività in basso a - destra e il pannello degli appuntamenti sul lato sinistro dello - schermo (vedi la figura della - sezione Modo - interattivo). - Scegliendo un altro layout è possibile personalizzare l'aspetto di - calcurse a seconda delle necessità. -

    - -
    -

    - The following option is used to modify the layout configuration:

    -
    -
    layout - (default: 0)
    -
    Eight different layouts are to be chosen from (see layout - configuration screen for the description of the available layouts).
    -
    -
    - - -
    -

    5.5 Sidebar configuration

    -

    - 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.

    -

    - The following option is used to change the width of the sidebar:

    -
    -
    side-bar_width - (default: 0)
    -
    Width (in percentage, 0 being the minimum width) of the side bar.
    -
    -
    - -

    5.6 Impostazioni della barra delle notifiche

    -

    - Le seguenti opzioni modificano il comportamento della barra delle - notifiche: -

    -
    -
    notify-bar_show - (default: yes)
    -
    - Questa opzione imposta la visibilitĂ  della barra delle notifiche. -
    - -
    notify-bar_date - (default: %a %F)
    -
    - Questa opzione imposta il formato utilizzato per la data mostrata - all'interno della barra delle notifiche. È possibile vedere - tutti i possibili formati digitando man 3 strftime - all'interno di un terminale. -
    - -
    notify-bar_time - (default: %T)
    -
    - Questa opzione imposta il formato utilizzato per mostrare l'orario - all'interno della barra delle notifiche. È possibile vedere - tutti i possibili formati digitando man 3 strftime - all'interno di un terminale. -
    - -
    notify-bar_warning - (default: 300)
    -
    - Nel caso sia presente un appuntamento marcato come 'important' - nell'intervallo definito (in secondi) nella variabile - 'notify-bar_warning' viene mostrata lampeggiante la descrizione - dell'appuntamento stesso all'interno della barra delle notifiche. - Inoltre viene eseguito il comando definito - dall'opzione notify-bar_command. - In questo modo è possibile essere avvisati dell'avvicinarsi - di un appuntamento. -
    - -
    notify-bar_command - (default: printf '\a')
    -
    - Questa opzione imposta il comando che deve essere avviato - all'avvicinarsi di un appuntamento marcato come 'important'. Il - comando viene passato alla shell che lo deve interpretare. Per - sapere quale tipo di shell è in uso verificare il valore della - variabile d'ambiente $SHELL; nel caso questa - variabile non sia impostata viene usata /bin/sh. - -

    Esempio: - Ammesso che sul sistema in uso sia disponibile il - comando mail il seguente comando permette di - ricevere la notifica con un messaggio di posta elettronica di un - appuntamento imminente (la descrizione dell'appuntamento viene - inclusa anche nel corpo del messaggio): -

    - - calcurse --next | mail -s "[calcurse] upcoming appointment!" user@host.com - -
    -
    notify-daemon_enable - (default: no)
    -
    If set to yes, daemon mode will be enabled, meaning calcurse - 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 'Background mode'. -
    -
    notify-daemon_log - (default: no)
    -
    If set to yes, calcurse daemon activity will be logged (see section - files). -
    - -
    - -

    6. Bachi conosciuti

    -

    - L'evidenziazione delle voci appare scorretta usando calcurse con un - tema bianco e nero insieme alla variabile $TERM - impostata a xterm-color. - - Per risolvere questo baco, cosĂŹ come affermato da Thomas E. Dickey - (manutentore di xterm), si deve usare il - valore xterm-xfree86 per la - variabile $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)." -
    - -

    7. Segnalazione dei bachi e feedback

    -

    - Siete invitati a segnalare i bachi e quant'altro a: -

    -
    calcurse .at. culot .dot. org
    -

    - oppure direttamente all'autore: -

    -
    frederic .at. culot .dot. org
    - -

    8. Come contribuire

    -

    - Se siete interessati a collaborare al progetto dovreste prima di - tutto segnalare pregi e difetti oppure funzionalità mancanti in - calcurse. - Attualmente è possibile partecipare alle traduzioni dei messaggi e - del manuale di calcurse -

    -

    Nota: ogni aiuto ad - aumentare il supporto all'internazionalizzazione di calcurse è - benvenuto ma prima di cominciare scrivete a - calcurse-i18n .at. culot .dot. org - per evitare di duplicare gli sforzi. -

    - -

    8.1 Tradurre la documentazione

    -

    - La directory doc/ del pacchetto dei - sorgenti contiene anche le versioni già tradotte del manuale di - calcurse; se il manuale non è ancora stato tradotto nella vostra - lingua ogni aiuto in tal senso sarà piÚ che apprezzato. -

    -

    - Per fare questo è sufficiente copiare il file contenente il manuale - con il nome manual_XX.html - dove XX identifica il vostro linguaggio: - questo file deve essere tradotto ed inviato all'autore - (vedi Riportare i bachi e feedback) cosÏ che - possa essere incluso nel successivo rilascio - di calcurse. -

    - -

    8.2 calcurse i18n

    -

    - - Le utilità di calcurse producono messaggi multi-lingua, - cosÏ come ricordato in precedenza: questa sezione contiene - informazioni sulla traduzione di questi messaggi nella vostra - lingua; queste informazioni sono però incomplete in quanto sono - concentrate sull'uso di gettext - per calcurse. Per informazioni maggiormente - approfondite e per comprendere il Grande Disegno che sottintende al - Supporto delle Lingue fate riferimento al manuale di - GNU gettext: - -

    -
    http://www.gnu.org/software/gettext/manual/
    -

    - Fondamentalmente sono tre le figure coinvolte nel processo di - traduzione: gli sviluppatori, i coordinatori per la lingua e i - traduttori. Dopo una rapida scorsa al funzionamento del meccanismo - verrĂ  illustrato il compito dei traduttori. -

    - - -

    8.2.1 Panoramica

    -

    - Per essere in grado di mostrare i messaggi nel linguaggio definito - dall'utente sono necessari due passaggi: - l'internazionalizzazione (i18n) e - la localizzazione (l10n). -

    -

    - i18n è la possibilità per calcurse di supportare svariati linguaggi - che viene inserita dagli sviluppatori, i quali indicano come - traducibili i messaggi e prevedono un sistema per mostrarli tradotti - mentre il programma sta funzionando. -

    -

    - l10n è invece il rendere calcurse cosÏ programmato adatto al - linguaggio definito dall'utente traducendo le stringhe predefinite - dagli sviluppatori e impostando le variabili d'ambiente cosÏ che - calcurse sia in grado di mostrare le stringhe tradotte. -

    -

    - Le stringhe traducibili vengono innanzitutto indicate come tali nei - sorgenti C, poi raccolte in un file modello - (calcurse.pot - la cui - estensione pot - significa portable object template). Il - contenuto del file modello viene successivamente inserito nei file - per la traduzione per ogni linguaggio (ad - esempio fr.po per il francese, la cui - estensione po sta - per portable object, cioè leggibile e - modificabile dagli umani). - Ogni gruppo di traduzione prende questo file, ne traduce le stringhe - e poi le invia indietro agli sviluppatori. - Al momento della compilazione viene prodotta una versione binaria di - questo file per ragioni d'efficienza (nel nostro - esempio fr.mo - - dove mo sta per machine - object, cioè leggibile dai programmi) e successivamente - installato. - A questo punto calcurse sarà in grado di usare questo file - traducendo le stringhe a seconda delle variabili d'ambiente - impostate dall'utente. -

    - - -

    8.2.2 Compiti dei traduttori

    -

    - Questi sono i passaggi da seguire qualora si volesse iniziare una - nuova traduzione: -

    -
      -
    • - Innanzitutto si deve trovare quale sia la sigla che individua il - linguaggio prescelto: ad esempio 'fr_FR' o piĂš semplicemente 'fr' - indica il francese. Questo sarĂ  il valore a cui impostare la e - variabile d'ambiente LC_ALL perchĂŠ il programma - mostri correttamente le stringhe tradotte (vedi - Variabili d'ambiente per - l'i18). -
    • - -
    • - Poi si dovrĂ  creare un nuovo file 'po' all'interno della - directory po/ usando un file modello con - il seguente comando: - 'msginit -i calcurse.pot -o fr.po -l fr --no-translator'. - Nel caso in cui il comando msginit non sia - disponibile sul sistema in uso copiate semplicemente il - file calcurse.pot con il nome (nel nostro - esempio) fr.po e modificatene gli header - a mano. -
    • -
    -

    - A questo punto è possibile iniziare la traduzione del - file fr.po appena creato. -

    - - -

    8.2.3 I file po

    -

    - Il formato dei file po è relativamente semplice essendo composti di - quattro componenti: -

    -
      -
    1. - Linee locations: indicano la posizione in - cui si trovano le stringhe (nome del file e numero di linea) nel - caso sia necessario avere un po' di contesto. -
    2. -
    3. - Linee msgid: le stringhe da tradurre. -
    4. -
    5. - Linee msgstr: le stringhe tradotte. -
    6. -
    7. - Linee che iniziano con '#': commenti (alcuni - con significati speciali come spiegato piĂš avanti). -
    8. -
    -

    - Praticamente è necessario tradurre le suddette linee marcate - con msgstr con la traduzione delle linee - marcate con msgid -

    -

    - Alcune note: -

    -
    - Stringhe fuzzy -
    -
    - Potrete trovare alcune stringhe marcate con un - commento "#, fuzzy", stringhe che calcurse non - userà finchÊ non verrà preso qualche provvedimento. Questo - perchÊ la stringa in questione è stata cambiata nei sorgenti del - programma oppure perchÊ gettext ha tentato di - 'indovinarne' il significato basandosi su altre stringhe simili - già presenti nel file. Questo comporta la necessità di - controllare la traduzione. - Alcune volte la stringa originale è stata modificata per - correggere un errore ortografico; in questo caso non è - necessaria alcuna azione. Altre volte però la traduzione non è - piÚ corretta per cui è necessario rivederla. - Una volta che la traduzione può essere considerata corretta è - sufficiente rimuovere la linea "#, fuzzy" e questa - verrà usata normalmente. -
    -
    - Stringhe c-format e sequenze speciali -
    -
    - Alcune stringhe potranno avere il commento "#, c-format". - Questo indica che una componente della stringa ha un particolare - significato per il programma e che quindi avrĂ  lasciata - inalterata. Ad esempio la sequenze come "%s" - vengono sostituite dal programma con altre stringhe. - Ci sono anche le sequenze del tipo \n - e \t che non devono essere modificate perchĂŠ la - prima indica un ritorno a capo e la seconda una tabulazione. -
    -
    - Le traduzioni possono avere ritorno a - capo -
    -
    - Se le linee sono troppo lunghe possono essere interrotte cosĂŹ: -
    -	msgid ""
    -	"some very long line"
    -	"another line"
    -    
    -
    -
    - Header dei file po -
    -
    - Nelle prime righe del file po la prima stringa costituisce un - header contenente alcune informazioni che devono essere - completate. Questi header sono: -
    -	"Content-Type: text/plain; charset=utf-8\n"
    -      
    - È anche necessario compilare il campo 'Last-Translator' - di modo che altri potenziali collaboratori possano contattarvi - per unire gli sforzi o per segnalare errori e - correzioni. È possibile usare anche un soprannome o - aggiungere un indirizzo di posta elettronica come ad esempio: -
    -	"Last-Translator: Frederic Culot <frederic@culot.org>\n"
    -    
    -
    - Commenti -
    -
    - Aggiungere commenti (indicati dalle linee che iniziano con il - carattere '#') può essere un valido modo per indicare problemi o - difficoltà trovate nella traduzione ad altri collaboratori o in - generale ai partecipanti alla traduzione. -
    -
    - Dimensione delle stringhe -
    -
    - Calcurse è un programma per la console scritto - usando le librerie 'curses' per cui può essere fortemente - limitato dalle dimensioni (in particolare dal numero di colonne) - del terminale, limitazioni che è necessario tenere a mente - mentre si traduce. Spesso una stringa deve essere tutta compresa - in una singola linea (la cui dimensione standard è di 80 - caratteri). Ponete attenzione e verificate che la vostra - traduzione si adatti alla posizione prevista sullo schermo. -
    -
    - Alcuni utili strumenti -
    -
    - Il file po ha una struttura estremamente semplice per cui può - essere modificato anche direttamente con un normale editor di - testi; in ogni caso è possibile anche usare degli strumenti - specializzati: - -
    -
    - E per chiudere -
    -
    - Mi auguro che troviate soddisfazione nel contribuire ad un mondo - maggiormente internazionalizzato. :) Se avete altre domande non - esitate a contattarmi all'indirizzo - frederic .at. culot .dot. org. -
    -
    - - -

    9. Link

    -

    - Questa sezione contiene link e riferimenti che possono risultare - interessanti. -

    - -

    9.1 Homepage di calcurse

    -

    - L'homepage di calcurse è -

    -
    http://culot.org/calcurse
    - -

    9.2 Mailing list degli annunci di calcurse

    -

    - Se siete interessati al progetto e volete ricevere gli annunci - relativi ai rilasci delle nuove versioni (o all'inserimento di nuove - funzionalitĂ ) potete iscrivervi alla mailing list degli annunci di - calcurse. -

    -

    - Per iscriversi alla lista inviate un messaggio - all'indirizzo calcurse-announce .at. culot - .dot. org con "subscribe" nel soggetto. -

    - -

    9.3 Feed rss di calcurse

    -

    - Un'altra possibilità per ricevere questi annunci è l'iscrizione al - feed RSS all'indirizzo: -

    -
    http://culot.org/calcurse/news_rss.xml
    -

    - Questo feed viene aggiornato ogni volta viene pubblicata una nuova - versione con la descrizione delle funzionalitĂ  aggiunte. -

    - -

    9.4 Other links

    -
    -

    - You may want to look at the ical format specification (rfc2445) at: -

    http://tools.ietf.org/html/rfc2445
    -

    - The pcal project page can be found at: -

    http://pcal.sourceforge.net/
    -
    - -

    10. Ringraziamenti

    -

    - È giunto il momento per ringraziare le persone senza le quali - questo programma non esisterebbe. Questa è la lista: -

      -
    • - Alex per le sue patch, per il suo aiuto e consigli per la - programmazione in C -
    • -
    • - Gwen per il testing e per i consigli in generale sulle migliorie - da apportare a calcurse -
    • -
    • - Herbert per aver impacchettato calcurse per FreeBSD -
    • -
    • - Zul per aver impacchettato calcurse per NetBSD -
    • -
    • - Wain, Steffen e Ronald per aver - impacchettato calcurse per Archlinux -
    • -
    • - Kevin, Ryan, e fEnIo per aver - impacchettato calcurse per Debian e Ubuntu -
    • -
    • - Pascal per aver impacchettato calcurse per - Slackware -
    • -
    • - Alexandre e Markus per aver impacchettato calcurse - per Mac OsX e Darwin -
    • -
    • - Igor per aver impacchettato calcurse per ALT Linux -
    • -
    • - Joel per il suo script calendar che ha inspirato la vista a - calendario per calcurse -
    • -
    • - Michael Schulz e Chris M. per la traduzione in tedesco - di calcurse e del manuale -
    • -
    • - Jose Lopez per la traduzione in spagnolo - di calcurse e del manuale -
    • -
    • - Neil Williams per la traduzione inglese -
    • -
    • - Tony per la sua patch che ha contribuito a migliorare la - funzione recur_item_inday() - , and for implementing the date format configuration options -
    • -
    • - Jeremy Roon per la traduzione olandese -
    • -
    • - Leandro Noferini per la traduzione italiana -
    • -
    • Erik Saule for its patch implementing the '-N', '-s', '-S', '-r' and '-D' flags
    • -
    • - le persone che hanno scritto software che mi piace e che - mi ha inspirato, e specialmente: -
        -
      • - vim per i tasti di movimento -
      • -
      • - orpheus e abook per la - documentazione -
      • -
      • - pine e aptitude per l'interfaccia - utente testuale -
      • -
      • tmux for coding style
      • -
      -
    • -
    -

    -

    - Ed infine ancora molti ringraziamenti a tutti gli utenti - di calcurse che mi hanno inviato i loro commenti. -

    - - -
    - - - diff --git a/doc/manual_nl.html b/doc/manual_nl.html deleted file mode 100644 index 87e8fa1..0000000 --- a/doc/manual_nl.html +++ /dev/null @@ -1,1350 +0,0 @@ - - - - - -CALCURSE documentatie - - - - - -
    - -

    -CALCURSE - tekst-gebaseerde organizer

    - -
    -

    Abstract

    Deze handleiding beschrijft de functionaliteit van calcurse -en hoe die te gebruiken. Als eerste wordt de installatie vanaf de broncode -beschreven, samen met de commandoregel-argumenten. Daarna, wordt de interface -met alle instellingen die de werking van calcurse wijzigen, -besproken. Als laatste wordt zowel de procedure van het melden van fouten in -calcurse uitgelegd, alsook de manier waarop men kan meehelpen om -calcurse te verbeteren. -
    - - - -

    1. Introductie

    -

    - calcurse is een tekstgebaseerde kalender en planner. Het - helpt om overzicht te houden over afspraken en alledaagse taken. Een - aan te passen meldingssysteem herinnert de gebruiker aan komende - deadlines, en de curses-gebaseerde interface kan aangepast worden aan - de wensen van de gebruiker. Alle commando's zijn gedocumenteerd in een - online hulpsysteem. -

    - -

    2. Overzicht

    -

    2.1 Inleiding

    -

    - Ik begon te denken aan dit project toen ik bijna afgestudeerd was in - de astrofysica... Het werd moeilijk om alles georganiseerd te houden - en ik had behoefte aan een goed hulpmiddel om me daar bij te helpen. - ;) -

    -

    - Ik hou van programma's die gebruik maken van de tekst-interface, omdat - ze simpel, snel, overdraagbaar en efficient zijn, dus ik dacht eraan - om een simpele tekst-interface kalender te programmeren. Ook wilde ik - graag verder leren programmeren in de programmeertaal C, - welke ik alleen in mijn vooropleiding had gebruikt. Zodoende zou ik - dus leren programmeren in C, en mijn zaakjes voor elkaar - krijgen. -

    -

    - Helaas studeerde ik af voordat ik klaar was met calcurse, - maar ik was nog steeds geboeid door het project, in de hoop dat het - ook voor anderen een handig programma zou zijn. En hier is dan het - resultaat... -

    -

    - Waarom de naam 'calcurse', vraagt u zich af? Het is simpelweg een - samentrekking van 'CALendar' en 'nCURSEs', de naam van de bibliotheek - die gebruikt wordt om de gebruikers-interface aan te sturen. -

    - -

    2.2 Belangrijke kenmerken

    -

    - Calcurse is multi-platform, neemt weinig systeembronnen - in beslag, en is snel en betrouwbaar. Het moet gebruikt worden binnen - een console of terminal, lokaal of op een aparte computer door middel - van een connectie met een programma zoals ssh. -

    -

    - Calcurse kan op twee verschillende manieren gebruikt - worden: interactieve of niet-interactieve modus. De eerste modus zorgt - er voor dat men zijn eigen agenda bijna overal kan bekijken, dankzij - de tekst-gebaseerde interface. Met de tweede modus, kan men makkelijk - met geheugensteuntjes werken door calcurse met de juiste - commandoregel-opties in een cron tab of shell init script te - zetten. -

    -

    - Bovendien, is calcurse geschreven met de - eindgebruiker in gedachten, en is dus zo gebruikersvriendelijk - mogelijk. Dit betekent dat er een volledige hulp-functie is, en de - beschikbare acties altijd op het scherm staan in de statusbalk. De - gebruikers-interface is ook aan te passen, en men kan tussen - verschillende kleurenschema's en layout-combinaties kiezen. -Key bindings are also configurable, to fit everyone's needs. - En als laatste, is er het configurabele meldingssysteem, dat gebruikers - verwittigt van op handen zijnde afspraken. -The reminders are sent even if the user's interface -is not running, as calcurse is able to run in background. -

    - -

    3. Installatie

    -

    3.1 Benodigheden

    -

    3.1.1 ncurses bibliotheek

    -

    - Calcurse maakt alleen gebruik van een C - compiler, zoals cc of gcc, en de - ncurses bibliotheek. Het is onwaarschijnlijk dat er nog - geen juiste versie van ncurses op uw computer staat, maar - indien het niet zo is, is het via de volgende url te vinden:

    -
    http://ftp.gnu.org/pub/gnu/ncurses/
    - -
    -

    Note: - It is also possible to link calcurse against the - ncursesw library (ncurses with support for unicode). - However, UTF-8 is not yet supported by calcurse.

    -
    - -

    3.1.2 gettext bibliotheek

    -

    - calcurse ondersteunt internationalisatie - (i18n - genoemd hierna) door middel van gettext. Dit betekent - dat calcurse berichten in verschillende talen kan - weergeven, indien gecompileerd met native language support - (NLS). -

    -

    - NLS is optioneel en als het niet nodig is, - kan het uitgeschakeld worden. Dit wordt gedaan door - --disable-nls als optie mee te geven aan - configure (zie sectie Installatieprocedure). Om te zien of - gettext op het systeem aanwezig is, kan er gezocht worden naar het - libintl.h header bestand b.v.:

    -
    locate libintl.h
    -

    - Indien het header bestand niet gevonden wordt, kan het via de volgende - url verkregen worden:

    -
    http://ftp.gnu.org/pub/gnu/gettext/
    -

    -

    Noot: - Zelfs als libintl.h gevonden wordt, is het - misschien beter om de lokatie van het bestand tijdens de Installatieprocedure) mee te geven aan - configure door middel van - --with-libintl-prefix. Het zou kunnen, dat - configure de bibliotheek niet kan vinden, als het op een - niet-gangbare plaats geïnstalleerd is. -

    - -

    3.2 Installatieprocedure

    -

    - Als eerste moet het volgende archief uitgepakt worden met gunzip en - untar:

    -
    tar zxvf calcurse-2.8.tar.gz
    -

    - Zodra de benodigde pakketten geïnstalleerd zijn en het archief - uitgepakt is, is de installatieprocedure vrij simpel, via de - standaard drie stappen: -

      -
    1. ./configure
    2. -
    3. make
    4. -
    5. make install (mogelijk root privileges nodig)
    6. -
    -

    -

    - Typ ./configure --help om een lijst te zien van mogelijke - opties. -

    - -

    4. calcurse basis

    -

    4.1 Het aanroepen van calcurse

    -

    4.1.1 Commandoregel-opties

    -

    - calcurse accepteert de volgende opties op de - commandoregel (zowel korte en lange opties worden ondersteund):

    -

    - -

    -
    -a, --appointment
    -
    - Geeft de afspraken van vandaag weer en verlaat het programma. -

    Noot: - de te gebruiken kalender waaruit de afspraken gelezen - moeten worden, kan gekozen worden met de '-c' vlag.

    -
    -
    -c <file>, --calendar <file>
    -
    - Kies het te gebruiken kalenderbestand. De standaardkalender is - ~/.calcurse/apts (zie sectie calcurse bestanden). -
    -
    -d <date|num>, --day <date|num>
    -
    - Geef de afspraken weer van de gegeven datum of van het gegeven aantal - komende dagen, afhankelijk van de opties. Er zijn twee mogelijkheden: -
      -
    • een datum (possible formats described below).
    • -
    • een nummer 'n'.
    • -
    - In het eerste geval, wordt een lijst met afspraken voor de gegeven - datum weergegeven, terwijl in het tweede geval, een lijst met - afspraken voor de komende 'n' aantal dagen wordt weergegeven. - Als je bijvoorbeeld calcurse -d 3 intypt, zullen de - afpraken voor vandaag, morgen en overmorgen worden weergegeven. -
    - Possible formats for specifying the date are defined inside the - general configuration menu (see - General options), using the - input_datefmt variable. -
    -

    Noot: - Net zoals bij de '-a' vlag, kan de te gebruiken kalender - worden gekozen met de '-c' vlag.

    -
    -
    -D <dir>, --directory <dir>
    -
    - Specificeer de te gebruiken directory. Deze optie kan niet samen - met -c gebruikt worden. Als geen directory is gegeven, wordt - standaard '~/.calcurse/' gebruikt. -
    -
    -h, --help
    -
    - Geeft een korte hulptekst weer, met de ondersteunde - commandoregel-opties en verlaat het programma. -
    -
    -i <file>, --import <file>
    -
    - Importeer de icalender-data uit file. -
    -
    -n, --next
    -
    - Geeft de eerstvolgende afspraak weer die binnen 24 uur valt en verlaat - het programma. - De weergegeven tijd is het aantal uren en minuten tot de afspraak. -

    Noot: - de te gebruiken kalender met de afspraken, kan gekozen - worden met de '-c' vlag.

    -
    -
    -N, --note
    -
    - Indien gebruikt met de '-a' of 't' vlag, wordt ook de inhoud van de - gerelateerde noot weergegeven. -
    -
    -r[num], --range[=num]
    -
    - Geeft de gebeurtenissen en afspraken voor num aantal dagen weer. - Als num niet is gegeven wordt een dag gebruikt. -
    -
    -s[date], --startday[=date]
    -
    - Print gebeurtenissen en afspraken voor datum en stopt. Als er geen - datum wordt gegeven, wordt de huidige datum gebruikt. -
    -
    -S<regex>, --search=<regex>
    -
    -
    - When used with the '-a', '-d', '-r', '-s', or '-t' flag, - print only the items having a description that matches the given - regular expression. -
    -
    -
    --status
    -
    -
    - 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. -
    -
    -
    -t[num], --todo[=num]
    -
    - Geef de 'todo' lijst weer en verlaat het programma. Als het optionele - nummer num wordt meegegeven, zullen alleen de todo's met - de prioriteit gelijk aan num worden weergegeven. -
    - 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.

    -
    -
    -
    -v, --version
    -
    - Geeft het versienummer van calcurse weer en verlaat het - programma. -
    -
    -x[format], --export[=format]
    - Exporteer data van de gebruiker naar een bepaald formaat. - Gebeurtenissen, afspraken en taken worden geconverteerd en naar - stdout gezonden. Er is een keuze uit twee formaten: ical en pcal - (zie sectie Links beneden). Als het - optionele argument formaat niet is gegeven, zal het - ical formaat worden gebruikt. -

    Noot: - Om de data te exporteren naar een bestand, kan men de - standaard output omleiden met een commando zoals: - $ calcurse --export > my_data.dat

    - -
    - -

    4.1.2 Omgevingsvariabele voor i18n

    -

    - calcurse kan gecompileerd worden met native language - support (zie gettext - bibliotheek). Als je berichten wilt zien in je moedertaal, kijk - dan eerst na of het beschikbaar is door naar het - po/LINGUAS bestand te kijken. Dit bestand geeft de - beschikbare talen weer door middel van twee letters. (Voorbeeld, - fr duidt frans aan). Indien je je taal niet vindt, zouden we - het op prijs stellen, als je meehelpt met het vertalen van - calcurse (zie Hoe kan ik - helpen?).

    -

    - Als je taal beschikbaar is, start calcurse met het - volgende commando:

    -
    LC_ALL=fr_FR calcurse
    -

    - waar fr_FR de locale naam van dit voorbeeld is, maar - veranderd moet worden naar de locale van de gewenste taal.

    -

    - De te gebruiken karakterset zou ook gespecificeerd moeten worden, - omdat anders in bepaalde gevallen de accenten en dergelijke niet - correct weergegeven worden. De karakterset wordt gekozen in het begin - van het po bestand, dat overeenkomt met de gewenste taal. Je kan - bijvoorbeeld in het fr.po bestand zien dat het gebruik maakt van de - iso-8859-1 karakterset, dus om calcurse te starten, kan - het volgende commando worden gebruikt:

    -
    LC_ALL=fr_FR.ISO8859-1 calcurse
    - -

    4.1.3 Andere omgevingsvariabelen

    -

    - De volgende omgevingsvariabelen bepalen hoe calcurse werkt:

    -
    -
    VISUAL
    -
    Specificeert welke externe editor wordt gebruikt voor het - schrijven van een noot. -
    -
    EDITOR
    -
    als de VISUAL omgevingsvariabele niet is ingesteld, - zal de inhoud van EDITOR worden gebruikt voor het - bepalen van de externe editor. Als beide variabelen niet zijn - ingesteld zal /usr/bin/vi worden gebruikt. -
    -
    PAGER
    -
    Specificeert met welk programma een noot wordt weergegeven. - Als de variabele leeg is, zal /usr/bin/less gebruikt - worden. -
    -
    - -

    4.2 Gebruikers-interface

    -

    4.2.1 Niet-interactieve modus

    -

    - calcurse wordt in niet-interactieve modus gestart, als - ten minste een van de volgende opties wordt gebruikt: - -a, -d, -h, -n, - -t, -v, -x, - Dit betekent dat de gewenste informatie wordt getoond, en dat daarna - calcurse simpelweg wordt verlaten en men weer terug is - bij de shell prompt.

    -

    - Op deze manier, kan men een regel zoals 'calcurse --todo - --appointment' in zijn init config bestand zetten, zodat - bij het inloggen de takenlijst en afspraken van vandaag worden - weergegeven.

    - -

    4.2.2 Interactieve modus

    -
    -

    Note: - Key bindings that are indicated in this manual correspond to - the default ones, defined when calcurse 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 key bindings).

    -
    -

    - Als calcurse zonder opties of alleen met de - -c optie wordt aangeroepen, wordt calcurse - in interactieve modus gestart. In deze modus, wordt er een interface - getoond, dat drie verschillende panels (panelen) bevat, waartussen je - kan schakelen door middel van de 'TAB' toets, een notify-bar - (informatiebalk), en een statusbar (statusbalk) (zie onderstaand - figuur).

    -
    -
    -   afspraken panel---.                                   .---kalender panel
    -                     |                                   |  
    -                     v                                   v
    - +------------------------------------++----------------------------+
    - |          Afspraken                 ||          Kalender          |
    - |------------------------------------||----------------------------|
    - |                 (|)  April 6, 2006 ||         April 2006         |
    - |                                    || Ma  Di  Wo  Do  Vr  Za  Zo |
    - |                                    ||                      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 |
    - |                                    ||                            |
    - |                                    |+----------------------------+
    - |                                    |+----------------------------+
    - |                                    ||            Taken           | taken
    - |                                    ||----------------------------| panel
    - |                                    ||                            |   |
    - |                                    ||                            |   |
    - |                                    ||                            |<--.
    - |                                    ||                            |
    - +------------------------------------++----------------------------+
    - |---[  Ma 2006-11-22 | 10:11:43 ]---(apts)----> 01:20 :: lunch <---|<--.
    - +------------------------------------------------------------------+ informatie
    - | ? Help     R Herteken  H/L -/+1 Dag      G Ga Naar    C Config   | balk
    - | Q Einde    S Opslaan   J/K -/+1 Week   Tab Schakelen             |<-. 
    - +------------------------------------------------------------------+  |
    -                                                                       |
    -                                                                 statusbalk
    -
    -        
    -

    - Het eerste panel geeft een kalender weer, die het mogelijk maakt om - een bepaalde datum te kiezen. Het tweede panel bevat de afspraken en - gebeurtenissen van die dag. Het laatste panel bevat een lijst met - taken (todo's) die nog moeten gebeuren, maar niet aan een bepaalde dag - zijn toegewezen.

    -
    -

    - 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:

    -
    -
    -+------------------------------------+
    -|              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
    -+------------------------------------+
    -
    -        
    -

    - The current week number is displayed on the top-right side of the panel - (# 13 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. -

    -
    - -

    - In het afspraken panel, staat vlak voor de datum het '(|)' - teken. Dit geeft de huidige fase van de maan aan. Afhankelijk van de - fase, kunnen de volgende tekens worden gezien: -

    -
    ' |) ':
    -
    eerste kwartier
    -
    ' (|) ':
    -
    volle maan
    -
    ' (| ':
    -
    laatste kwartier
    -
    ' | ':
    -
    nieuwe maan
    -
    geen teken:
    -
    huidige fase van de maan correspondeert met geen - van bovenstaande fases
    -
    -

    -

    - Aan de onderkant van het scherm is de statusbalk, die de mogelijke - acties en de daarbij horende toetscombinaties weergeeft.

    -

    - Net boven de statusbalk is de informatiebalk, die van links naar - rechts het volgende toont: de huidige datum, de huidige tijd, het - kalenderbestand dat in gebruik is (apts in het bovenstaand voorbeeld, - dat het standaardkalender bestand is, zie de volgende sectie), en de - volgende afspraak binnen 24 uur. In het voorbeeld staat dat het over - een uur en twintig minuten tijd is voor de lunch.

    -

    -

    Noot: - Voor sommige acties, zoals het bewerken of toevoegen van - een item, is het nodig dat er tekst wordt ingevoerd. Dit wordt gedaan - met de hulp van de ingebouwde editor.

    -

    - Als een regel met tekst langer is dan de breedte van het scherm, wordt - er in de editor een '>', '*', or '<' karakter getoond in de - laatste kolom, wat aanduid dat er respectievelijk meer karakters - achter, voor en achter, of voor de huidige positie staan. De - tekstregel schuift horizontaal mee als het nodig is.

    -

    - Sommige bewerkingscommando's zijn gebonden aan speciale controle - karakters. Hierna zijn de beschikbare bewerkingscommando's weergegeven - ('^' staat voor de control-toets): -

    -
    ^a:
    -
    verplaats de cursor naar het begin van de invoerregel
    -
    ^b:
    -
    verplaats de cursor terug
    -
    ^d:
    -
    verwijder een karakter voorwaarts
    -
    ^e:
    -
    verplaats de cursor naar het einde van de invoerregel
    -
    ^f:
    -
    verplaats de cursor voorwaarts
    -
    ^h:
    -
    verwijder een karakter terug
    -
    ^k:
    -
    verwijder de invoer vanaf de cursor naar het einde van - de regel
    -
    ESCAPE:
    -
    annuleert het bewerken
    -
    -

    - -
    -

    4.3 Background mode

    - -

    When the daemon mode is enabled in the notification configuration menu -(see Notify-bar settings), calcurse will stay -in background when the user interface is not running. In background mode, -calcurse checks for upcoming appointments and runs the user-defined -notification command when necessary. When the user interface is started again, -the daemon automatically stops.

    - -

    calcurse background activity can be logged (set the -notify-daemon_log variable in the notification configuration -menu), and in that case, information about the daemon -start and stop time, reminders' command launch time, signals received... will be written -in the daemon.log file (see section files).

    - -

    -Using the --status command line option (see section -Command line arguments), -one can know if calcurse 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): -

    calcurse is running in background (pid 14536)
    - -

    Note: -To stop the daemon, just send the TERM signal to it, using a command such as: -'kill daemon_pid', where daemon_pid is the process id -of the daemon (14536 in the above example). -

    -
    - -

    4.4 calcurse bestanden

    -

    - De volgende structuur wordt in je $HOME directory - aangemaakt, of in de door -D aangeduide directory) - als calcurse voor de eerste keer wordt gestart:

    -
    -$HOME/.calcurse/
    -           |___notes/
    -           |___conf
    -           |___keys
    -           |___apts
    -           |___todo
    -        
    -
    -
    notes/:
    -
    deze subdirectory bevat de beschrijvingen van de noten die - zijn bijgesloten bij afspraken, gebeurtenissen of taken. Voor - elke noot wordt er een tekstbestand aangemaakt. Dit bestand - heeft een unieke naam dat bepaald wordt door mkstemp(3). Deze - naam heeft echter geen enkel verband met de beschrijving van - het corresponderende item.
    -
    conf:
    -
    bevat de configuratie van de gebruiker.
    -
    keys:
    -
    this file contains the user-defined key bindings
    -
    apts:
    bevat alle gebeurtenissen en afspraken van de gebruiker. -
    todo:
    -
    bevat de takenlijst.
    -
    - -
    -

    Note: - If the logging of calcurse daemon activity was set in the notification - configuration menu, the extra file daemon.log will appear - in calcurse data directory. This file contains logs about calcurse activity - when running in background. -

    -
    - -

    4.5 Import/Export mogelijkheden

    -

    - De import en export mogelijkheden van calcurse zijn als - volgt: -

    - -

    4.5.1 Import

    -

    - Data in icalender formaat, zoals beschrevein in de rfc2445 specificatie - (zie links sectie beneden), kan - geïmporteerd worden in calcurse. De Calcurse ical parser is op - versie 2.0 van deze specificatie gebaseerd. Van nu af aan echter, zal - alleen een subset worden ondersteund. -

    -

    - Hier volgt het icalendar formaat zoals calcurse het gebruikt: -

      -
    • VTODO items:
      - "PRIORITY", "VALARM", "SUMMARY", "DESCRIPTION"
    • -
    • VEVENT items:
      - "DTSTART", "DTEND", "DURATION", "RRULE", "EXDATE", "VALARM", "SUMMARY", - "DESCRIPTION"
    • -
    -

    -

    - Het icalender "DESCRIPTION"-veld (omschrijving) zal worden geconverteerd naar - het eigen formaat van calcurse, door het toevoegen van een noot. Als - een "VALARM"-veld is gevonden, zal het worden gemarkeerd als belangrijk - en zal de gebruiker een melding krijgen (alleen bij afspraken). -

    -

    - Hier zijn de velden die niet worden gebruikt: -

      -
    • negatief tijdsduur zal niet herkend worden (item wordt - overgeslagen) -
    • sommige herhalings frequenties worden niet - herkend:
      - "SECONDLY" / "MINUTELY" / "HOURLY"
    • -
    • Sommige herhalingssleutelwoorden worden niet herkend (degene - die starten met 'BY'):
      - "BYSECOND" / "BYMINUTE" / "BYHOUR" / "BYDAY" / "BYMONTHDAY"
      - "BYYEARDAY" / "BYWEEKNO" / "BYMONTH" / "BYSETPOS"
      - plus "WKST"
    • -
    • het exceptie herhalingssleutelwoord "EXRULE" wordt niet - herkend
    • -
    • er wordt geen rekening gehouden met timezones
    • -
    -

    - -

    4.5.2 Export

    -

    - Twee export formaten zijn voorradig: ical en - pcal (zie sectie Links beneden - voor meer informatie over deze formaten). -

    - -

    4.6 Online hulp

    -

    - De ingebouwde hulp kan waar nodig aangeroepen worden door middel van - de '?' toets. Tijdens het gebruik van de hulpschermen kan een - specifiek commando opgevraagd worden door op de toetscombinatie te - drukken van dat commando. -

    - -

    5. Opties

    -

    - Alle opties van calcurse zijn aan te passen vanuit het - Configuratie menu. Als je op 'C' drukt, kom je in een submenu met 5 - keuzes: Druk opnieuw 'C' om naar de configuratie van de - kleurenschema's te gaan, druk op 'L' om naar de hoofdindeling van - calcurse te gaan (in andere woorden, waar de 3 panels op - het scherm komen), druk op 'G' om een aantal algemene opties in te - stellen, - pressing 'K' opens the key bindings configuration - menu, - en als laatste kan de informatiebalk worden aangepast worden - met de toets 'N'. -

    - -

    5.1 Algemene opties

    -

    - Met de volgende opties kan calcurse naar wens ingesteld - worden:

    -
    -
    automatisch_opslaan - (standaard: ja)
    -
    Door deze optie wordt de data van de gebruiker automatisch opgeslagen - (indien ingesteld op ja) bij het - afsluiten. -

    Let op: - De data wordt niet automatisch opgeslagen als - automatisch_opslaan ingesteld is op nee. Dit - betekent dat de gebruiker op 'S' moet drukken om de gewijzigde data te - bewaren.

    -
    - -
    periodic_save - (default: 0)
    -
    If different from '0', user's data will be automatically - saved every periodic_save minutes. - When an automatic save is performed, two asterisks - (i.e. '**') will appear on the top right-hand side - of the screen). -
    - -
    einde_bevestigen - (standaard: ja)
    -
    Bij het beëindigen van calcurse, zal er om een - bevestiging worden gevraagd, als de optie op ja is ingesteld. - Zoniet, dan zal calcurse zonder bevestigingsvraag - eindigen, als er op 'Q' wordt gedrukt. -
    -
    bevestig_verwijderen - (standaard: ja)
    -
    Als deze optie op ja is ingesteld, zal er om een bevestiging - gevraagd worden voor het wissen van een item door middel van een - toetsdruk op 'D' (dit kan een todo, afspraak, of - gebeurtenis zijn. Anders zal er geen bevestiging nodig zijn - voor het wissen van een item. -
    -
    overslaan_systeem_dialoog - (standaard: nee)
    -
    Als deze optie ingesteld is op ja zullen de systeem dialogen - gerelateerd aan het opslaan en laden van data worden overgeslagen. Dit - zorgt ervoor dat calcurse sneller opstart en afsluit. -
    -
    overslaan_progressie_balk - (standaard: nee)
    -
    Indien ingesteld op ja, zal deze optie er voor zorgen dat de - progressie balk, die normaal gesproken getoond wordt bij het opslaan - van data naar bestand, verdwijnt. Ingesteld op ja>, wordt de - progressie balk getoond samen met de bestandsnaam. (zie sectie calcurse bestanden). -
    -
    calendar_default_view - (default: 0)
    -
    If set to 0, the monthly calendar view will be - displayed by default otherwise it is the weekly view that will be displayed. -
    -
    week_begint_op_maandag - (standaard: ja)
    -
    Er kan gekozen worden tussen maandag en zondag als de eerste dag van - de week. Als week_begint_op_maandag ingesteld is op - ja, dan zal maandag als eerste staan in het kalender - overzicht. Anders staat zondag als eerste dag van de week. -
    - -
    output_datefmt - (standaard: %D)
    -
    Deze optie geeft het te gebruiken formaat aan bij datums in - niet-interactieve modus. Standaard worden de datums als volgt - weergegeven: mm/dd/aa. Het is - mogelijk om alle mogelijke formaten te zien, door man 3 - strftime in een terminal in te typen.
    -
    input_datefmt - (standaard: 1)
    -
    Met deze optie wordt het formaat aangeven dat zal worden - gebruikt om datums in te voern in calcurse. Er zijn four keuzes:
      -
    1. mm/dd/yyyy
    2. -
    3. dd/mm/yyyy
    4. -
    5. yyyy/mm/dd
    6. -
    7. yyyy-mm-dd
    8. -
    -
    -
    - -
    -

    5.2 Key bindings

    -

    - One can define it's own keybindings within the 'Keys' configuration - menu. The default keys look like the one used by the vim - editor, especially the displacement keys. Anyway, within this - configuration menu, users can redefine all of the keys available from - within calcurse's user interface.

    -

    - 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.

    -

    - 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.

    -

    - The following keys can be used to define bindings: -

      -
    • lower-case, upper-case letters and numbers, such as 'a', 'Z', '0'
    • -
    • CONTROL-key followed by one of the above letters
    • -
    • escape, horizontal tab, and space keys
    • -
    • arrow keys (up, down, left, and right)
    • -
    • 'HOME' and 'END' keys
    • -

    -

    - 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.

    -
    - -

    5.3 Kleurenschema's

    -

    - De kleurenschema's van calcurse zijn aan te passen aan de - wensen van de gebruiker. Om het standaard schema te wijzigen, zijn er - in het configuratiescherm de mogelijke opties weergegeven voor voor- - en achtergrondkleuren. Door met de pijltjes-toetsen of de - calcurse-toetsen de cursor te verplaatsen, en met 'X' of - spatie een kleur te selecteren, kan de gebruiker de kleur toegepast - zien. Het is ook mogelijk om de standaard kleuren van de terminal te - gebruiken. Selecteer hiervoor de corresponderende optie. -

    -

    - De kleuren van de randen, titels, toetshulp, en algemene informatie - binnen de statusbalk zullen worden aangepast. Er is ook een zwart-wit - schema, voor terminals die geen kleuren ondersteunen.

    -

    Noot: - Afhankelijk van het type terminal en van de $TERM - omgevingsvariabele, is het mogelijk dat kleur wel of niet wordt - ondersteund. Indien gepoogd wordt de kleuren te veranderen, terwijl de - terminal geen kleuren ondersteund, zal er een foutbericht - verschijnen. - Als bekend is dat de terminal kleuren ondersteund, maar niet - getoond worden door calcurse, probeerd dan om de waarde - van de $TERM variabele te veranderen in iets anders - (zoals bijvoorbeeld xterm-xfree86) -

    - -

    5.4 Layout configuratie

    -

    - De layout stelt de positie van de panels van calcurse in. - Bij de standaard layout is de positie van het kalender panel in de - terminal rechtsboven, het todo-panel rechtsonder, en het afspraken - panel wordt aan de linkerkant van het scherm getoond (zie het figuur - in sectie Interactieve - modus voor een voorbeeld van de standaard layout). - Door een andere layout te kiezen in het configuratie scherm, kan de - gebruiker calcurse zo het beste aan zijn behoeftes - aanpassen.

    - -
    -

    - The following option is used to modify the layout configuration:

    -
    -
    layout - (default: 0)
    -
    Eight different layouts are to be chosen from (see layout - configuration screen for the description of the available layouts).
    -
    -
    - -
    -

    5.5 Sidebar configuration

    -

    - 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.

    -

    - The following option is used to change the width of the sidebar:

    -
    -
    side-bar_width - (default: 0)
    -
    Width (in percentage, 0 being the minimum width) of the side bar.
    -
    -
    - -

    5.6 Informatiebalk instellingen

    -

    - De volgende opties stelt het gedrag van de informatiebalk in:

    -
    -
    informatiebalk_toon - (standaard: ja)
    -
    Deze optie stelt in of de informatiebalk getoond wordt op het scherm - of niet.
    -
    informatiebalk_datum - (standaard: %a %F)
    -
    Door middel van deze optie, kan ingesteld worden hoe de datum wordt - weergegeven in de informatiebalk. Alle mogelijkheden kunnen gezien - worden door man 3 strftime in de terminal te typen.
    -
    informatiebalk_tijd - (standaard: %T)
    -
    Door middel van deze optie, kan insteld worden hoe de huidige tijd - wordt weergegeven in de informatiebalk. weergegeven in de - informatiebalk. Alle mogelijkheden kunnen gezien worden door - man 3 strftime in de terminal te typen.
    -
    informatiebalk_waarschuwing - (standaard: 300)
    -
    Indien een afspraak binnen de tijd valt die is ingesteld in - 'informatiebalk_waarschuwing', begint de weergave van die boodschap te - knipperen. Zo wordt de gebruiker gewaarschuwd, dat er een op handen - zijnde afspraak is. Bovendien zal het commando uitgevoerd worden dat - is gedefinieerd door informatiebalk_commando.
    -
    informatiebalk_commando - (standaard: printf '\a')
    -
    Deze optie geeft het commando weer dat wordt uitgevoerd wanneer er een - op handen zijnde afspraak is, die gemarkeerd is als 'belangrijk'. Het - commando zal naar de shell van de gebruiker gestuurd worden, waar het - door de shell uitgevoerd wordt. Om van de gewenste shell gebruik te - maken, wordt gebruik gemaakt van de $SHELL - omgevingsvariabele. Er wordt gebruik gemaakt van /bin/sh, - indien de variabele leeg is. -

    Voorbeeld: - Stel dat het commando mail uit te - voeren is op het systeem van de gebruiker. Men kan dan het volgende - commando gebruiken om op de hoogte gesteld te worden van een op handen - zijnde afspraak (de beschrijving van de afspraak zal ook te zien zijn - in de body van de mail):

    - -calcurse --next | mail -s "[calcurse] upcoming appointment!" user@host.com - -
    - -
    notify-daemon_enable - (default: no)
    -
    If set to yes, daemon mode will be enabled, meaning calcurse - 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 'Background mode'. -
    -
    notify-daemon_log - (default: no)
    -
    If set to yes, calcurse daemon activity will be logged (see section - files). -
    - -
    - -

    6. bekende bugs

    -

    - Wanneer calcurse gebruikt maakt van een zwart-wit schema - terwijl de $TERM variabele is ingesteld op - xterm-color, zullen er verkeerde items gemarkeerd worden. - Gebruik om deze bug op te lossen, xterm-xfree86 in plaats van - xterm-color in de variabele $TERM, - adviseert Thomas E. Dickey (xterm maintainer):

    -
    - "De waarde van xterm-color voor $TERM is geen goede keuze voor XFree86 - xterm, omdat het vaak gebruikt wordt voor een optie in terminfo, dat - bce niet ondersteunt. Maak gebruik van de xterm-xfree86 optie die met - de xterm van XFree86 wordt gedistribueerd (of eenzelfde die wordt - gedistribueerd met ncurses)." -
    - -

    7. Het melden van bugs en aanmerkingen

    -

    - Meldt bugs en aanmerkingen alstublieft aan:

    -
    calcurse @ culot . org
    -

    - Of aan de auteur:

    -
    frederic @ culot . org
    - -

    8. Hoe kan ik helpen?

    -

    - Mocht je mee willen helpen aan het project, dan kan je ten eerste - laten weten wat je wel en niet goed vindt, en of er nog dingen zijn - die je mist in calcurse. - Ook wordt het vertalen van calcurse berichten en - documentatie zeer gewaardeerd.

    -

    Noot: - Alle hulp bij het 'internationaliseren' van - calcurse wordt zeer op prijs gesteld, maar voordat je - begint, mail dan eerst naar calcurse-i18n @ culot . org, om - te weten te komen of iemand anders al met een vertaling naar jouw taal - bezig is.

    - -

    8.1 Vertalen van de documentatie

    -

    - De doc/ directory van het bronpakket bevat alle vertalingen - van de handleidingen van calcurse. Als de handleiding van - je moedertaal echter nog niet aanwezig is, wordt het zeer op prijs - gesteld als je kunt helpen met de vertaling.

    -

    - Kopieer eenvoudig de bestaande handleiding naar - manual_XX.html, waar XX de code is van je taal. - Vertaal dan het zojuist aangemaakte bestand en zend het naar de - auteur (zie Het melden van bugs en aanmerkingen), - zodat het bij de volgende versie van calcurse gevoegd can - worden.

    - -

    8.2 calcurse i18n

    -

    - Zoals eerder gezegd, maakt calcurse gebruikt van - gettext om berichten weer te geven in meerdere talen. - Deze sectie informeert hoe de berichten te vertalen in je moedertaal. - Deze howto is echter met opzet incompleet, en verlegt de focus op het - werken met gettext voor calcurse. Voor meer - gespecificeerde informatie of om het grotere geheel te begrijpen, is - er de GNU gettext handleiding:

    -
    http://www.gnu.org/software/gettext/manual/
    -

    - In principe, zijn er drie verschillende mensen bezig in de - vertaalketen: programmeurs, de vertaal coördinator, en de vertalers. - Na in vogelvlucht uit te leggen hoe dingen werken, zal de taak van de - vertaler beschreven worden.

    - -

    8.2.1 Overzicht

    -

    - Om het mogelijk te maken om teksten weer te geven in de taal van de - gebruiker, zijn er twee stappen vereist: internationalisatie - (i18n) en localisatie (l10n).

    -

    - i18n zorgt ervoor dat - calcurse meerdere talen ondersteund. De programmeurs - markeren de te vertalen tekst (strings genaamd) en bieden een manier - aan om deze direct te vertalen als calcurse gestart is.

    -

    - l10n zorgt ervoor dat de i18n-de calcurse zich instelt op - de taal van de gebruiker, dus worden de door de programmeurs - gemarkeerde strings vertaald, en wordt de omgeving correct ingesteld, - zodat calcurse gebruik kan maken van de vertaling.

    -

    - Dus, de te vertalen strings worden eerst gemarkeerd door de - programmeurs binnen in de C broncode, dan worden ze - verzameld in een sjabloon bestand (calcurse.pot - de - pot extensie staat voor portable object template, - wat zoiets als overdraagbaar object sjabloon betekent). De inhoud van - deze sjabloonbestanden worden dan samengevoegd met de vertaalbestanden - van elke taal (fr.po voor frans, bijvoorbeeld - waar - po voor portable object staat, dus bedoeld om - gelezen en gewijzigd te worden door mensen). Dit bestand wordt door een - vertaalteam vertaald, en verzonden naar de ontwikkelaars. Bij het - compileren wordt voor efficientie een binaire versie van dit bestand - gemaakt (fr.mo - mo staat voor machine - object, dus met als doel gelezen te worden door programma's), en - geïnstalleerd. calcurse gebruikt dit bestand dan, om de - strings te vertalen volgende de instellingen van de locale van de - gebruiker.

    - -

    8.2.2 Taken van de vertaler

    -

    - Stel dat iemand met het vertalen naar een nieuwe taal wil beginnen. - Dan zijn dit de stappen die gevolgd moeten worden:

    -
      -
    • Vindt eerst uit wat de naam van de locale is. Voor frans - bijvoorbeeld is het 'fr_FR', of simpelweg 'fr'. Dit is de waarde die - in de omgevingsvariabele LC_ALL moet staan om software te - vertalen (zie De i18n - omgevingsvariabele).
    • -
    • Ga dan naar de po/ directory, en maak nieuwe - po-bestanden aan met het volgende commando: - 'msginit -i calcurse.pot -o fr.po -l fr --no-translator' - Indien msginit niet aanwezig is op het systeem, kopieer - dan simpelweg het calcurse.pot bestand en hernoem het naar - bijvoorbeeld fr.po en wijzig de header - handmatig.
    • -
    -

    - Nu fr.po aangemaakt is, kan de vertaler beginnen.

    - -

    8.2.3 po-bestanden

    -

    - De indeling van de po-bestanden is vrij simpel. Po-bestanden bestaan - uit vier onderdelen:

    -
      -
    1. locatie regels: informeert waar de strings gevonden - kunnen worden (bestandsnaam en regelnummer), in het geval dat je het - een beetje in context wilt zien.
    2. -
    3. msgid regels: de te vertalen strings.
    4. -
    5. msgstr regels: de vertaalde strings.
    6. -
    7. regels met een '#' ervoor: commentaar (sommige met een - speciale betekenis, zoals we verderop zullen zien).
    8. -
    -

    - Eigenlijk, hoef je alleen de msgstr regels te vullen met de - vertaling van bovenstaande msgid regels.

    -

    - Een paar aanmerkingen: -

    -
    Fuzzy strings
    -
    Wanneer je een string tegenkomt die gemarkeerd is met "#, - fuzzy", zal calcurse de vertaling niet gebruiken - totdat je iets verandert. 'Fuzzy' betekent dat de string al vertaald - is, maar sindsdien is veranderd in de broncode van het programma, of - dat het een nieuwe string is, waar gettext zelf een ruwe - vertaling van heeft gemaakt, gebaseerd op andere strings in het - bestand. Het komt erop neer dat je de vertaling moet nakijken. Soms is - er een kleine verandering in de originele string, omdat er een typfout - is verbeterd. In dit geval hoeft er niets te veranderen. Maar het kan - ook zo zijn dat de vertaling niet juist meer is, en een verandering - noodzakelijk is. Als de vertaling weer in orde is, wis dan de regel - met "#, fuzzy", en dan zal de vertaling weer gebruikt - worden in calcurse.
    -
    c-format strings en speciale tekens
    -
    Sommige string hebben het volgende commentaar: "#, - c-format". Dit betekent dat een deel van de te vertalen string - een speciale betekenis heeft voor het programma, en niet veranderd mag - worden. Bijvoorbeeld, het teken %, gebruikt als "%s". Dit - betekent dat calcurse dit teken zal vervangen met een - andere string. Het is dus belangrijk dat het niet verwijderd wordt. Er - zijn ook andere tekens zoals \, gebruikt als \n of - \t. Verander ook deze niet. Het zijn respectievelijk - tekens voor einde-van-de-regel, en een tab.
    -
    Vertalingen mogen afgebroken worden
    -
    Zodra een regel te lang wordt, kan je hem splitsen als volgt: -
    -msgid ""
    -"een hele lange regel"
    -"de volgende regel"
    -        
    -
    het begin van het po-bestand
    -
    Aan het begin van het po-bestand, vormt de eerste string de 'header', - waar verschillende soorten informatie kan worden ingevuld. Het - belangrijkste is de karakterset. Het zou er als volgt uit moeten zien: -
    -"Content-Type: text/plain; charset=utf-8\n"
    -        
    - Het is ook belangrijk dat het Last-Translator veld wordt ingevuld, - zodat nieuwe vertalers zich bij je kunnen aanmelden, of dat mensen - contact kunnen opnemen als ze aanvullingen hebben of typfouten - gevonden hebben. Je kan zowel een naam/bijnaam, of email adres - invulllen, zoals bijvoorbeeld: -
    -"Last-Translator: Frederic Culot <frederic@culot.org>\n"
    -        
    -
    Commentaar
    -
    Het toevoegen van commentaar (regels die beginnen met het karakter - '#', is een juiste manier om problemen met vertalingen te markeren - voor proeflezers of andere vertalers.
    -
    De lengte van strings
    -
    calcurse is een curses/console programma, dus het is nauw - verbonden met het aantal kolommen dat de terminal gebruikt. Dit is - iets om in gedachten te houden bij het vertalen. Vaak moet een string - op een enkele regel passen. Het beste is dus om niet zomaar de strings - te vertalen, maar om eerst te kijken waar ze weergegeven worden in het - programma, en pas dan te vertalen.
    -
    Een paar nuttige hulpmiddelen
    -
    Het po-bestandsformaat is vrij simpel, en het bestand kan gewijzigd - worden met een standaard tekst-editor. Maar er zijn een paar - gespecialiseerde hulpmiddelen, die je misschien handig vindt bij het - vertalen: - -
    -
    En als laatste
    -
    Ik hoop dat je het leuk vindt om bij te dragen aan een - 'geïnternationaliseerde' wereld. :) Mocht je nog vragen hebben, - schroom dat niet om contact met me op te nemen via - frederic @ culot . org.
    -
    - -

    9. Links

    -

    - Deze sectie bevat links en referenties welke je misschien interesseren.

    - -

    9.1 calcurse homepage

    -

    - De calcurse homepage is hier te vinden:

    -
    http://culot.org/calcurse
    - -

    9.2 calcurse mededelingenlijst

    -

    - Mocht je interesse hebben in het project, en op de hoogte wilt worden - gehouden als er een nieuwe versie uitkomt, kan je jezelf inschrijven - op de calcurse mededelingenlijst. Je ontvangt dan een - email zodra er iets nieuws is in calcurse.

    -

    - Om je in te schrijven, zend dan een email naar - calcurse-announce @ culot . org met "subscribe" - ingevuld bij 'onderwerp'.

    - -

    9.3 calcurse RSS feed

    -

    - Nog een mogelijkheid om op de hoogte te blijven over nieuwe versies - is om de RSS feed te volgen:

    -
    http://culot.org/calcurse/news_rss.xml
    -

    - Deze RSS feed wordt iedere keer vernieuwd als er een nieuwe versie van - calcurse beschikbaar is, waarbij ook de nieuwe opties beschreven - worden.

    - -

    9.4 Links

    -

    - Voor meer informatie over het ical-formaatspecificatie (rfc2445): -

    http://tools.ietf.org/html/rfc2445
    -

    - De pcal projectpagina kan hier gevonden worden: -

    http://pcal.sourceforge.net/
    - -

    10. Dankwoord

    -

    - Het is tijd om de mensen te bedanken, zonder wie dit programma niet - zou bestaan! Hier is een lijst met mensen die ik graag wil bedanken: -

      -
    • Alex voor zijn patches, hulp en advies met het programmeren in - C
    • -
    • Gwen voor het testen en voor de discussies om - calcurse te verbeteren
    • -
    • Herbert voor het maken van een pakket voor calcurse - voor FreeBSD
    • -
    • Zul voor het maken van een pakket voor calcurse voor - NetBSD
    • -
    • Wain, Steffen and Ronald voor het maken van een pakket voor calcurse voor - Archlinux
    • -
    • Kevin, Ryan, en fEnIo voor het maken van een pakket voor - calcurse voor Debian en Ubuntu
    • -
    • Pascal voor het maken van een pakket voor calcurse - voor Slackware
    • -
    • Alexandre en Markus voor het maken van een pakket voor - calcurse voor Mac OsX en Darwin
    • -
    • Igor voor het maken van een pakket voor calcurse for - ALT Linux
    • -
    • Joel voor zijn kalender script waarop de kalenderview van - calcurse geïnspireerd is
    • -
    • Michael Schulz en Chris M. voor de duitse vertaling van - calcurse en handleiding
    • -
    • Jose Lopez voor de spaanse vertaling van calcurse en - handleiding
    • -
    • Neil Williams voor de engelse vertaling
    • -
    • Leandro Noferini voor de italian vertaling
    • -
    • Tony voor zijn patch die de recur_item_inday functie verbeterde - , en voor het implementeren van de datumformaat - configuratie-opties
    • -
    • Jeremy Roon voor de nederlandse vertaling van - calcurse en handleiding
    • -
    • Erik Saule voor zijn patch, waarmee de '-N', '-s', '-S', '-r' en '-D' - vlaggen zijn geïmplementeerd
    • -
    • en de mensen die de software geschreven hebben die ik goed vind - en mij geïnspireerd hebben zoals: -
        -
      • vim voor de toetsen die de cursor verplaatsen
      • -
      • orpheus en abook voor de - documentatie
      • -
      • pine en aptitude - voor de tekstinterface
      • -
      • tmux for coding style
      • -
    • -
    -

    -

    - En als laatste wil ik graag de mensen bedanken die - calcurse gebruiken, en mij aanvullingen en opbouwende - kritiek stuurden.

    - - -
    - - - -- cgit v1.2.3-70-g09d2