diff --git a/src/awk/dayview.awk b/src/awk/dayview.awk index 9e2bedf..d8eeeed 100644 --- a/src/awk/dayview.awk +++ b/src/awk/dayview.awk @@ -13,6 +13,7 @@ function slice(start, stop, desc) { return CYAN start OFF " -- " CYAN stop OFF ": " desc } function hrline(hour) { + hour = hour < 10 ? "0"hour : hour print hour, "", "", "", FAINT hour ":00 ----------------------" OFF } function hrlines(start, stop, h, starth, stoph, tmp, i) { diff --git a/src/main.sh b/src/main.sh index 118931c..d897cee 100755 --- a/src/main.sh +++ b/src/main.sh @@ -293,19 +293,28 @@ __edit() { filenew="$filetmp.ics" awk "$AWK_UPDATE" "$filetmp" "$fpath" >"$filenew" mv "$filenew" "$fpath" + __refresh_data fi rm "$filetmp" } -if [ -z "${APPROX_DATA_FILE:-}" ]; then +__refresh_data() { + if [ -n "${APPROX_DATA_FILE:-}" ]; then + rm "$APPROX_DATA_FILE" + fi + if [ -n "${WEEKLY_DATA_FILE:-}" ]; then + rm "$WEEKLY_DATA_FILE" + fi APPROX_DATA_FILE=$(mktemp) __load_approx_data >"$APPROX_DATA_FILE" export APPROX_DATA_FILE -fi -if [ -z "${WEEKLY_DATA_FILE:-}" ]; then WEEKLY_DATA_FILE=$(mktemp) __load_weeks >"$WEEKLY_DATA_FILE" export WEEKLY_DATA_FILE +} + +if [ -z "${APPROX_DATA_FILE:-}" ]; then + __refresh_data fi if [ "${1:-}" = "--help" ]; then @@ -314,9 +323,16 @@ if [ "${1:-}" = "--help" ]; then echo "You may specify at most one option." echo " --help Show this help and exit" echo " --new Create new entry" + echo " --today Show today's appointments" + echo " --day Show appointments of specified day" + echo " --date Show week of specified date" exit fi +if [ "${1:-}" = "--today" ]; then + exec $0 --day "today" +fi + if [ "${1:-}" = "--new" ]; then collection=$(echo "$COLLECTION_LABELS" | tr ';' '\n' | $FZF --delimiter='=' --with-nth=2 --accept-nth=1) fpath="" @@ -343,6 +359,7 @@ if [ "${1:-}" = "--new" ]; then filenew="$filetmp.ics" awk -v uid="$uuid" "$AWK_NEW" "$filetmp" >"$filenew" mv "$filenew" "$fpath" + __refresh_data fi rm "$filetmp" fi @@ -386,16 +403,13 @@ if [ "${1:-}" = "--delete" ]; then esac done fi + __refresh_data exec $0 --day "$DISPLAY_DATE" fi -if [ "${1:-}" = "--day-reload" ]; then - __show_day - exit -fi - if [ "${1:-}" = "--day" ]; then DISPLAY_DATE="$2" + export DISPLAY_DATE selection=$( __show_day | $FZF \