---
read_when:
    - تغيير سلوك أيقونة شريط القوائم
summary: حالات أيقونة شريط القوائم ورسومها المتحركة لـ OpenClaw على macOS
title: أيقونة شريط القوائم
x-i18n:
    generated_at: "2026-04-05T12:50:10Z"
    model: gpt-5.4
    provider: openai
    source_hash: a67a6e6bbdc2b611ba365d3be3dd83f9e24025d02366bc35ffcce9f0b121872b
    source_path: platforms/mac/icon.md
    workflow: 15
---

# حالات أيقونة شريط القوائم

المؤلف: steipete · آخر تحديث: 2025-12-06 · النطاق: تطبيق macOS ‏(`apps/macos`)

- **الخمول:** حركة الأيقونة العادية (رمش، واهتزاز خفيف من حين لآخر).
- **الإيقاف المؤقت:** يستخدم عنصر الحالة `appearsDisabled`؛ بلا حركة.
- **مشغل الصوت (آذان كبيرة):** يستدعي كاشف التنبيه الصوتي `AppState.triggerVoiceEars(ttl: nil)` عند سماع كلمة التنبيه، مما يُبقي `earBoostActive=true` أثناء التقاط العبارة. تكبر الأذنان (1.9x)، وتحصلان على فتحات دائرية للوضوح، ثم تنخفضان عبر `stopVoiceEars()` بعد ثانية واحدة من الصمت. ولا يتم تشغيل هذا إلا من مسار الصوت داخل التطبيق.
- **العمل جارٍ (الوكيل يعمل):** يقود `AppState.isWorking=true` حركة دقيقة من نوع "حركة ذيل/أرجل سريعة": اهتزاز أسرع للأرجل مع انزياح طفيف أثناء وجود العمل قيد التنفيذ. يتم تبديله حاليًا حول تشغيلات وكيل WebChat؛ أضف المفتاح نفسه حول المهام الطويلة الأخرى عند توصيلها.

نقاط الربط

- التنبيه الصوتي: يستدعي runtime/tester الأمر `AppState.triggerVoiceEars(ttl: nil)` عند التشغيل و`stopVoiceEars()` بعد ثانية واحدة من الصمت لمطابقة نافذة الالتقاط.
- نشاط الوكيل: اضبط `AppStateStore.shared.setWorking(true/false)` حول فترات العمل (وقد تم ذلك بالفعل في استدعاء وكيل WebChat). أبقِ هذه الفترات قصيرة وأعد الضبط داخل كتل `defer` لتجنب تعلق الرسوم المتحركة.

الأشكال والأحجام

- تُرسَم الأيقونة الأساسية في `CritterIconRenderer.makeIcon(blink:legWiggle:earWiggle:earScale:earHoles:)`.
- يكون مقياس الأذن افتراضيًا `1.0`؛ ويضبط التعزيز الصوتي `earScale=1.9` ويبدّل `earHoles=true` من دون تغيير الإطار العام (صورة template بحجم 18×18 نقطة تُرسَم داخل backing store بحجم 36×36 بكسل Retina).
- تستخدم حركة scurry اهتزازًا للأرجل يصل إلى نحو ~1.0 مع اهتزاز أفقي صغير؛ وهي تُضاف إلى أي اهتزاز خمول موجود.

ملاحظات سلوكية

- لا يوجد تبديل خارجي عبر CLI/broker للأذنين/حالة العمل؛ احتفظ به داخليًا ضمن إشارات التطبيق نفسه لتجنب الاهتزاز العرضي.
- أبقِ قيم TTL قصيرة (&lt;10s) حتى تعود الأيقونة إلى خط الأساس سريعًا إذا علقت مهمة ما.
