calcurse
Manage calendar, appointments, and tasks
TLDR
Start calcurse on interactive mode
Print the appointments and events for the current day and exit
Remove all local calcurse items and import remote objects
Remove all remote objects and push local calcurse items
Copy local objects to the CalDAV server and vice versa
SYNOPSIS
calcurse [options] [command [args]]
PARAMETERS
-h, --help
Display usage help and exit
-v, --version
Display version information and exit
-n, --noupdate
Do not create or update index files
-r, --read-only
Run in read-only mode
-C
Set calendar directory
-D
Set data directory
-a, --ascii
Draw layout using ASCII characters
-N, --notify
Run in notification daemon mode
add
Interactively add appointment or todo
calendar
Print calendar for given range
change
Interactively modify appointment/todo
copy
Copy appointment/todo to new date
delete
Delete appointment/todo
edit
Edit appointments/todo file with $EDITOR
export
Export data to ICS file
import
Import data from ICS file
key
Define or list custom keybindings
search
Print matching items
todo
Print or manage todo list
DESCRIPTION
Calcurse is a lightweight, terminal-based personal information manager using ncurses for a full-screen interface. It handles calendars, appointments, recurring events, and to-do lists with priorities. Data is stored in plain-text files for easy editing, backup, and synchronization.
Features include month/week/day views, interactive addition/editing of items, search/filtering, iCalendar (ICS) import/export, customizable notifications via external tools, and configurable keybindings. In interactive mode (default), panels show calendar, appointments, and todos simultaneously. Keyboard-driven navigation supports efficient workflow.
Ideal for server environments or minimal desktops, it requires no GUI and has minimal dependencies. Default data lives in ~/.calendar/ with files like cal (holidays), apts (appointments), todo (tasks). Supports multiple calendars via -C. Actively maintained, it's portable across Unix-like systems.
CAVEATS
Concurrent access without proper locking may corrupt data files. Notifications need external setup (e.g., dunstify). No built-in sync; use rsync or Git manually.
DEFAULT FILES
~/.calendar/: apts (appointments), todo (tasks), cal (holidays). Index: apts.idx, todo.idx.
INTERACTIVE HELP
Run calcurse alone for ncurses UI. Press ? for keys; :help for commands.
HISTORY
Created in 2004 by Frédéric Culot as a curses calendar. Evolved into full PIM tool; version 4.8.0 (2023) added ICS v2.0, better daemon mode. Maintained on GitHub with community contributions.


