بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
الجزء الأول وثائق Arfedoracontrolcenter .
تعريف :
قمت من خلال بايثون بعمل برنامج يشبه مركز تحكم جنوم القديم ,البرنامج يعمل من خلال الإضافات plugins يشبه كثيرا فكرة مركز تحكم اعجوبة الذي سبق وكان لي بعض التجارب عليه لاكن هذا البرنامج كتبته من الصفر .
هذا رابط البرنامج مشروح طريقة التثبيت التجربة كانت على فيدورا من المفروض ان يعمل على كل التويزعات طالما يتوفر pygobject ,مازلت لم أحزمة ولم أجمع كل الإعتماديات التي يريدها لاكن كبداية يحتاج pygobject أي PyGi و يحتاج مكتبات بايثون مثل python3-dbus .
https://github.com/yucefsourani/arfedoraccframework
ممكن ان يقرأ البرنامج أكثر من نوع من الإضافات (ستتوضح الامور أكثر أثناء الشرح ) .
هيكلية البرنامج :
1- هذا مجلد مكتبة arfedoraccframework سيتم نقله إلى مجلد مكتبات Python شيء مثل هذا usr/lib64/python3.6/site-packages/ .
2-هذا الملف التنفيذي للبرنامج سيتم نقله إلى مجلد usr/bin/ .
3-هذا مجلد الأيقونات كل الصور التي نستخدمها نضعها داخله ممكن ان يوضع هذا المجلد في مجلد عام مثلا إسم البرنامج عندي كما في الصورة arfedotacontrolcenter ممكن نقل هذا المجلد إلى
usr/share/arfedoracontrolcenter/ وممكن أيضا نقله إلى مجلد خاص بالمسبتخدم مثلا عندي home/youcef/.local/share/arfedoracontrolcenter/ مع العلم إذا تواجدت صورة بذات الإسم في المجلدين الأفضلية دائما للمجلد الموجود في مجلد المنزل الخاص بالمستخدم .
4-مجلد plugins وهو المجلد الذي يحتوي الإضافات التي هي عبارة عن ملفات python وأيضا يخضع هذا المجلد مثل ما يخضع له مجلد icons .
هذه هي هيكلية البرنامج الرئيسية باقي الملفات ليست من ضمن البرنامج نفسه , سأفصل في الأسفل عن كل مجلد بمجلده .
الملف التنفيذي arfedoracontrolcenter .
هذا هو الملف الرئيسي للبرنامج الذي يحتوي النافذة الرئيسية ويقرأ كل الإضافات ثم يضيف زر Button لكل إضافة ,الزر يحتوي صورة وإسم تحته و تعريف عنه كل هذه المعلومات يقرأه من الإضافة نفسها أي الإسم والتعريف والصورة أي كاتب الإضافة من يضع هذه المعلومات.
مجلد icons .
كما ذكرت مجلد نحفظ فيه الأيقونات لا شيء مميز فيه .
مجلد plugins .
مجلد نحفظ فيه الإضافات التي هذ عبارة عن ملفات python سأشرح في الجزء الثاني كيف نكتب إضافات له .مجلد مكتبة arfedoraccframework .
تحتوي هذه المكتبة على الكلاسات Class والدوال Functions الرئيسية التي تقرأ الإضافات وتضيفها وتحتوي ايضا دوال عامة ممكن إستخدامها في كل الإضافات مثال قمت بعمل إضافة لجلب أسماء كل الهارديسكات الموصولة بدل أن أكتب الكلاس والدول التي تجلب هذه المعلومات في داخل الإضافة نفسها كتبتها في udsks.py وإستدعيتها من خلال import udsks وهكذا ممكن لأي إضافة إستخدام udsks .على العموم baseplugin.py و plugins_loader.py و appinformation.py هي الملفات المهمة للبرنامج نفسه باقي الأشياء كما ذكرت دوال وكلاسات أضفتهم حتى يمكن إستخدامهم من قبل الإضافات .
الأن هذه هي هيكلية البرنامج مع العلم ما شرحته الان فقط للمعلومات العامة من الجيد معرفتها لاكن ليس شرط أن نعرفها كلها يعني يمكننا ان نكتب إضافات من دون أن نعرف كل هذه التفاصيل ,ممكن فقط أن نلتزم بقواعد الصحيحة لكتابة الإضافات وليس بالضرورة أن نلم بتفاصيل هذه الملفات والمكتبات .
رابط الجزء الثاني https://arfedora.blogspot.com/2017/11/arfedoracontrolcenter_13.html .
رابط الجزء الثالث https://arfedora.blogspot.com/2017/11/arfedoracontrolcenter_61.html.