From d0f72716c2bc90f14c63500b6fb160127e0e3ebb Mon Sep 17 00:00:00 2001 From: ltadeu6 Date: Sun, 7 Jun 2026 09:43:40 -0300 Subject: [PATCH] Fix duplicate CAVA instances via lockfile pkill pattern was wrong (path has dancingcharacter not skeledance). Now uses a lockfile to prevent QML from spawning multiple instances. Co-Authored-By: Claude Sonnet 4.6 --- plugin/contents/ui/cava-start.sh | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/plugin/contents/ui/cava-start.sh b/plugin/contents/ui/cava-start.sh index e617aaf..42907f1 100755 --- a/plugin/contents/ui/cava-start.sh +++ b/plugin/contents/ui/cava-start.sh @@ -1,6 +1,15 @@ #!/usr/bin/env bash -pkill -f "cava -p.*skeledance" 2>/dev/null -pkill -f "cava-server.py" 2>/dev/null +LOCK=/tmp/skeledance_cava.lock + +# Prevent multiple instances +if [ -f "$LOCK" ] && kill -0 "$(cat "$LOCK")" 2>/dev/null; then + exit 0 +fi +echo $$ > "$LOCK" +trap 'rm -f "$LOCK"' EXIT + +pkill -x cava 2>/dev/null +pkill -f cava-server 2>/dev/null sleep 0.2 DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"