From 0083331c6571944007c2096e37084d04f3cb306e Mon Sep 17 00:00:00 2001 From: CanbiZ <47820557+MickLesk@users.noreply.github.com> Date: Mon, 30 Jun 2025 09:34:25 +0200 Subject: [PATCH] Update core.func --- misc/core.func | 43 +++++++++++++++++++++---------------------- 1 file changed, 21 insertions(+), 22 deletions(-) diff --git a/misc/core.func b/misc/core.func index ceb1e2f7..2e2412fa 100644 --- a/misc/core.func +++ b/misc/core.func @@ -438,38 +438,37 @@ fatal() { # } spinner() { - local chars="⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏" i=0 + local chars="⠋⠙⠹⠸⠼⠴⠦⠧⠇⠏" + local i=0 printf "\e[?25l" # hide cursor - while :; do + while true; do printf "\r \e[36m%s\e[0m" "${chars:i++%${#chars}:1}" sleep 0.1 done } -stop_spinner() { - local pid - - # Get PID from variable or temp file - pid="${SPINNER_PID:-}" - [[ -z "$pid" && -f /tmp/spinner.pid ]] && pid=$(/dev/null; then - wait "$pid" 2>/dev/null || true - fi - rm -f /tmp/spinner.pid - unset SPINNER_PID - fi - - printf "\r\033[K\e[?25h" # clear line + show cursor -} - msg_info() { local msg="$1" echo -ne " ${HOLD:-} ${YW}${msg} " - spinner & + spinner >/dev/null & SPINNER_PID=$! - echo "$SPINNER_PID" >/tmp/spinner.pid + echo "$SPINNER_PID" >/tmp/.spinner.pid +} + +stop_spinner() { + local pid="${SPINNER_PID:-}" + [[ -z "$pid" && -f /tmp/.spinner.pid ]] && pid=$(/dev/null || true + sleep 0.05 + kill -9 "$pid" 2>/dev/null || true + wait "$pid" 2>/dev/null || true + rm -f /tmp/.spinner.pid + unset SPINNER_PID + fi + + printf "\r\033[K\e[?25h" # clear line + restore cursor } msg_ok() {