Calcurse

800px-Screenshot 2019-12-21 12-19-00.png

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
 * <+-- slice 5: 04:00 to 08:00 PM
 * <+-- slice 6: 08:00 to 12:00 PM
 * <+-- slice 6: 08:00 to 12: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.