KHAL(1) khal KHAL(1) (NAME) khal - CalDAV/vCalendar khal . khal iCalendar vdir ( vdirsyncer(1) CalDAV) . (USAGE) khal : list calendar interactive new printcalendars printformats search. . khal ( ). . (OPTIONS) khal ( ) khal : --version khal . -h, --help khal . khal ( ): -v, --verbosity LVL ( ) LVL CRITICAL ERROR WARNING INFO DEBUG . -l, --logfile LOFILE LOGFILE (stdout) . -c CONFIGFILE . -a CALENDAR ( ) . . -d CALENDAR . --color/--no-color khal tty ( khal ) . --color --no-color . --format FORMAT khal . FORMAT ({}) . FORMAT str.format() ( ). : title . description . description-separator : " :: " . uid (UID) . start datetimeformat. start-long longdatetimeformat. start-date dateformat. start-date-long longdateformat. start-time timeformat. end datetimeformat. end-long longdatetimeformat. end-date dateformat. end-date-long longdateformat. end-time timeformat. repeat-symbol ( ) . alarm-symbol ( ) . alarms-list ( alarm1@-15m, getready@-1h). location . calendar . calendar-color . start-style timeformat . to-style "-" start-style end-style . end-style timeformat . start-end-time-style start-style to-style end-style . end-necessary . . end-necessary-long end-necessary datelong datetimelong . status ( ) CONFIRMED CANCELLED. status-symbol \/ ?. partstat-symbol \/ ?. cancelled CANCELLED ( ) . organizer . CN "CN (email)" CN . : ORGANIZER;CN=Name Surname:mailto:name@mail.com Name Surname (name@mail.com) CN : ORGANIZER;SENT-BY="mailto:toemail@mail.com":mailto:name@mail.com name@mail.com . url (URL) . url-separator : " :: " URL . duration ( d h m s). repeat-pattern iCal . all-day . categories . . -full start/end duration start-time start-time-full ( ). : black red green yellow blue magenta cyan white ( : red-bold ). reset bold . . (nl) 'tab' 'bell' . nl --list . . khal list --format "{title} {description}" --json FIELD ... --format JSON . JSON . --format : title, description, uid, start, start-long, start-date, start-date-long, start-time, end, end-long, end-date, end-date-long, end-time, start-full, start-long-full, start-date-full, start-date-long-full, start-time-full, end-full, end-long-full, end-date-full, end-date-long-full, end-time-full, repeat-symbol, alarms-list, location, calendar, calendar-color, start-style, to-style, end-style, start-end-time-style, end-necessary, end-necessary-long, status, cancelled, organizer, url, duration, duration-full, repeat-pattern, all-day, categories calendar-color ANSI repeat-symbol status cancelled . all . JSON . khal list --json title --json description --day-format DAYFORMAT --format . ( ): date dateformat. date-long longdateformat. name (Monday Tuesday ) today tomorrow. --day-format ( ). (DATES) khal today tomorrow ( ) . . ( ) . ( ) khal . . (COMMANDS) list ( ) : khal list [-a CALENDAR ... | -d CALENDAR ...] [--format FORMAT] [--json FIELD ...] [--day-format DAYFORMAT] [--once] [--notstarted] [START [END | DELTA] ] START END ( ) . END . START . DELTA ( ) I{m,h,d} ( I m h d ) END START + DELTA . eod DELTA . DELTA week START . --once . --notstarted START . : o khal list -d soccer "soccer." . o khal list -a soccer "soccer" . : o khal list -a soccer today 30d ( "soccer") . o khal list 2019-12-01 31d . at . khal at ( ) now . at now . at list . khal at [-a CALENDAR ... | -d CALENDAR ...] [--format FORMAT] [--json FIELD ...] [--notstarted] [[START DATE] TIME | now] calendar ( cal(1)) . khal calendar : khal calendar [-a CALENDAR ... | -d CALENDAR ...] [START DATETIME] [END DATETIME] khal list . . . khal list . configure . configure . import .ics : khal import [-a CALENDAR] [--batch] [--random-uid|-r] ICSFILE UID () khal import ( ) --batch . --random-uid UID . ( --batch ) . . interactive khal ikhal . ikhal ( ). : o ( space backspace ) o tab enter o t today o v visual ( Vim) esc o o other ( Vim) o ( ) n new o / : o enter ( tab) enter ( tab) ( [default] event_view_always_visible True ) o d delete D khal . o p duplicate ( d ) o e : o tab (shift+tab) () o meta+enter (meta alt ) o (ctrl+w ctrl+u (ctrl+k) () ctrl+a (ctrl+e) () ) o ctrl+a ctrl+x ( ) o enter o enter / < Save > ( ) esc / ( ikhal ) esc ikhal . new . khal new : khal new [-a CALENDAR] [OPTIONS] [START [END | DELTA] [TIMEZONE] SUMMARY [:: DESCRIPTION]] start- enddatetime . -a . new -d -a . new ( ): o datetime [datetime|time] [timezone] o time [time] [timezone] o date [date] datetime time : o datetime = (longdatetimeformat|datetimeformat|keyword-date timeformat) o time = timeformat o date = (longdateformat|dateformat) timezone ( Europe/Berlin America/New_York) . defaulttimezone . longdatetimeformat datetimeformat timeformat longdateformat dateformat . today tomorrow ( ). ( ) . . . 24:00 (timeformat = %H:%M) 24:00 . summary :: :: description <<>> ( :: ). --interactive (-i ) edit . (OPTIONS) o -l, --location=LOCATION . o -g, --categories=CATEGORIES . . : ( SOGo) . o -r, --repeat=RRULE . RRULE daily weekly monthly yearly o -u, --until=UNTIL . o --url (URL) . o --alarms DURATION,... DELTA DURATION 1day 10minutes 1d3H10m DURATION . (EXAMPLES) / (locale) (START END ). printformats . khal new 18:00 Awesome Event 18:00 'awesome event' ( ) . khal new tomorrow 16:30 Coffee Break 16:30 . khal new 25.10. 18:00 24:00 Another Event :: with Alice and Bob 18:00 24:00 . khal new -a work 26.07. Great Event -g meeting -r weekly work meeting . edit . khal edit [--show-past] event_search_string . printcalendars . printformats (2013-12-21 21:45) ( ) . . search . . . khal search party party . (CONFIGURATION) khal ini = ( [sectionname] [[subsectionname]]). # . khal configure khal . khal : $XDG_CONFIG_HOME/khal/config ( ~/.config/khal/config ) ~/.khal/khal.conf () khal.conf (). -c path/to/config . [calendars] [calendars] . ( ). path . : [calendars] [[home]] path = ~/.calendars/home/ color = dark green priority = 20 [[work]] path = ~/.calendars/work/ readonly = True addresses = user@example.com addresses . ("PARTSTAT") . type list default color khal . : black white brown yellow dark gray dark green dark blue light gray light green light blue dark magenta dark cyan dark red light magenta light cyan light red. . . 0 255 . #RRGGBB RR GG BB . ' " ! color auto () khal color vdir . color default_color ( ) . color '' default_color . vdirsyncer metasync caldav . type color default auto path vdir . ( type ). discover (glob) * ? . ** . ~/accounts/*/calendars/* calendars vdir . vdir default ~/calendars/* ~/calendars/default . ( (globbing) ). type string default None priority . "multiple" . type integer default 10 readonly True khal type boolean default False type ( calendar). calendar () .ics ( color). birthdays khal VCARD VCARD .vcf . birthdays readonly=True . discover khal (globbing) path () ( birthday ). discover . vdir color color calendars . type option, allowed values are calendar, birthdays and discover default calendar [default] . default_calendar ( ) . . type string default None default_dayevent_alarm '12h' type timedelta default default_dayevent_duration ( 'khal new') type timedelta default 1d default_event_alarm '15m' type timedelta default default_event_duration ( 'khal new') type timedelta default 1h enable_mouse ( 'khal interactive' 'ikhal') type boolean default True highlight_event_days true khal () . [highlight_days] . type boolean default False print_new type option, allowed values are event, path and False default False show_all_days khal list calendar . True . type boolean default False timedelta ( khal list) . type timedelta default 2d [highlight_days] highlight_event_days / . color -- '' type color default default_color -- '' . type color default method -- type option, allowed values are foreground, fg, background and bg default fg multiple -- '' type color default multiple_on_overflow multiple True khal ( ) type boolean default False [keybindings] ikhal . () . ctrl n. delete type list default d down ( ) type list default down, j duplicate type list default p export .ics type list default e external_edit .ics $EDITOR icalendar . type list default meta E left ( ) type list default left, h, backspace log type list default L mark () type list default v new type list default n other type list default o quit type list default q, Q right ( ) type list default right, l, space save type list default meta enter search type list default / today type list default t up ( ) type list default up, k view ( ) type list default enter [locale] (long)date- time- datetimeformat [locale] () . dateformat khal timeformat . type string default %x datetimeformat khal - timeformat . type string default %c default_timezone ( ) khal icalendar . . type timezone default None firstweekday 0 6 . type integer, 0 6 default 0 local_timezone khal . . type timezone default None longdateformat khal ( %Y) timeformat . type string default %x longdatetimeformat khal - ( %Y) timeformat . type string default %c timeformat khal . strftime man strftime . . type string default %X unicode_symbols khal ( ) ... False ( ). type boolean default True weeknumbers calendar interactive (ikhal) ('right') ('left') . ISO firstweekday 0 . type weeknumbers default off [palette] ikhal . ikhal . key = foreground, background, mono, foreground_high, background_high foreground background << (low color mode)>> foreground_high background_high << (high color mode)>> mono . ('') . urwid . '#ff0000' . : (single quotes) # . . ( ): [palette] header = light red, default, default, '#ff0000', default edit = '', '', 'bold', '#FF00FF', '#12FF14' footer = '', '', '', '#121233', '#656599' khal/ui/colors.py . ikhal . [sqlite] path khal () $XDG_CACHE_HOME/khal/khal.db ( ~/.cache/khal/khal.db ). type string default None [view] view khal ikhal . agenda_day_format (day header) . type string default {bold}{name}, {date-long}{reset} agenda_event_format list calendar interactive (ikhal) . ikhal . --format <#cmdoption- format> . type string default {calendar-color}{cancelled}{start-end-time-style} {title}{repeat-symbol}{alarm-symbol}{description-separator}{description}{reset} blank_line_before_day ( khal) type boolean default False bold_for_light_color () . . type boolean default True dynamic_days ikhal . True . False ( []) . type boolean default True event_format search list calendar . . --format <#cmdoption-format> . type string default {calendar-color}{cancelled}{start}-{end} {title}{repeat-symbol}{alarm-symbol}{description-separator}{description}{reset} event_view_always_visible true . type boolean default False event_view_weighting type integer default 1 frame ( / box drawing) ( ). . khal ( ). type option, False width color top default False min_calendar_display calendar type integer default 3 monthdisplay ('firstday') ('firstfullweek') type monthdisplay default firstday theme khal. khal dark light . . [palette] . type string default dark : (Example) [calendars] [[home]] path = ~/.calendars/home/ [[work]] path = ~/.calendars/work/ [locale] local_timezone= Europe/Berlin default_timezone= Europe/Berlin timeformat= %H:%M dateformat= %d.%m. longdateformat= %d.%m.%Y datetimeformat= %d.%m. %H:%M longdatetimeformat= %d.%m.%Y %H:%M discover : ~/calendars - work/ - home/ family/ work home family vdir : [[calendars]] path = ~/calendars/* type = discover color = dark green (Syncing) khal CalDAV vdirsyncer . khal ( ). vdirsyncer khal ( cron) . (STANDARDS) khal RFC ( RFC 5545 iCalendar) . . RDATE;VALUE=PERIOD RDATE PERIOD icalendar . RDATE;VALUE=PERIOD ( khal ). RANGE=THISANDPRIOR RANGE=THISANDPRIOR khal [1] (MUST NOT) . RANGE=THISANDPRIOR khal . [1] END DURATION RFC : "DTSTART" "DTEND" . . "TRANSP" (MUST NOT) (busy time) . khal ( ) . vdir ( CalDAV) . . : khal ( Evolution). (Timezones) ( ). khal . : (Localized events) ( ) (Floating events) ( ) ( ). UTC ( ) . UTC . khal UTC . UTC 19980119T070000Z UTC ( ). . khal . () UTC . . Khal ( icalendar ) Olson VTIMEZONE VEVENT ( ). ( ) khal ( ). khal ( ). (FAQ) : o : source/str_util.c:25:20: fatal error: Python.h: No such file or directory . aptitude install python-dev . o "default_command" f8d9135 . . (LICENSE) khal Expat/MIT : Copyright (c) 2013-2022 khal contributors Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. (AUTHOR) Christan Geier . (COPYRIGHT) Copyright (c) 2013-2022 khal contributors 0.14.1 August 21, 2026 KHAL(1)