Using Calcurse to keep track of appointments and tasks

At the Command Line

The ability to query at the command line lets you look up tasks, appointments, and events on the fly. By linking Calcurse with a script or an entry in /etc/crontab, you can automate queries and thus output reminders.

Table 1 gives details of the switches supported by Calcurse. The man page and the detailed documentation list additional parameters. In the program, you can always access the built-in help by pressing ?.

Table 1

Useful Options



-a, --appointment

Show the appointments and events for today.

-a, --next

Show the appointments and events for the next 24 hours.

-s <date>, --startday=<date>

Show the appointments and events for the stated date.

-r <count>, --range=<count>

Show the appointments and events within the next <count> days.

-t <value>, --todo=<value>

Show the task list with the priority specified in <value>.

-d <date|count>, --day=<date|count>

Show the appointments and events for a <date> or for the next <count> days.

The example in Listing 1 retrieves the entries for the next 10 days. In the output, you will see the data for a single entry on 17 February 2014, which points to an event named B20 Knowledge Space: Marked. YubiKey NEO NFC authentication day in conjunction with a smartphone. The event starts at 7:00pm, ends at 8:00pm, and takes place at the corporate offices.

Listing 1

Retrieving the Entries


Data Storage

Calcurse stores the data locally in your home directory below .calcurse/. Table 2 explains the function of the individual plain-text files.

Table 2

Data Storage

File Name





Configuration and settings for the program


Key mappings


Task list


Directory with your notes (one file per note)

If you want to use a different calendar or save the data to another location on your computer, you need to tell Calcurse by using one of the two switches: -c <file> or -d <directory> The corresponding long options are called --calendar and --directory. With the former, you only specify a different calendar file, whereas the latter specifies a different directory in which Calcurse then stores the data. Currently, you cannot use both at the same time.

Import and Export

For simplicity, Calcurse stores all entries in plain text – with a date and an entry in each line. It also supports the import and export formats iCalendar version 2.0 (as per RFC 2445 [3]) and PCAL [4]. Because iCalendar is the standard for exchanging calendar data, you can thus exchange appointments with many popular applications on multiple platforms.

The development team is working on full integration of the format. Currently, the software only supports a subset. Among the features not supported in particular is the ability to handle different time zones.

Many websites offer dates for events in iCalendar format. If you have an appointment of this kind, like the example in Listing 2, event.ics, you can import the appointment with the -i option (long form: --import).

Listing 2



If you want to read or export an appointment in interactive mode, use i (import) and x (export). You can do this not only for individual items but also for entire months and task lists. To do so, first press Tab to move to the corresponding window or select an entry.

Pressing the keys mentioned above will take you to a menu at the bottom of the window, in which you can choose between the iCalendar and PCAL formats. Then, specify a file name to view the appointment available after importing into Calcurse or make it available for other programs by exporting to a file.

Buy this article as PDF

Express-Checkout as PDF
Price $2.95
(incl. VAT)

Buy Linux Magazine

Get it on Google Play

US / Canada

Get it on Google Play

UK / Australia

Related content

  • Time Machines

    Command-line aficionados do not have to forgo calendars and appointment reminders. The shell offers many tools for user-friendly handling of date definitions in scripts.

  • Workspace: Command-Line Tools

    Read email, use your calendar, and check RSS feeds faster than you can say, "Ooooo, pretty."

  • Organizational Tools

    If you need help staying organized, Linux does not let you down with its large collection of organization and scheduling tools.

  • Mozilla Lightning

    The Lightning add-on lets users upgrade their Mozilla Thunderbird email client and turn it into a convenient, versatile groupware product.

  • Mozilla Sunbird

    Mozilla Sunbird may be just what you need to help you manage your appointments and tasks on Linux.

comments powered by Disqus
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters

Support Our Work

Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.

Learn More