> ## 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.

# Ikona paska menu

# Stany ikony na pasku menu

Autor: steipete · Zaktualizowano: 2025-12-06 · Zakres: aplikacja macOS (`apps/macos`)

* **Bezczynność:** Normalna animacja ikony (mruganie, sporadyczne poruszenie).
* **Wstrzymanie:** Element statusu używa `appearsDisabled`; brak ruchu.
* **Wyzwalacz głosowy (duże uszy):** Detektor wybudzania głosem wywołuje `AppState.triggerVoiceEars(ttl: nil)`, gdy usłyszy słowo wybudzające, utrzymując `earBoostActive=true` podczas przechwytywania wypowiedzi. Uszy powiększają się (1.9x), otrzymują okrągłe otwory dla czytelności, a następnie są wyłączane przez `stopVoiceEars()` po 1 s ciszy. Uruchamiane tylko z wewnętrznego potoku głosowego aplikacji.
* **Praca (działający agent):** `AppState.isWorking=true` steruje mikroruchem typu „szybkie przebieranie ogonem/nogami”: szybsze poruszanie nogami i niewielkie przesunięcie, gdy praca jest w toku. Obecnie przełączane wokół uruchomień agenta WebChat; dodaj ten sam przełącznik wokół innych długich zadań, gdy je podłączysz.

Punkty podłączenia

* Wybudzanie głosem: runtime/tester wywołuje `AppState.triggerVoiceEars(ttl: nil)` po wyzwoleniu oraz `stopVoiceEars()` po 1 s ciszy, aby dopasować okno przechwytywania.
* Aktywność agenta: ustawiaj `AppStateStore.shared.setWorking(true/false)` wokół odcinków pracy (już zrobione w wywołaniu agenta WebChat). Utrzymuj odcinki krótkie i resetuj je w blokach `defer`, aby uniknąć zablokowanych animacji.

Kształty i rozmiary

* Ikona bazowa jest rysowana w `CritterIconRenderer.makeIcon(blink:legWiggle:earWiggle:earScale:earHoles:)`.
* Skala uszu domyślnie wynosi `1.0`; wzmocnienie głosowe ustawia `earScale=1.9` i przełącza `earHoles=true` bez zmiany całej ramki (obraz szablonu 18×18 pt renderowany do magazynu Retina 36×36 px).
* Szybkie poruszanie używa wychylenia nóg do \~1.0 z niewielkim poziomym drgnięciem; nakłada się addytywnie na każde istniejące poruszanie w stanie bezczynności.

Uwagi behawioralne

* Brak zewnętrznego przełącznika CLI/brokera dla uszu/pracy; trzymaj to wewnątrz własnych sygnałów aplikacji, aby uniknąć przypadkowego migotania.
* Utrzymuj krótkie TTL-e (\<10 s), aby ikona szybko wracała do stanu bazowego, jeśli zadanie się zawiesi.

## Powiązane

* [Pasek menu](/pl/platforms/mac/menu-bar)
* [Aplikacja macOS](/pl/platforms/macos)
