diff options
| author | Suleyman Farajli <suleyman@farajli.net> | 2025-11-25 18:47:27 +0400 |
|---|---|---|
| committer | Suleyman Farajli <suleyman@farajli.net> | 2025-11-25 18:47:27 +0400 |
| commit | d947956270b092df10637bb3531441caca698b86 (patch) | |
| tree | 8c32170ef044687b11be79398140a36430e2ff0a /scripts/daemons/notifd | |
| parent | c388ade6b6d955138698731af02dfbe5c676439a (diff) | |
feat: new api for scripts
Diffstat (limited to 'scripts/daemons/notifd')
| -rwxr-xr-x | scripts/daemons/notifd | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/scripts/daemons/notifd b/scripts/daemons/notifd new file mode 100755 index 0000000..9ad5697 --- /dev/null +++ b/scripts/daemons/notifd @@ -0,0 +1,35 @@ +#!/bin/sh + +. "lib_handle.sh" + +FIFO=/tmp/noti.fifo +FILE=/tmp/noti.txt + +[ -p "${FIFO}" ] || mkfifo "${FIFO}" + +exec 3<"${FIFO}" +exec 4>"${FIFO}" + +tpid="" + +cancel() { + [ -n "${tpid}" ] && kill "${tpid}" 2>/dev/null + tpid="" +} + +while read n <&3; do + [ "${n}" = "-1" ] && { cancel; continue; } + + case "${n}" in ''|*[!0-9]*) continue ;; esac + + cancel + + [ "${n}" -gt 0 ] || { :>"${FILE}"; notify_handle reload; continue; } + + ( + sleep "${n}" + :>"${FILE}" + notify_handle reload + ) & + tpid=$! +done |
