From 647b3a1f1b2e6f2ee76d77a1c702fe13eb0732fc Mon Sep 17 00:00:00 2001 From: David Chen Date: Tue, 9 Sep 2025 17:49:01 -0700 Subject: [PATCH] cc ring mode --- claude/settings.json | 7 ++++-- raycast-scripts/claude-code-ring-toggle.sh | 28 ++++++++++++++++++++++ 2 files changed, 33 insertions(+), 2 deletions(-) create mode 100755 raycast-scripts/claude-code-ring-toggle.sh diff --git a/claude/settings.json b/claude/settings.json index 7f6d947..7d98ced 100644 --- a/claude/settings.json +++ b/claude/settings.json @@ -8,15 +8,18 @@ "hooks": [ { "type": "command", - "command": "voice_flag=\"$HOME/.claude/voice-enabled\"; if [ -f \"$voice_flag\" ]; then transcript_path=$(cat | jq -r '.transcript_path'); pkill -f 'say' 2>/dev/null; nohup bash -c 'tail -1 \"'$transcript_path'\" | jq -r \".message.content[0].text // empty\" | say' >/dev/null 2>&1 & fi" + "command": "voice_flag=\"$HOME/.claude/voice-enabled\"; ring_flag=\"$HOME/.claude/ring-enabled\"; if [ -f \"$ring_flag\" ]; then pkill -f 'say' 2>/dev/null; nohup bash -c 'say \"Claude Code Done\"' >/dev/null 2>&1 & elif [ -f \"$voice_flag\" ]; then transcript_path=$(cat | jq -r '.transcript_path'); pkill -f 'say' 2>/dev/null; nohup bash -c 'tail -1 \"'$transcript_path'\" | jq -r \".message.content[0].text // empty\" | say' >/dev/null 2>&1 & fi" } ] } ] + }, "statusLine": { "type": "command", "command": "bunx -y ccstatusline@latest", "padding": 0 }, + "env": { + "DISABLE_AUTOUPDATER": "1" } -} +} \ No newline at end of file diff --git a/raycast-scripts/claude-code-ring-toggle.sh b/raycast-scripts/claude-code-ring-toggle.sh new file mode 100755 index 0000000..2913e32 --- /dev/null +++ b/raycast-scripts/claude-code-ring-toggle.sh @@ -0,0 +1,28 @@ +#!/bin/bash + +# Required parameters: +# @raycast.schemaVersion 1 +# @raycast.title Toggle Claude Ring Mode +# @raycast.mode compact + +# Optional parameters: +# @raycast.icon 🔔 +# @raycast.description Toggle Claude Code ring mode on/off (plays "Claude Code Done" sound) + +ring_flag="$HOME/.claude/ring-enabled" +voice_flag="$HOME/.claude/voice-enabled" + +if [ -f "$ring_flag" ]; then + # Ring mode is currently on, turn it off + rm -f "$ring_flag" + pkill -f 'say' 2>/dev/null + echo "Claude Ring Mode OFF" +else + # Ring mode is currently off, turn it on + # First disable voice mode if it's enabled + if [ -f "$voice_flag" ]; then + rm -f "$voice_flag" + fi + touch "$ring_flag" + echo "Claude Ring Mode ON (Voice Mode disabled)" +fi \ No newline at end of file