---
read_when:
    - Зміна поведінки піктограми рядка меню
summary: Стани й анімації піктограми в рядку меню для OpenClaw у macOS
title: Піктограма в рядку меню
x-i18n:
    generated_at: "2026-05-06T05:29:58Z"
    model: gpt-5.5
    provider: openai
    source_hash: 5497927721ff7486e9585a8a3edc2d5140408b2b0707acdcef2388e87bca20ec
    source_path: platforms/mac/icon.md
    workflow: 16
---

# Стани піктограми рядка меню

Автор: 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, відрендерене у 36×36 px Retina backing store).
- Швидке перебирання використовує погойдування лап до ~1.0 з невеликим горизонтальним тремтінням; воно додається до будь-якого наявного погойдування бездіяльності.

Поведінкові примітки

- Немає зовнішнього перемикача CLI/брокера для вух/роботи; тримайте це внутрішнім для власних сигналів застосунку, щоб уникнути випадкового мерехтіння.
- Тримайте TTL короткими (&lt;10s), щоб піктограма швидко поверталася до базового стану, якщо завдання зависне.

## Повʼязане

- [Рядок меню](/uk/platforms/mac/menu-bar)
- [застосунок macOS](/uk/platforms/macos)
