برنامج battery_time_remaining

برنامج battery_time_remaining برنامج يعرض حالة بطارية الجهاز والوقت المتبقي لشحنها أو نفادها، مُصمم بواجهة رسمية وخاصية فيما يلي تفصيل ومكونات هذا البرنامج


1. الغرض الأساسي والتقنيات المستخدمة

psutil`: لقراءة بيانات البطارية من نظام التشغيل (نسبة الشحن، وهل الجهاز متصل بالكهرباء).

  • الوظائف:
  • عرض نسبة شحن البطارية الحالية عبر شريط تقدم (Gauge) ونصوص وضاحية.
  • إظهار ما إذا كان الجهاز قيد الشحن أم يعمل على البطارية.
  • حساب الوقت المتبقي حتى اكتمال الشحن $100%$ أو الوقت المتبقي لنفاد البطارية.

2. أهم ما يميز الالبرنامج (الذكاء البرمجي وسهولة الوصول)

  • خوارزمية حساب وقت الشحن التنبؤية:
  • نظام التشغيل غالباً لا يوفر “الوقت المتبقي للشحن الكامل” بشكل مباشر.
  • لتعويض ذلك، يقوم التطبيق بتسجيل التغيرات الفعلية فقط في نسبة الشحن (transitions) حساب المعدل الزمني للزيادة وتنظيف البيانات الاستثنائية وتنعيم المعدل (smoothing rate) للحصول على تقدير دقيق يتكيف مع سرعة الشاحن.
  • النصوص العادية المحدثة تلقائياً لا تقرأها البرامج المساعدة بسهولة بدون تركيز Focus.
  • تم التغلب على ذلك عبر طريقتين:
  1. شريط الحالة (Status Bar): تحديثه تلقائياً مما يجبر قارئ الشاشة على النطق.
  2. زر واختصار F5: ينقل التركيز إلى حقل نصي مخصص ومخفي (`

|
| BatteryFrame | النافذة الرئيسية للتطبيق، تحتوي على عناصر الواجهة والخلفية الداكنة وتنسيق الخطوط.

|
| build_ui | بناء عناصر النافذة (شريط التقدم، النصوص، الأزرار، وحقل ).

|
| update_battery_info | القراءة التلقائية للبطارية عبر psutil وتحديث الواجهة والبيانات بناءً على الحالة.

| _estimate_time_to_full | الخوارزمية المسؤولة عن حساب الوقت المتبقي بناءً على قفزات الشحن المسجلة.

|
| نقل التركيز لحقل النص لضمان قراءة للوقت فور الضغط على F5 أو الزر.

|
| BatteryApp | تطبيق الأساسي وتكليف إظهار النافذة ودورة تشغيل البرامج (MainLoop).
والآن مع التحميل https://www.dropbox.com/scl/fi/a629bnn3dpfghpyufwmzz/battery_time_remaining.exe?rlkey=cgm716s78xqil7filt238vj90&dl=1

بقلم


أضف تعليق