From 593628b81d7dcd6987f83908c61383293d14a2dc Mon Sep 17 00:00:00 2001 From: Marty Oehme Date: Tue, 6 Dec 2022 16:15:59 +0100 Subject: [PATCH] mail: Add calcurse vdir import function Wrapped calcurse into function that imports all external calendar events on startup. Does NOT yet export anything added in calcurse to the outside world again, for now khal is required for that. --- mail/.config/sh/alias.d/calcurse-vdir.sh | 27 ++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 mail/.config/sh/alias.d/calcurse-vdir.sh diff --git a/mail/.config/sh/alias.d/calcurse-vdir.sh b/mail/.config/sh/alias.d/calcurse-vdir.sh new file mode 100644 index 0000000..91a8403 --- /dev/null +++ b/mail/.config/sh/alias.d/calcurse-vdir.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env sh +# +# Wraps around the calcurse invocation and syncs calendar data +# to local vdir - given by default below. +# +# For now ONLY PROVIDES ONE-WAY Synchronization, see below. + +# The path in which *the calendars* reside (i.e. toplevel with access to all paths) +CAL_PATH="$HOME/documents/calendars" + +calcurse() { + find "$CAL_PATH" -maxdepth 1 -type d -exec calcurse-vdir import {} \; +} + +# Enable two-way sync. One issue is that calcurse would sync everything +# into the top-level path (or the selected calendar path) since it makes +# not the same differentiation as the vdir between calendars. +# FIXME Not sure how to resolve currently. +# +# The below works as a simple two-way synchronization on exiting calcurse. +# To function the invocation has to be turned from a function above to an +# executable shell-script file instead. +# trap 'calcurse_export' 0 +# +# calcurse_export() { +# calcurse-vdir export "$CAL_PATH" +# }