> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.openclaw.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.9x), получают круглые отверстия для читаемости, затем сбрасываются через `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).
* Суета использует покачивание лап до \~1.0 с небольшим горизонтальным подергиванием; оно добавляется к любому существующему покачиванию в ожидании.

Поведенческие заметки

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

## Связанные материалы

* [Строка меню](/ru/platforms/mac/menu-bar)
* [Приложение macOS](/ru/platforms/macos)
