LinuxCommandLibrary

calcurse

Manage calendar, appointments, and tasks

TLDR

Start calcurse on interactive mode

$ calcurse
copy

Print the appointments and events for the current day and exit
$ calcurse [[-a|--appointment]]
copy

Remove all local calcurse items and import remote objects
$ calcurse-caldav --init=keep-remote
copy

Remove all remote objects and push local calcurse items
$ calcurse-caldav --init=keep-local
copy

Copy local objects to the CalDAV server and vice versa
$ calcurse-caldav --init=two-way
copy

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.

SEE ALSO

cal(1), date(1), remind(1), khal(1)

Copied to clipboard