Skip to content

الإلهام

أحب العبث مع لينكس والسكريبتات. في معظم الأوقات، أكون فقط أجرب، أحاول أفكار عشوائية للمتعة. حتى لو كنت جالساً وأشعر بالملل، أجد نفسي بطريقة ما أبني أدوات صغيرة غريبة.

واحدة من الأشياء التي ألهمتني حقاً كانت مشاهدة Chris Titus Tech وبثوثه المباشرة. إنه يعمل على مشروع رائع يسمى linutil، وهذا نوعاً ما أعطاني الدفعة لصنع نسختي الخاصة من شيء مثله، لكن بطريقتي الفوضوية الخاصة.

في البداية، كان المشروع... حسناً، قبيح. استخدمت whiptail للقائمة. لقد عمل، لكنه بدا قديم الطراز جداً وشعر بأنه محرج نوعاً ما. بصراحة، كان مجرد سكريبت شل أساسي مع مجموعة من القوائم مجمعة معاً.

📅 محدث: 2025-03-21

لاحقاً، بدأت في استخدام gum، الذي وجدته من خلال ml4w. جعل الأشياء تبدو أفضل بكثير. لكن بعد ذلك جربت fzf، وهذا انسجم معي. كان أسرع وأنظف بكثير لما أردت فعله. لذا تخليت عن gum (ما زلت أحبه رغم ذلك 💖) وذهبت بالكامل مع fzf.

📅 محدث: 2025-05-01

🦀 والآن... خطوة كبيرة: لقد أضفت واجهة مستخدم نصية كاملة قائمة على Rust باستخدام ratatui. لا مزيد من القوائم القبيحة. الواجهة الجديدة تبدو أفضل بكثير، تعمل بسلاسة أكبر، ويمكنني أخيراً إضافة ميزات لم تكن ممكنة في Bash وحده.

فقط لأكون واضحاً، سكريبتات Carch الفعلية (مثل سكريبتات الإعداد، الأدوات، إلخ) ما زالت مكتوبة في Bash. لست أعيد كتابة كل ذلك في Rust (هذا سيكون جنونياً). واجهة Rust المستخدم النصية هي أساساً لنظام القائمة الذي يتعامل مع التنقل، الفئات، والمعاينة. عندما تختار شيئاً، ما زالت تشغل سكريبتات Bash تحتها، ونعم، fzf ما زال يقوم بالمهمة هناك أيضاً!

لذا نعم، إنها خليط: Rust للواجهة، Bash للمنطق، و fzf في المنتصف يربط كل شيء معاً. إنه غريب لكنه يعمل!

Carch حقاً قطع شوطاً طويلاً من شيء أساسي جداً وقبيح نوعاً ما، إلى شيء أفخر به. ما زال هناك الكثير للقيام به، لكنه يصبح أروع كل يوم.

📅 محدث: 2025-07-22

حسناً، السعادة تحيط بي الآن. أخيراً، قمنا بتنفيذ واجهة مستخدم نصية لتشغيل السكريبت بنمط النوافذ المنبثقة في الواجهة الرئيسية. الآن السكريبت لا يحتاج لمغادرة الواجهة للتشغيل. هذا إنجاز كبير بالنسبة لي من ناحية ما أعرفه ومعرفتي. الآن يمكنك فقط اختيار وتشغيل السكريبت في الواجهة نفسها. كل شيء سيحدث الآن داخل الواجهة وقد أزلت نمط fzf من السكريبتات لأننا لا نحتاج نمط واجهة إضافي لتشغيل السكريبتات خارجياً بعد الآن.

شكر كبير مرة أخرى لمنشئ مشروع linutil Chris وجميع المشرفين والمساهمين الذين أعطوني أفكار وإلهام الكود لتنفيذ هذا في مشروعي. لقد كانوا سبباً كبيراً لماذا بدأت مشروع Carch هذا. أريد أسلوبي الخاص لأن مشروع linutil كان أكبر إلهام وتوجيه لي لمدى ما وصلت إليه وكم ما زلت أحسن Carch.

أيضاً، تم إعادة تصميم الواجهة بالكامل لتجربة مستخدم سلسة. الآن واجهة تشغيل السكريبت النصية هي أكبر ميزة وتنفيذ يعزز حقاً تجربة المستخدم إلى المستوى الذي تحتاجه.

نعم، أنا سعيد بعد وقت طويل يمكنني أن أرى السعادة على وجهي. أحب هذا وأحتفظ دائماً بحب كبير لما فعلته وإلى أي مدى وصلت. أتعلم في العملية، أنهض من خلال الصعود والهبوط. شكراً للجميع ولأشخاص مجتمع لينكس الذين يساعدون ويعطون أفكار لقد تعلمت أشياء كثيرة.

أتمنى أن يصبح Carch أكثر جوهرية في المستقبل القادم طالما أنني قادر على الحفاظ عليه. شكراً لك مرة أخرى لقراءة هذا.

يمكنك دائماً إلقاء نظرة على المشروع هنا. إذا كنت تريد إظهار بعض الدعم لي، لا تتردد في وضع نجمة على المشروع هذا سيكون أكبر دافع لي. 🙂

تم الإصدار بموجب ترخيص MIT.