ان أعدل وأضيف على بروجكت موجود بالفعل مش كل مرة أعمله from scratch من الحاجات اللي كنت عاوز أعملها ومش عارف ابدأ ازاي. ف هبدأ أشرح تجربتي وبإذن الله تكون مفيدة ليكم:
استخدام لينكس تحديدا بشكل minimal من الحاجات اللي بتسبب الرغبة دي كتير. كuser مثلا عاوز في الstatus bar يظهر عندي timer للزمن الباقي على ميعاد الصلاة الجاية، مش مجرد إشعار لحظة الأذان زي بروجكت عملته قبل كدا. بحيث اني أنظم اللي ورايا تبعا للوقت بين كل صلاة وأجهز shutdown sequence للي بعمله قرب المعاد بحيث ميكنش فيه تكاسل عن الصلاة وفترة الراحة وأبقى جاهز أني أسيب اللي بعمله. ودا شايفه أهم من مجرد النظر للساعة اللي بتحير مش بتهدي وهكذا..
تمام كدا قدامي خيارين، اروح أتعلم بروتوكولات X server وابدأ في البروجكت من الاول و أعمل باقي الmodules زي البطارية ودرجة الحرارة وهكذا. أو اني أعمل patch بالmodule اللي محتاجه لأحد الstatus bars اللي بشتغل على X server اللي ممكن استخدمها وكمان استغل البروجكت اللي عملته قبل كدا اللي بالفعل بيطبع في file الindex بتاع الصلاة الجاية وعدد الثواني اللي باقية عليه.
أكيد فيه استفادة من الخيارين ولكن مش ديما انك تبدأ from scratch بيكون مناسب. ف هختار لأول المرة الخيار التاني وهختار أبسط وأنضف كود لstatus bar وهو slstatus بتاع suckless.
1. هبدأ اني اclone البروجكت واعملbuild وابدأ استخدمه كuser.
2. هشوف صفحة الwiki او how to contribute لو موجودة.
3. هبص على ملفات البروجكت والdirectories هلاقي dir اسمها components فيها كل الmodules ك .c زي الcpu والdatetime وابحث عن كود ابسط module موجود واقراه بحيث أعرف الحاجات اللي معتمد عليها من باقي البروجكت وعلاقته بيهم والMakefile ومش شرط لازم افهمه بيعمل ايه وازاي.
4. بمجرد معرفة دا أقدر اكتب الmodule بc واضيفه ف الcomponents واضيف الdeclaration بتاعته فslstatus.h وكمان أعدل في الMakefile والconfig.def.h. وبعد ما أخلص وأtest، أعمل diff file بحيث انه يكون patch يقدر اي user يستخدمه على طول منغير ما يكون عارف برمجة حتى.
هبدأ اشرح باختصار الtimer شغال ازاي...
مبدئيا انا محتاج استخدم api يديني json file فيه table بكل المواقيت بعدين اعمل parsing بحيث اعرف معاد كل صلاة بشكل منظم.. تمام انا هعمل كدا امتى؟ اكيد مش كل interval للrefresh بتاعت الstatus bar، مش كل ثانية يعني. يبقى انا كدا محتاج اعمل shell script يرن مع الstart up للجهاز يupdate الjson file لو فيه اتصال بالانترنت. تمام كدا باقي كود يحسب index الصلاة الجاية والtimer ويحطهم في file اللي الpath بتاعه هيكونparameter للmodule اللي عملته. بس كدا.
هتلاقي commits بالdiff file وتعديلات بسيطة للبروجكت القديم على github من هنا:
github.com/abd...
My Linkedin profile :
/ abdalrahman-shaban
Github Profile:
github.com/abd...
Негізгі бет الفائدة الحقيقية من استخدام لينكس
Пікірлер: 52