aboutsummaryrefslogtreecommitdiff
path: root/.config/khal/config_gen
diff options
context:
space:
mode:
Diffstat (limited to '.config/khal/config_gen')
-rwxr-xr-x.config/khal/config_gen56
1 files changed, 56 insertions, 0 deletions
diff --git a/.config/khal/config_gen b/.config/khal/config_gen
new file mode 100755
index 0000000..da59fa5
--- /dev/null
+++ b/.config/khal/config_gen
@@ -0,0 +1,56 @@
+#!/bin/sh
+. "$XDG_CONFIG_HOME/vdirsyncer/config_gen" lib
+
+cat << EOF
+[calendars]
+
+EOF
+
+_sync() {
+ yes | vdirsyncer discover 1> /dev/null 2> /dev/null
+ vdirsyncer sync 1> /dev/null 2> /dev/null
+ vdirsyncer metasync 1> /dev/null 2> /dev/null
+}
+
+_color_quantize() {
+ INPUT_HEX="$(echo $1 | grep -o '#[0-9a-fA-F]\{6\}')"
+
+ echo "$INPUT_HEX"
+}
+
+_cfg_caldav() {
+ jq --raw-output '.collections[][0]' "$VDIRSYNCER_STATUS_PATH/$ID.collections" | while read -r collection ; do
+ collection_path="$XDG_DATA_HOME/vdirsyncer/$ID/$collection"
+ color_path="$collection_path/color"
+ displayname_path="$collection_path/displayname"
+ [ ! -d "$collection_path" ] && _sync
+ [ ! -f "$color_path" ] && _sync
+ [ ! -f "$displayname_path" ] && _sync
+ COLOR="$(cat "$color_path")"
+ NAME="$(cat "$displayname_path")"
+ [ -n "$COLOR" ] && [ -n "$QUANTIZE_COLOR" ] && COLOR="$(_color_quantize "$COLOR")"
+ cat << EOF
+[[$NAME]]
+path = "$collection_path"
+EOF
+ [ -n "$COLOR" ] && echo "color = \"$COLOR\""
+ echo
+ done
+}
+
+_cfg_ical() {
+ collection_path="$XDG_DATA_HOME/vdirsyncer/$ID"
+ [ ! -d "$collection_path" ] && _sync
+ cat << EOF
+[[$NAME]]
+path = "$collection_path"
+readonly = True
+EOF
+ [ -n "$COLOR" ] && echo "color = \"$COLOR\""
+
+ echo
+}
+
+. "$CONFIG_FILE"
+
+printf '# %s:%s=%s\n' vim ft dosini