إصدار مكتبة Libadwaita 1.0 لإنشاء واجهات بأسلوب جنوم

نشر مشروع جنوم أول إصدار مستقر لمكتبة Libadwaita، والذي يتضمن مجموعة من المكونات لتصميم واجهة المستخدم التي تتبع GNOME HIG (إرشادات الواجهة البشرية). تتضمن المكتبة عناصر واجهة مستخدم وكائنات جاهزة لبناء التطبيقات التي تتوافق مع نمط جنوم العام، والتي يمكن تعديل واجهتها بشكل متكيف مع الشاشات من أي حجم. رمز المكتبة مكتوب بلغة C ويتم توزيعه بموجب ترخيص LGPL 2.1+.

إصدار مكتبة Libadwaita 1.0 لإنشاء واجهات بأسلوب جنوم

يتم استخدام مكتبة libadwaita مع GTK4 وتتضمن مكونات سمة Adwaita المستخدمة في جنوم، والتي تم نقلها من GTK إلى مكتبة منفصلة. يعتمد كود libadwaita على مكتبة libhandy ويتم وضعه كخليفة لهذه المكتبة، التي تم إنشاؤها في الأصل لبناء واجهة تكيفية في منصات الهاتف المحمول استنادًا إلى تقنيات GNOME، وتم صقلها في بيئة Phosh GNOME للهاتف الذكي Librem 5.

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

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

الشكوى الرئيسية من مطوري إطار العمل التابعين لجهات خارجية تتعلق بمشكلات تتعلق بتجاوز ألوان عناصر الواجهة، لكن مطوري libadwaita يعملون على توفير واجهة برمجة التطبيقات (API) لإدارة الألوان المرنة، والتي سيتم تضمينها في إصدار مستقبلي. من بين المشكلات التي لم يتم حلها، تم ذكر التشغيل الصحيح لعناصر واجهة المستخدم للتحكم بالإيماءات فقط على شاشات اللمس - بالنسبة للوحات اللمس، سيتم ضمان التشغيل الصحيح لهذه الأدوات لاحقًا، لأنها تتطلب تغييرات على GTK.

تغييرات كبيرة في libadwaita مقارنة ب libhandy:

  • مجموعة من الأنماط المعاد تصميمها بالكامل. تمت إزالة سمة Adwaita المستخدمة في جنوم من GTK وتحديثها، وتم إصلاح السمة القديمة في GTK تحت اسم "الافتراضي". أحد أبرز الاختلافات بين libadwaita والموضوع "الافتراضي" هو التغيير في تصميم رؤوس النوافذ.
    إصدار مكتبة Libadwaita 1.0 لإنشاء واجهات بأسلوب جنوم
  • تم تغيير آليات ربط الألوان بالعناصر وتغيير الألوان أثناء تشغيل التطبيق (ترجع المشاكل إلى حقيقة أن libadwaita تحول إلى SCSS، الأمر الذي يتطلب إعادة البناء لتغيير الألوان). لتغيير ألوان العناصر، وهو ما هو مطلوب على سبيل المثال في GNOME Web لتحديد الانتقال إلى وضع التصفح المتخفي، يتم استخدام الطريقة المقترحة في نظام التشغيل الأساسي وتعتمد على تحديد قائمة ثابتة من الألوان المسماة عبر "@define-color". ومع ذلك، يتم الآن حساب ألوان العديد من عناصر الواجهة بالنسبة إلى لون النص الأساسي وتتغير تلقائيًا، مما لا يسمح للتطبيقات بالتحكم الكامل في نظام الألوان (يعمل المطورون على إزالة هذا القيد).
    إصدار مكتبة Libadwaita 1.0 لإنشاء واجهات بأسلوب جنومإصدار مكتبة Libadwaita 1.0 لإنشاء واجهات بأسلوب جنوم
  • تمت زيادة جودة العرض عند استخدام السمات الداكنة نظرًا لتمييز العناصر بشكل أكثر تباينًا. لقد أصبح لون التمييز أكثر سطوعًا، وتمت إضافة لون تمييز آخر، والذي يمكن أن يتغير للموضوعات الداكنة والفاتحة.
    إصدار مكتبة Libadwaita 1.0 لإنشاء واجهات بأسلوب جنومإصدار مكتبة Libadwaita 1.0 لإنشاء واجهات بأسلوب جنوم
  • تمت إضافة جزء كبير من فئات الأنماط الجديدة لاستخدامها في التطبيقات. على سبيل المثال، ".pill" للأزرار المستديرة الكبيرة، والقدرة على استخدام ".flat" في GtkHeaderBar، و".accent" لتعيين لون تمييز في التسميات، و".numeric" لطباعة الجدول، و".card" لاستخدام الخلفية والظل كما في القوائم.
    إصدار مكتبة Libadwaita 1.0 لإنشاء واجهات بأسلوب جنوم
  • يتم تقسيم ملفات SCSS المتجانسة الكبيرة إلى مجموعة من ملفات الأنماط الأصغر.
  • تمت إضافة واجهة برمجة التطبيقات لتحديد نمط التصميم الداكن ووضع التباين العالي.
    إصدار مكتبة Libadwaita 1.0 لإنشاء واجهات بأسلوب جنوم
  • تمت إعادة صياغة الوثائق، ويتم الآن استخدام مجموعة أدوات gi-docgen لإنشائها.
    إصدار مكتبة Libadwaita 1.0 لإنشاء واجهات بأسلوب جنوم
  • تمت إضافة واجهة برمجة تطبيقات للرسوم المتحركة، والتي يمكن استخدامها لإنشاء تأثيرات انتقالية عند استبدال حالة بأخرى، وكذلك لإنشاء رسوم متحركة ربيعية.
    إصدار مكتبة Libadwaita 1.0 لإنشاء واجهات بأسلوب جنوم
  • بالنسبة لعلامات التبويب المستندة إلى AdwViewSwitcher، تمت إضافة القدرة على عرض التصنيفات مع عدد الإشعارات التي لم يتم عرضها.
    إصدار مكتبة Libadwaita 1.0 لإنشاء واجهات بأسلوب جنوم
  • تمت إضافة فئة AdwApplication (فئة فرعية من GtkApplication) لتهيئة Libadwaita وتحميل الأنماط تلقائيًا.
  • تمت إضافة مجموعة مختارة من الأدوات لتبسيط العمليات القياسية: AdwWindowTitle لتعيين عنوان النافذة، وAdwBin لتبسيط إنشاء الفئات الفرعية التابعة، وAdwSplitButton للأزرار المدمجة، وAdwButtonContent للأزرار التي تحتوي على رمز وتسمية.
  • تم تنظيف واجهة برمجة التطبيقات.

المصدر: opennet.ru

إضافة تعليق