From cff3ed880daaf7bc4d43358fc604a4af22857a49 Mon Sep 17 00:00:00 2001 From: vitaly Date: Tue, 9 Jun 2026 21:35:31 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20=D1=83=D0=B1=D1=80=D0=B0=D1=82=D1=8C=20?= =?UTF-8?q?=D0=B2=D1=81=D0=B5=20=D1=85=D0=B0=D0=BA=D0=B8=20=D0=BE=D0=B1?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D0=BB=D0=B5=D0=BD=D0=B8=D1=8F=20=D1=81=D1=82?= =?UTF-8?q?=D0=B0=D1=82=D1=83=D1=81=D0=BD=D0=BE=D0=B9=20=D1=81=D1=82=D1=80?= =?UTF-8?q?=D0=BE=D0=BA=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Claude Code не предоставляет API для обновления статусной строки в idle. SIGWINCH, TIOCSWINSZ, запись в TTY, write в stdin - ничего не работает. Статусная строка обновится при следующем LLM запросе автоматически. Co-Authored-By: Claude Sonnet 4.6 --- .../claude/hooks/switch-account-hook.sh | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/home-configs/claude/hooks/switch-account-hook.sh b/home-configs/claude/hooks/switch-account-hook.sh index dc4d832..a90d0de 100755 --- a/home-configs/claude/hooks/switch-account-hook.sh +++ b/home-configs/claude/hooks/switch-account-hook.sh @@ -40,23 +40,5 @@ echo "$next" > "$CURRENT_FILE" echo "Аккаунт: ${current:-?} -> ${next} (всего: ${#accounts[@]})" >&2 -# Обновляем статусную строку: перерисовываем последнюю строку напрямую в TTY -sh_pid=$PPID -claude_pid=$(awk '/PPid/{print $2}' /proc/$sh_pid/status 2>/dev/null) -if [ -n "$claude_pid" ]; then - tty_dev=$(ps -o tty= -p "$claude_pid" 2>/dev/null | tr -d ' ') - if [ -n "$tty_dev" ] && [ "$tty_dev" != "?" ]; then - # Запускаем statusline-command.sh с кешированными данными и перерисовываем последнюю строку - cache_file=$(ls "$HOME/.cache/ai-setup/rate_limits_"*.cache 2>/dev/null | head -1) - model_id=$(basename "${cache_file}" .cache | sed 's/rate_limits_//') - ( sleep 0.2 - # Собираем данные из кеша для statusline - mock_json="{\"cwd\":\"$(echo "$input" | jq -r '.cwd // empty')\",\"model\":{\"display_name\":\"\",\"id\":\"$model_id\"},\"rate_limits\":{},\"context_window\":{}}" - new_line=$(echo "$mock_json" | bash "$HOME/.claude/statusline-command.sh" 2>/dev/null) - # Перерисовываем последнюю строку через escape-коды - printf '\0337\033[999B\033[2K%s\0338' "$new_line" > "/dev/$tty_dev" - ) & - fi -fi exit 2