Skip to main content

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

النطاق: تطبيق macOS ‏(apps/macos). العرض: CritterIconRenderer.makeIcon(...). ربط الحركة/الحالة: CritterStatusLabel + CritterStatusLabel+Behavior.swift.

الحالات

يمكن عرض شارة نشاط أداة (قرص SF Symbol، مثل chevron.left.slash.chevron.right للتنفيذ) فوق أيقونة المخلوق نفسها عندما تحتوي جلسة على مهمة أو أداة نشطة. تأتي هذه الشارة من IconState/ActivityKind؛ راجع شريط القوائم للاطلاع على نموذج الحالة الكامل.

أذنا التنبيه الصوتي

  • المُشغِّل: AppStateStore.shared.triggerVoiceEars(ttl: nil)، ويُستدعى من مسار التقاط التنبيه الصوتي (VoiceWakeRuntime) ومن أدوات تصحيح/اختبار التنبيه الصوتي (VoiceWakeTester، VoiceWakeOverlayController).
  • الإيقاف: stopVoiceEars()، ويُستدعى عند اكتمال الالتقاط.
  • نافذة الصمت قبل الإنهاء: 2.0s عادةً، و5.0s إذا لم تُسمع سوى كلمة التنبيه ولم يتبعها كلام إضافي (VoiceWakeRuntime.silenceWindow / triggerOnlySilenceWindow).
  • أثناء التعزيز، تُعلَّق مؤقتات الرمش/التمايل/الساق/الأذن في حالة الخمول (earBoostActive يتحكم في مهمة الحركة في CritterStatusLabel+Behavior).

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

  • لوحة الرسم: صورة قالب بحجم 18x18pt، تُعرض في مخزن خلفي نقطي بحجم 36x36px ‏(2x) لتظل الأيقونة حادة على شاشات Retina.
  • المقياس الافتراضي للأذن هو 1.0؛ ويضبط التعزيز الصوتي القيمة earScale=1.9 من دون تغيير الإطار الكلي.
  • antennaDroop ‏(0-1) يطوي قرون الاستشعار إلى الأسفل لوضعي الإيقاف المؤقت والنوم.
  • يستخدم عدو الساقين من legWiggle حتى 1.0 مع اهتزاز أفقي صغير.

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

  • لا يوجد مفتاح تبديل خارجي عبر CLI/الوسيط للأذنين أو حالة العمل؛ فكلاهما يُدار داخليًا بواسطة إشارات التطبيق (AppState.setWorking، AppState.triggerVoiceEars) لتجنب الرفرفة العرضية.
  • اجعل أي مدة صلاحية جديدة قصيرة (أقل بكثير من 10s) كي تعود الأيقونة سريعًا إلى حالتها الأساسية إذا علقت مهمة.

ذو صلة