From 5b2a524301cfba749acd158212244c7903536851 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=84min=20Baumeler?= Date: Wed, 18 Jun 2025 16:58:14 +0200 Subject: [PATCH] bugfix: allday event display, and more exports --- src/awk/dayview.awk | 2 +- src/main.sh | 16 ---------------- src/sh/load.sh | 13 ++++++------- src/sh/misc.sh | 9 +++++++++ 4 files changed, 16 insertions(+), 24 deletions(-) diff --git a/src/awk/dayview.awk b/src/awk/dayview.awk index 11ba594..3bde305 100644 --- a/src/awk/dayview.awk +++ b/src/awk/dayview.awk @@ -48,7 +48,7 @@ function color_from_status(status) { # @return: Single-line string function allday(collection, desc, status, color) { color = color_from_status(status) - return collection " " style_allday + return collection " " style_allday color desc OFF } # Return line for multi-day event, or event that starts at midnight, which ends today. diff --git a/src/main.sh b/src/main.sh index e6f7dd0..3986ffa 100755 --- a/src/main.sh +++ b/src/main.sh @@ -68,22 +68,6 @@ fi ### Start __refresh_data -### Exports -# The preview calls run in subprocesses. These require the following variables: -# The reload commands also run in subprocesses, and use in addition -# as well as the following variables that will be dynamically specified. So, we -# export them in the main loop using the following function. - -# __export() -# Re-export dynamical variables to subshells. -__export() { - DISPLAY_DATE=$(date -R -d "$DISPLAY_DATE") - export DISPLAY_DATE WEEKLY_DATA_FILE APPROX_DATA_FILE - if [ -n "${TZ:-}" ]; then - export TZ - fi -} - ### ### Main loop with the command-line argument ### --today diff --git a/src/sh/load.sh b/src/sh/load.sh index 810ca21..02705e8 100644 --- a/src/sh/load.sh +++ b/src/sh/load.sh @@ -28,15 +28,14 @@ __load_weeks() { # file `$APPROX_DATA_FILE` and the output of `__load_weeks` in the temporary # file `@WEEKLY_DATA_FILE`. __refresh_data() { - if [ -n "${APPROX_DATA_FILE:-}" ]; then - rm -f "$APPROX_DATA_FILE" + if [ -z "${APPROX_DATA_FILE:-}" ]; then + APPROX_DATA_FILE=$(mktemp) + trap 'rm -f "$APPROX_DATA_FILE"' EXIT INT fi - if [ -n "${WEEKLY_DATA_FILE:-}" ]; then - rm -f "$WEEKLY_DATA_FILE" + if [ -z "${WEEKLY_DATA_FILE:-}" ]; then + WEEKLY_DATA_FILE=$(mktemp) + trap 'rm -f "$WEEKLY_DATA_FILE"' EXIT INT fi - APPROX_DATA_FILE=$(mktemp) __load_approx_data >"$APPROX_DATA_FILE" - WEEKLY_DATA_FILE=$(mktemp) __load_weeks >"$WEEKLY_DATA_FILE" - trap 'rm -f "$APPROX_DATA_FILE" "$WEEKLY_DATA_FILE"' EXIT INT } diff --git a/src/sh/misc.sh b/src/sh/misc.sh index c162ffa..38b233e 100644 --- a/src/sh/misc.sh +++ b/src/sh/misc.sh @@ -25,3 +25,12 @@ __datetime_human_machine() { __summary_for_commit() { awk -v field="SUMMARY" "$AWK_GET" "$1" | tr -c -d "[:alnum:][:blank:]" | head -c 15 } + +# Re-export dynamical variables to subshells. +__export() { + DISPLAY_DATE=$(date -R -d "$DISPLAY_DATE") + export DISPLAY_DATE + if [ -n "${TZ:-}" ]; then + export TZ + fi +}