34 lines
764 B
Bash
Executable file
34 lines
764 B
Bash
Executable file
#!/usr/bin/env bash
|
|
|
|
((hours = minutes = seconds = 0))
|
|
|
|
while getopts "h:m:s:" flag; do
|
|
case "${flag}" in
|
|
h) hours="${OPTARG}" ;;&
|
|
m) minutes="${OPTARG}" ;;&
|
|
s) seconds="${OPTARG}" ;;&
|
|
h | m | s)
|
|
re='^[0-9]+$'
|
|
if ! [[ "${OPTARG}" =~ $re ]]; then
|
|
printf 'Error: flag "-%s" expected an integer, instead found "%s"\n' "${flag}" "${OPTARG}"
|
|
exit 1
|
|
fi
|
|
;;
|
|
*)
|
|
printf 'invalid flag: -%s\n' "${flag}"
|
|
exit 1
|
|
;;
|
|
esac
|
|
done
|
|
|
|
pkill -f 'bash_timer.sh'
|
|
|
|
tmpdir="${XDG_RUNTIME_DIR}/bashtimer/"
|
|
trap "rm -r ${tmpdir}" EXIT
|
|
|
|
if [[ -d "${tmpdir}" ]]; then
|
|
rm -r "${tmpdir}"
|
|
fi
|
|
|
|
mkdir -p "${tmpdir}"
|
|
~/.config/eww/scripts/bar/timer/bash_timer.sh -h "${hours}" -m "${minutes}" -s "${seconds}" >"$(mktemp "${tmpdir}"/tmp.XXXXXX)"
|