How to Keep Track of Events, Appointments, and Everyday Tasks from the Linux Command Line

Managing and keeping track of tasks, events, and appointments is an important part of every professional’s daily routine. Talking in terms of software, different people use different software that helps them do this. While most prefer using a GUI-based software, not everybody spends their day in front of a GUI-enabled machine – I am talking about those who work with servers or are die-hard command line fanatics.

Some command line-based tools exist that provide organizing functionality similar to their GUI-based counterparts. In this article, we will discuss the basics of one such software: Calcurse.

Calcurse is a curses-based calendar and scheduling application that helps users keep track of events, appointments, and everyday tasks. It provides a configurable notification system that reminds users of upcoming deadlines. Here are some of the other features it provides:

  • Powerful non-interactive command line interface that can be used by scripts
  • Fully user-configurable notification system (ability to send mails or anything else that could remind you of your upcoming appointments)
  • Import capabilities with support for iCalendar format
  • Export capabilities with support for iCalendar and pcal formats
  • Ability to attach notes to each calendar element and to edit them with your favourite text editor
  • Support for internationalization with texts translated in English, French, German, Dutch, Spanish and Italian
  • Complete online help system
  • UTF-8 support

Users of Debian-based systems like Ubuntu can easily download and install the tool using the following command:

sudo apt-get install calcurse

Alternatively, you can also install the utility manually by downloading its source code from its official website.

To launch the tool, just run the following command:

calcurse

In the following sections we’ll discuss the basic features Calcurse provides. Please note that all examples have been tested using Calcurse version 3.1.4 on Ubuntu 14.04.

Interface

Here is the interface of the tool:

calcurse-interface

As you can see, the interface is divided into three sections: Appointments, Calendar, and ToDo.

Add new appointment

To add a new appointment, first press Enter just after launching Calcurse – this should produce some options like Help, Save, Quit, and more at the bottom of the interface. Then hit the “o” key on your keyboard – this produces other available options or commands. Here you should see an option called “Add Appt” (see the screenshot below).

calcurse-add-appointment

As you can see, this command can be enabled by pressing “Ctrl + A” on your keyboard. Once done, the options area should convert into a prompt asking you details related to the appointment you want to save. The tool first asks for start time:

calcurse-aptmnt-start-time

Followed by the end time:

calcurse-aptmnt-end-time

Then it asks you to enter some description of the appointment:

calcurse-aptmnt-description

Lastly, it saves the appointment, with its details appearing inside the “Appointments” area of the interface.

calcurse-aptmnt-added

Add new ToDo

Adding a new ToDo isn’t difficult either. First use the Tab key on your keyboard to select the ToDo section (signified by the red boundary around it in the screen shot below). This automatically brings options or commands related to this section at the bottom of the interface.

calcurse-new-todo-item

Now, as you can see in the options list, you can start adding a new ToDo item by pressing “a” on your keyboard. Once done, the tool first asks for the ToDo name:

calcurse-enter-todo-name

It then asks for the priority:

calcurse-todo-priority

and finally adds the new ToDo – in my case, I added a “Pay monthly bills” ToDo item.

calcurse-todo-added

Configure notifications

Calcurse provides a lot of configuration options. For example, you can easily configure the notifications it produces. To do so, first use the Tab key on your keyboard to select the Calendar section of the tool’s interface, then press “o” until you see the “Config” option at the bottom of your screen.

calcurse-config

Press “C” to produce configuration options:

calcurse-config-menu

and then press “N” for configuring notifications:

calcurse-notify

Here you’ll see a numbered list of options that you can configure by just pressing the number associated with the option. For example, I tried configuring option number 5 – “notification.command”

calcurse-notify-edit-command

I replaced the existing default command with one that emails me the upcoming Calcurse notification – you can use any command that makes sense to you.

calcurse-notify-new-command

For more information about Calcurse, go through its man page.

As you can see, Calcurse has a bit of learning curve associated with it, but once you use it a couple of times, you’ll find it almost as convenient as any other GUI-based alternative. Plus, it also provides a host of configuration options, making it at least worth giving it a try.

Have you ever used Calcurse or any other command line-based organizer? How was your experience? Share your thoughts in the comments below.