From b5a767997db71e9927c1f89c0e7ead6ee7e45edb Mon Sep 17 00:00:00 2001 From: "Danilo M." Date: Fri, 18 Sep 2026 17:07:37 +0200 Subject: feat: read overrides from breaktimer.conf Every tunable was a variable in a tracked script, so a personal value could only live as an uncommittable edit. The repository copy and the installed copy had already drifted over three sound paths pointing into a home directory, which is the argument in one line. Bash sources files natively: no format, no parser, and a syntax error is a bash error at start rather than a silent fallback to a default. --- breaktimer.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/breaktimer.sh b/breaktimer.sh index 9a9c5fa..7c8bfa3 100755 --- a/breaktimer.sh +++ b/breaktimer.sh @@ -47,6 +47,14 @@ SYS_SOUND_LONG="$SOUND_DIR/alarm-clock-elapsed.oga" SYS_SOUND_BACK="$SOUND_DIR/service-login.oga" # ------------------------------------ +# Overrides, if any. Bash sources files natively, so there is no format and no +# parser: a syntax error here is a bash error at start, on stderr, which is the +# loudest possible failure and the right one. Read once, here, which means a +# change needs `breaktimer.sh restart` to take effect. The `run` subcommand +# re-execs this script through setsid, so the daemon reads it too. +CONFIG_FILE="${XDG_CONFIG_HOME:-$HOME/.config}/breaktimer.conf" +[ -f "$CONFIG_FILE" ] && . "$CONFIG_FILE" + RUNTIME="${XDG_RUNTIME_DIR:-/tmp}" PID_FILE="$RUNTIME/breaktimer.pid" STATE_FILE="$RUNTIME/breaktimer.state" # running|paused -- cgit v1.2.3