> ## Documentation Index
> Fetch the complete documentation index at: https://openclaw.veiseule.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Значок строки меню

# Состояния значка строки меню

Автор: steipete · Обновлено: 2025-12-06 · Область: приложение для macOS (`apps/macos`)

* **Простой:** Обычная анимация значка (мигание, редкое «покачивание»).
* **Пауза:** Элемент статуса использует `appearsDisabled`; движения нет.
* **Голосовой триггер («большие уши»):** Детектор голосового пробуждения вызывает `AppState.triggerVoiceEars(ttl: nil)` при распознавании ключевого слова, удерживая `earBoostActive=true` во время захвата высказывания. Уши увеличиваются (1,9×), получают круглые отверстия для читаемости, затем опускаются через `stopVoiceEars()` после 1 с тишины. Запускается только из встроенного голосового конвейера приложения.
* **Работа (агент выполняется):** `AppState.isWorking=true` управляет микро‑движением «шевеление хвоста/лап»: более быстрое покачивание лап и небольшое смещение, пока работа выполняется. Сейчас переключается вокруг запусков агента WebChat; добавьте такой же переключатель вокруг других длительных задач при их подключении.

Точки подключения

* Голосовое пробуждение: runtime/tester вызывает `AppState.triggerVoiceEars(ttl: nil)` при срабатывании и `stopVoiceEars()` после 1 с тишины, чтобы соответствовать окну захвата.
* Активность агента: устанавливайте `AppStateStore.shared.setWorking(true/false)` вокруг интервалов работы (уже сделано в вызове агента WebChat). Держите интервалы короткими и сбрасывайте в блоках `defer`, чтобы избежать «залипших» анимаций.

Формы и размеры

* Базовый значок отрисовывается в `CritterIconRenderer.makeIcon(blink:legWiggle:earWiggle:earScale:earHoles:)`.
* Масштаб ушей по умолчанию — `1.0`; голосовое усиление устанавливает `earScale=1.9` и переключает `earHoles=true` без изменения общего кадра (шаблонное изображение 18×18 pt, рендерится в Retina‑буфер 36×36 px).
* Scurry использует парики ног до \~1.0 с небольшой горизонтальной рыбалкой; это добавка к любому существующему холостому волку.

Поведенческие примечания

* Внешнего переключателя CLI/брокера для ушей/режима работы нет; держите это внутри собственных сигналов приложения, чтобы избежать случайного «хлопанья».
* Держите TTL короткими (\<10 с), чтобы значок быстро возвращался к базовому состоянию, если задание зависло.
