Open Source Musings The thoughts, ideas, and opinions of an open source guy

Organizing yourself at the command line with Calcurse

A weekly planner

Do you need complex, feature-packed graphical or web applications to get and stay organized? I don’t think so. The right command line tool can do the job and do it well.

Of course, uttering the words command and line together can strike fear into the hearts of some Linux users. The command line, to them, is terra incognita.

Actually, organizing yourself at the command line is easy with Calcurse. Calcurse gives a text-based interface a graphical look and feel. You get the simplicity and the focus of the command line married to ease of use and ease of navigation.

Let’s take a closer look at Calcurse.

Getting the software

If compiling code is your thing (it’s not mine, generally), then you can grab the source code from the Calcurse website. Otherwise, get the binary installer for you Linux distribution.

Compile or install Calcurse (doing either doesn’t take all that long) and you’re ready to go.

Using Calcurse

To do that, crack open a terminal window and type calcurse.

The main Calcurse window

Calcurse’s interface consists of three panels:

  • Appointments (on the left of the screen).
  • Calendar (in the top right)
  • To Do List (in the bottom right

You move between the panels by pressing the Tab key on your keyboard. To add a new item to a panel, press a. Calcurse walks you through the process.

One interesting quirk of Calcurse is that the Appointment and Calendar panels work together. You add an appointment by tabbing to the Calendar panel. There, you choose the date for your appointment. Once you do that, you tab back to the Appointments panel. Press a set a start time, a duration (in minutes), and a description of the appointment. The start time and duration are optional. Calcurse only displays appointments on the day they’re are due. Calcurse doesn’t give you advanced warning of an appointment.

Adding an appointment in Calcurse

Here’s what a set of appointments for a particular day looks like:

A list of appointments in Calcurse

The todo list works on its own. Tab to the To Do List panel and, again, press a. Type a description of the task, then set a priority (where 1 is the highest and 9 is the lowest). Calcurse lists all of your uncompleted tasks in the To Do List panel.

Adding tasks in Calcurse

If you task has a long description, Calcurse truncates it. You can view any long descriptions by navigating to the tasks using the up or down arrow keys on your keyboard. Then, press v.

Viewing a task in Calcurse

Calcurse savs saves its information in text files in a hidden folder called .calcurse in your home directory — for example, /home/scott/.calcurse. If Calcurse stops working, it’s easy for find your information.

A few other useful features

Calcurse has a number of other features. One of those is the ability to set recurring appointments. To do that, find the appointment that you want to repeat and then, in the Appointments pane, press r. You’ll be asked to set the frequency (for example, daily or weekly) and how long you want the appointment to repeat.

You can also import calendars in ical format, or export your data in either ical or [pcal])( format. With ical, you can share your data with other calendar applications. With pcal, you can generate a Postscript version of your calendar.

There are also a number of command line arguments that you can pass Calcurse. You can read about them in the documentation.

While simple, Calcurse does a solid job of helping you keep organized. You’ll need to be a bit more mindful of your tasks and appointments, but by doing that you’ll be able to better focus on what you need to do and where you need to be.

Thoughts? Let's start a conversation on Twitter.

Did you enjoy this post or find it useful? Then please consider supporting this blog with a micropayment via Liberapay. Thanks!