Calendar and Contact Configuration
Table of Contents
vdirsyncer - Synchronize calendars and contacts
[general] status_path = "~/.config/vdirsyncer/status/" [pair radicale_calendar] a = "radicale_calendar_remote" b = "radicale_calendar_local" collections = ["76bfc802-3186-e3af-f688-7e165115b4f8", "f78f1649-b54e-7bfe-488d-6a7005a5aa2f"] conflict_resolution = "a wins" [storage radicale_calendar_remote] type = "caldav" url = "https://radicale.tdehaeze.xyz/tdehaeze/" username = "tdehaeze" password.fetch = ["command", "get-pass", "radicale.tdehaeze.xyz/tdehaeze"] [storage radicale_calendar_local] type = "filesystem" path = "~/.calendars/radicale/" fileext = ".ics" [pair esrf_calendar] a = "esrf_calendar_remote" b = "esrf_calendar_local" collections = ["calendar"] conflict_resolution = "a wins" [storage esrf_calendar_remote] type = "caldav" url = "https://calendar.esrf.fr/egroupware/groupdav.php/calendar" username = "dehaeze" password.fetch = ["command", "get-pass", "esrf.fr/dehaeze"] [storage esrf_calendar_local] type = "filesystem" path = "~/.calendars/esrf/" fileext = ".ics" [pair radicale_contacts] a = "radicale_contacts_remote" b = "radicale_contacts_local" collections = ["98ee5e2c-afcf-70e0-c4a2-9fb9de2e97b7"] conflict_resolution = "a wins" [storage radicale_contacts_local] type = "filesystem" path = "~/.contacts/" fileext = ".vcf" [storage radicale_contacts_remote] type = "carddav" url = "https://radicale.tdehaeze.xyz/tdehaeze/" username = "tdehaeze" password.fetch = ["command", "get-pass", "radicale.tdehaeze.xyz/tdehaeze"]
khal - CLI calendar application
[calendars] [[Home]] path = ~/.calendars/radicale/76bfc802-3186-e3af-f688-7e165115b4f8/ color = "#B8BB26" # Green [[Thesis]] path = ~/.calendars/radicale/f78f1649-b54e-7bfe-488d-6a7005a5aa2f/ color = "#FB4934" # Red [[ESRF]] path = ~/.calendars/esrf/calendar/ color = "#83A598" # Blue [[Birthdays]] path = ~/.contacts/98ee5e2c-afcf-70e0-c4a2-9fb9de2e97b7/ color = "#D3869B" # aqua type = birthdays [highlight_days] multiple = "#FABD2F" # Yellow [default] highlight_event_days = True [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 [keybindings] delete = d today = . new = c
khard - CLI contact application
[addressbooks] [[contacts]] path = ~/.contacts/98ee5e2c-afcf-70e0-c4a2-9fb9de2e97b7/ [general] debug = no default_action = list editor = vim merge_editor = vimdiff [contact table] # display names by first or last name: first_name / last_name display = first_name # group by address book: yes / no group_by_addressbook = no # reverse table ordering: yes / no reverse = no # append nicknames to name column: yes / no show_nicknames = no # show uid table column: yes / no show_uids = no # sort by first or last name: first_name / last_name sort = last_name # localize dates: yes / no localize_dates = yes # set a comma separated list of preferred phone number types in descending priority # or nothing for non-filtered alphabetical order preferred_phone_number_type = pref, cell, home # set a comma separated list of preferred email address types in descending priority # or nothing for non-filtered alphabetical order preferred_email_address_type = pref, work, home [vcard] # extend contacts with your own private objects # these objects are stored with a leading "X-" before the object name in the vcard files # every object label may only contain letters, digits and the - character # example: # private_objects = Jabber, Skype, Twitter private_objects = Jabber, Skype, Twitter # preferred vcard version: 3.0 / 4.0 preferred_version = 3.0 # Look into source vcf files to speed up search queries: yes / no search_in_source_files = no # skip unparsable vcard files: yes / no skip_unparsable = no
ics-add - Add ICS file to Khal
This function is useful to easily add an event to khal.
It is for instance used in the mutt configuration.
To share an event by email, the currently best way to proceed is to first find the event on khal, press e to export it to a file, and then add this file as an attachment.
if [[ -f $1 ]]; then resp=$(echo -e "yes\nno" | rofi -i -only-match -dmenu -p "Would you like to add the event:" -mesg "`khal printics \"$1\" | tail -n +2`") if [[ "$resp" == "yes" ]]; then calendar=$(echo "`khal printcalendars`" | rofi -i -only-match -dmenu -p "Save to:") if [ -z "$calendar" ]; then exit; fi khal import -a "$calendar" --batch "$1" && \ notify-send --hint=string:x-dunst-stack-tag:fJeNG8gc "Calendar" "Even added"; fi fi