#!/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)"