> ## 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`)

* **Idle:** सामान्य आइकन एनीमेशन (पलक झपकना, कभी-कभार हल्की हिलावट)।
* **Paused:** स्टेटस आइटम `appearsDisabled` का उपयोग करता है; कोई गति नहीं।
* 7. **Voice trigger (big ears):** वॉयस वेक डिटेक्टर वेक वर्ड सुनते ही `AppState.triggerVoiceEars(ttl: nil)` कॉल करता है, जिससे utterance कैप्चर होने तक `earBoostActive=true` बना रहता है। 8. कानों का स्केल बढ़ता है (1.9x), पठनीयता के लिए गोल कान के छेद बनते हैं, फिर 1s की चुप्पी के बाद `stopVoiceEars()` के जरिए नीचे आ जाते हैं। 9. केवल इन-ऐप वॉयस पाइपलाइन से ट्रिगर होता है।
* 10. **Working (agent running):** `AppState.isWorking=true` एक “tail/leg scurry” माइक्रो‑मोशन चलाता है: काम चलने के दौरान तेज़ पैर हिलना और हल्का ऑफ़सेट। 11. फिलहाल WebChat एजेंट रन के आसपास टॉगल किया गया है; जब आप अन्य लंबे कार्य जोड़ें, तो उनके आसपास भी यही टॉगल जोड़ें।

वायरिंग पॉइंट्स

* वॉइस वेक: रनटाइम/टेस्टर ट्रिगर पर `AppState.triggerVoiceEars(ttl: nil)` कॉल करे और कैप्चर विंडो से मेल करने के लिए 1s की चुप्पी के बाद `stopVoiceEars()` कॉल करे।
* 12. एजेंट गतिविधि: काम के स्पैन के आसपास `AppStateStore.shared.setWorking(true/false)` सेट करें (WebChat एजेंट कॉल में पहले से किया गया है)। 13. स्पैन को छोटा रखें और `defer` ब्लॉक्स में रीसेट करें ताकि एनिमेशन अटके नहीं।

आकृतियाँ और आकार

* बेस आइकन `CritterIconRenderer.makeIcon(blink:legWiggle:earWiggle:earScale:earHoles:)` में ड्रॉ किया गया है।
* ईयर स्केल डिफ़ॉल्ट रूप से `1.0` है; वॉइस बूस्ट `earScale=1.9` सेट करता है और कुल फ्रेम बदले बिना `earHoles=true` टॉगल करता है (18×18 pt टेम्पलेट इमेज, 36×36 px Retina बैकिंग स्टोर में रेंडर की जाती है)।
* फुर्ती (Scurry) में पैर हिलावट \~1.0 तक और छोटा क्षैतिज जिगल शामिल है; यह किसी भी मौजूदा idle हिलावट के साथ जोड़ात्मक है।

व्यवहार संबंधी नोट्स

* कान/वर्किंग के लिए कोई बाहरी CLI/ब्रोकर टॉगल नहीं; आकस्मिक फड़फड़ाहट से बचने के लिए इसे ऐप के अपने संकेतों तक आंतरिक रखें।
* TTLs छोटे रखें (\<10s) ताकि यदि कोई जॉब अटक जाए तो आइकन जल्दी बेसलाइन पर लौट आए।
