Using Calcurse to keep track of appointments and tasks
Points of View
Calcurse combines a calendar with appointments management and a task list, so you can use a terminal to keep track of the day's events at a glance.
Console tools enjoy an excellent reputation in the Linux community: They consume very little in terms of resources, work really fast, and often perform their tasks with just a few keystrokes [1]. The Calcurse program [2] is a typical example. It combines a calendar with schedule management and a task list. You have the option of using the application either at the command line or in an ncurses-based user interface.
The program's name combines the two words "Calendar" and "ncurses." Its author, Frederic Culot, developed the software in 2004. Although Calcurse was developed originally only for his own use, it was later released under a free BSD license.
Calcurse is currently available as a stable package for several distributions: Fedora, Debian, and Ubuntu, as well as FreeBSD, NetBSD, and OpenBSD. The project supports the i386, AMD64, and Sparc platforms, among others. This article was based on the 2.9.2 and 3.1.2 versions of the package on Debian and Xubuntu, respectively.
Target Group
Calcurse is designed for individuals – not for teams or workgroups: Apart from its import and export functions, it does not contain any functions for exchanging and syncing calendar and appointment entries.
The program is aimed primarily at users who prefer working at the keyboard. Its frugal resource requirements make it possible to use the software on less powerful devices. The operating concept may at times seem unusual, but it is extremely efficient. Even users who are not used to working at the keyboard will still be able to work quickly.
Calcurse can be addressed either via its ncurses interface or via the command line. In the documentation, the author describes these approaches as interactive and non-interactive modes. The latter is used for searching in most cases. When you call the program with the appropriate switches, Calcurse scours its database and outputs requested data line by line on the terminal.
Interactive Mode
In interactive mode, you run the program by calling it without additional options. The main view shows a number of subwindows: the calendar with the day view (left), an overview of the month (top right), the ToDo list of tasks (bottom right), and a status bar at the bottom. The bar shows you the current date and the time remaining until your next appointment (Figure 1).
Below this, Calcurse shows you the key assignments. Users of the Vim text editor will immediately feel at home because Calcurse uses similar key mappings. The keys H, J, K, and L are the left, down, up, and right motion keys, and the program complements these with other keys, depending on the pane in which you are working. Pressing a lets you add entries, whereas d lets you delete them, and e lets you make changes.
Ctrl+G takes you to a date of your choice. Pressing Ctrl+L scrolls one day forward, and Ctrl+H one day back. You can scroll one week forward by pressing Ctrl+J, and Ctrl+K takes you one week back.
The Tab key toggles between the day and month overviews, as well as the ToDo list. The software highlights the current window; in Figure 1, this is the monthly summary, top right. You can press v to see details of the selected entry in the day view (Figure 2).
Calcurse stores and manages notes for day entries. Pressing N or > lets you add a new note and edit an existing one. To do this, the program opens the text editor configured for this action – typically Vim – to edit the note. Calcurse creates a file for this in the background below ~/.calcurse/notes/
; it links the file with the corresponding entry in the appointment list.
The monthly view breaks down the days into a weekly overview. Today, and all other days of the month on which you have already entered appointments, are highlighted. Additionally, you can press the 0 and Shift+4 keys to go to the beginning or end of the week.
ToDo List
Calcurse organizes the task list by priority. The smallest value, 1, is the highest priority; the highest value, 9, is assigned to the least important tasks. The task with the lowest priority appears at the top. To increase or decrease the priority press + and -. If the order changes, Calcurse re-sorts the list of tasks. Press d to delete a selected task.
If the details of a task do not completely fit in the window, the software abbreviates the title for the entry. Pressing v shows you the complete entry – which then appears in a separate window (similar to Figure 2) .
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
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.
News
-
Gnome 48 Debuts New Audio Player
To date, the audio player found within the Gnome desktop has been meh at best, but with the upcoming release that all changes.
-
Plasma 6.3 Ready for Public Beta Testing
Plasma 6.3 will ship with KDE Gear 24.12.1 and KDE Frameworks 6.10, along with some new and exciting features.
-
Budgie 10.10 Scheduled for Q1 2025 with a Surprising Desktop Update
If Budgie is your desktop environment of choice, 2025 is going to be a great year for you.
-
Firefox 134 Offers Improvements for Linux Version
Fans of Linux and Firefox rejoice, as there's a new version available that includes some handy updates.
-
Serpent OS Arrives with a New Alpha Release
After months of silence, Ikey Doherty has released a new alpha for his Serpent OS.
-
HashiCorp Cofounder Unveils Ghostty, a Linux Terminal App
Ghostty is a new Linux terminal app that's fast, feature-rich, and offers a platform-native GUI while remaining cross-platform.
-
Fedora Asahi Remix 41 Available for Apple Silicon
If you have an Apple Silicon Mac and you're hoping to install Fedora, you're in luck because the latest release supports the M1 and M2 chips.
-
Systemd Fixes Bug While Facing New Challenger in GNU Shepherd
The systemd developers have fixed a really nasty bug amid the release of the new GNU Shepherd init system.
-
AlmaLinux 10.0 Beta Released
The AlmaLinux OS Foundation has announced the availability of AlmaLinux 10.0 Beta ("Purple Lion") for all supported devices with significant changes.
-
Gnome 47.2 Now Available
Gnome 47.2 is now available for general use but don't expect much in the way of newness, as this is all about improvements and bug fixes.