literate-dotfiles/calendar-contact.org

5.2 KiB

#+TITLE:Calendar and Contact Configuration

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 = "<<get-password(passname='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 = "<<get-password(passname='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 = "<<get-password(passname='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 = yes
# 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 && \
            dunstify "Calendar" "Even added";
    fi
fi