القائمة الرئيسية

الصفحات

الشرح المُقدم اليوم يخص أحد أكثر المشاريع صعودا في الفترة الأخيرة في عالم لينكس وواجهات الاستخدام، الكلام هنا هو عن Niri!

 

 الشرح المُقدم اليوم يخص أحد أكثر المشاريع صعودا في الفترة الأخيرة في عالم لينكس وواجهات الاستخدام، الكلام هنا هو عن Niri!

 

 

الشرح المُقدم اليوم يخص أحد أكثر المشاريع صعودا في الفترة الأخيرة في عالم لينكس وواجهات الاستخدام، الكلام هنا هو عن Niri!

 

الشرح المُقدم اليوم يخص أحد أكثر المشاريع صعودا في الفترة الأخيرة في عالم لينكس وواجهات الاستخدام، الكلام هنا هو عن Niri!

نحاول فهم أساس هذا المشروع وماذا يُقدم من جديد، لأنك إذا فكرت في الانتقال من الواجهات الرسومية التقليدية لتجربة شيء جديد، سيكون فهمك لبيئة عمل Niri أوضح كصورة عامة.

البداية تكون بفهم طبيعة الحل الذي يقدمه هذا المشروع؟

بافتراض أنك تستخدم مدير نوافذ تقليدي (Tiling) على جهازك فالفكرة هنا أنك كلما فتحت تطبيقا أو نافذة جديدة فإن النوافذ القديمة يصغر حجمها تلقائيا لتوفير مساحة للنافذة الجديدة ومع كثرة التطبيقات تصبح الشاشة مزدحمة والنوافذ صغيرة جدا وغير مقروءة.
لكن ماذا لو كنت تريد من النوافذ أن تبقى محتفظة بحجمها الطبيعي بدون أي ضغط أو تداخل!
هنا Niri يُطبق فكرة الـ Scrollable-Tiling، بمعنى أنه يُرتب النوافذ في شريط أفقي لا نهائي وهذا مستوحى من إضافة اسمها PaperWM لواجهة  GNOME والسر في كون التمرير الأفقي أنه يجعلك تركز على نافذة أو اثنتين في المنتصف بحجمهم الكامل بينما باقي النوافذ موجودة خارج حدود رؤيتك يمينا ويسارا، يعني كتشبيه كأنك تجلس أمام مكتب طويل وتدفع الأوراق يمينا ويسارا لتقرأ ما تحتاجه.

سؤال قد يُطرح: ماذا لو قمت بتوصيل جهازك بأكثر من شاشة، مساحات العمل كيف سيتم ترتيبها؟

هنا لو الترتيب المنفصل لا يهمك فوقتها أي واجهة تفي بالغرض لكن لو استقلالية كل شاشة هو أولويتك وتريد تنظيم عملك بشكل سليم، وقتها Niri هو الخيار الأنسب لأنه يجعل مساحات العمل مرتبة بشكل رأسي (Vertical) لكل شاشة لوحدها. يعني ببساطة، كل شاشة لديها مساحات العمل (Workspaces) الخاصة بها بشكل ديناميكي منفصل تماما عن الشاشة الثانية.

بخصوص دعم الهاردوير والتوافقية؟

مشروع Niri مبني من الصفر ليستغل قوة الـ  Wayland فلو كنت تريد مثلا تسجيل الشاشة لبرامج مثل OBS أو أخذ Screenshots أو حتى استخدام إيماءات التاتش باد، كل هذا مدمج فيه ويعمل بشكل ممتاز.
أيضا يوجد دعم للأجهزة التي تحتوي على بطاقات شاشة مختلفة (Mixed GPUs) وشاشات عالية الدقة (HiDPI).
الآن نستعرض بعض المصطلحات لتسهيل فهمها.
هو البرنامج الأساسي الذي يحل محل الـ X11 وهو المسؤول عن رسم النوافذ على الشاشة والتعامل مع مدخلات لوحة المفاتيح والماوس.

التمرير والترتيب (Scrollable-Tiling):

الفكرة المستوحاة من إضافة PaperWM في جنوم، حيث لا يتم تقسيم الشاشة هندسيا بشكل يجبر النوافذ على الانكماش بل يتم ترتيبها في مساحة افتراضية أفقية ممتدة.

مساحات العمل الديناميكية (Dynamic Workspaces):

في Niri مساحات العمل يتم ترتيبها رأسيا (للأعلى وللأسفل)، وكل شاشة موصلة بجهازك (Monitor) تمتلك مساحات العمل المستقلة الخاصة بها، ما يمنحك تحكم معزول عند استخدام أكثر من شاشة.

توضيحات مهمة:

في مديري النوافذ العادية عندما تريد تغيير إعدادات العرض أو شكل الحواف والمسافات (Gaps) عادة ما تحتاج لإعادة تشغيل الواجهة (Restart) لترى التغييرات وهذا قد يغلق برامجك أو يعطل عملك للحظات.
في Niri الأمر مختلف، الواجهة تدعم التحديث الحي للإعدادات (Live-reloading)، بمجرد أن تحفظ ملف التعديل (Config file) يتم تطبيق التعديلات بشكل فوري وبسلاسة على النوافذ المفتوحة دون الحاجة لإعادة التشغيل.
لو تملك بطاقة الشاشة إنفيديا ممكن تواجه مشاكل في الرندر حاليا لكن دعم تطبيقات X11 يشتغل بشكل عادي وموجود له حزم تثبيت جاهزة لتوزيعات مثل  Fedora و  NixOS و Arch (AUR).
في الختام!
فكرة Niri لا تتعلق باستعراض عضلات برمجية لمجتمع المصادر المفتوحة، هي تقدم حل عملي ومنظم وممكن تفيدك بشكل كبير في تحسين إنتاجيتك.
نتمنى أن تكون الصورة التقنية والعملية لهذا المشروع المميز قد وصلت ولو بشيء القليل.
هذا ما لدينا اليوم.


Mohamed Elarby
Mohamed Elarby
A tech blog focused on blogging tips, SEO, social media, mobile gadgets, pc tips, how-to guides and general tips and tricks

تعليقات