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

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

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

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

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

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

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

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

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

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

تتم إدارة مربعات الحوار الجديدة باستخدام فئة AdwDialog، والتي تشبه في معظم المواقف استخدام فئة GtkWindow، مع وجود اختلافات تتمثل في عمليات العرض والإغلاق. على سبيل المثال، تم استبدال الخاصية ":transient-for" بمعلمة في الدالة adw_dialog_present()، وتمت إضافة إشارة جديدة ":: Close-attempt"، وتم تغيير معالجة المعلمة ":can- Close" . بدلاً من الفئات AdwPreferencesWindow، وAdwAboutWindow، وAdwMessageDialog، يُقترح استخدام الفئات AdwPreferencesDialog، وAdwAboutDialog، وAdwAlertDialog مع مربعات الحوار الجديدة.

سيتم التعامل مع مربعات الحوار التي لا تحتوي على نافذة رئيسية على أنها نوافذ منفصلة. ستعمل مربعات الحوار التي لا يمكن استخدام نوافذها الأصلية لاستضافة مربعات الحوار أيضًا كنوافذ، على سبيل المثال، إذا كانت لا تسمح بتغيير الحجم أو لا تحتوي على فئتي AdwWindow وAdwApplicationWindow لها.

تغييرات غير متعلقة بإعادة صياغة الحوار في ليبادوايتا 1.5:

  • تمت إضافة خاصية ":text-length" إلى فئة AdwEntryRow لتحديد حجم النص في حقل الإدخال.
  • تمت إضافة طريقة Remove_response() إلى فئة AdwMessageDialog.
  • تمت إضافة القدرة على إزالة نقاط التوقف برمجيًا إلى فئة AdwBreakpointBin، والتي تسمح لك بتغيير واجهة المستخدم بأي طريقة اعتمادًا على حجم النافذة.
  • تمت إضافة علامة ":allow-window-handle" إلى فئة AdwSwipeTracker للسماح بالتمرير أعلى الشريط العلوي (المستخدم في الأوراق المرفقة بالحافة السفلية).
  • زيادة سطوع الألوان المستخدمة عند تظليل النوافذ بأسلوب التصميم الداكن.

المصدر: opennet.ru

إضافة تعليق