تم إصدار notcurses v1.4.1 - مكتبة للواجهات النصية الحديثة


تم إصدار notcurses v1.4.1 - مكتبة للواجهات النصية الحديثة

تم إصدار نسخة جديدة من مكتبة notcurses v1.4.x "تستمر الملحمة! وو تانغ! وو تانغ!"

Notcurses هي مكتبة TUI لمحاكيات الأجهزة الطرفية الحديثة. ترجمت حرفيا – وليس الشتائم. إنه مكتوب بلغة C، باستخدام رؤوس C++ الآمنة. المغلفات المتاحة ل Rust, C + + и بايثون.

ما هي: مكتبة تعمل على تبسيط واجهات TUI المعقدة على المحاكيات الطرفية الحديثة، وتدعم الألوان الزاهية وUnicode إلى الحد الأقصى. يمكن تنفيذ العديد من المهام الموكلة إلى اللعنات باستخدام اللعنات (والعكس صحيح).

ما هو ليس كذلك: تطبيق متوافق لعنات X/Open أو استبدال ncurses على الأنظمة الحالية.

تقوم Notcurses بإهمال واجهة برمجة تطبيقات X/Open Curses المقدمة كجزء من مواصفات UNIX الفردية. هذه المواصفات قديمة جدًا، على سبيل المثال، لا تدعم وظائف المحطة الطرفية مثل ألوان 24 بت غير المفهرسة. وعلى هذا النحو، فإن اللعنات ليست بديلاً عن اللعنات. إنها أقل قابلية للحمل، وتم اختبارها بالتأكيد على أجهزة أقل.
كلما كان ذلك ممكنًا، يستخدم notcurses مكتبة terminfo المتوفرة مع ncurses، مستفيدًا بشكل كبير من إمكانية نقلها.
يفتح Notcurses وظائف متقدمة للتفاعل مع المستخدمين على محطات العمل والهواتف وأجهزة الكمبيوتر المحمولة والأجهزة اللوحية.

لماذا استخدام هذه المكتبة غير القياسية؟

  • لقد كانت سلامة الخيوط والاستخدام الفعال في البرامج متعددة الخيوط أحد الاعتبارات التصميمية منذ البداية.

  • واجهة برمجة تطبيقات أكثر تنسيقًا مقارنةً بـ X/Open:

    • المعرفات المصدرة تكون مسبوقة لتجنب تضارب مساحة الاسم.

    • يقوم ملف كائن المكتبة بتصدير مجموعة صغيرة من الأحرف. عندما يكون ذلك عمليًا، يتم استخدام التعليمات البرمجية الثابتة لرؤوس الأسطر فقط. وهذا يجعل من السهل تحسين المترجم ويقلل أوقات التحميل.

  • تدعم كافة واجهات برمجة التطبيقات أصلاً مجموعة الأحرف العالمية (Unicode). تعتمد واجهة برمجة تطبيقات الخلية على هذا المفهوم مجموعة الرسوم البيانية الموسعة الخاصة بـ Unicode.

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

  • ترخيص Apache2، على عكس الدراما في عدة أعمال، وهو ترخيص ncurses (يتم تلخيص الأخير على أنه "إعادة صياغة MIT-X11").

منذ الإصدار المهم السابق 1.1.0، تمت إضافة عدد كبير من الميزات. التغييرات الرئيسية:

  • أداة القراءة لإدخال سلاسل ذات شكل حر مرتبطة بسلاسل القراءة

  • أداة عملية فرعية لإنشاء عملية فرعية وإدارتها وتدفق نتائجها مرة أخرى.

  • يستخدم Linux 5.3+ آلية clone3+pidfd الجديدة لإدارة العمليات دون حالة السباق.

  • عنصر واجهة المستخدم Fdplane لدفق واصف ملف عشوائي إلى المستوى (الذي تم بناء العملية الفرعية عليه). كلاهما يسمح بعمليات الاسترجاعات لتصميم النص أو معالجته بطريقة أخرى.

  • دوران الطائرات والمؤثرات البصرية. تحميل تصورات من الذاكرة. تقطيع عشوائي RGBA/BGRx.

  • يمكن وضع القائمة على أي من المستويين العلوي والسفلي (أو كليهما).

  • تحسينات كبيرة في الوضع المباشر.

  • Polyfills والتدرجات والنص عالي التباين.

  • وأضاف تتريس كمثال.

  • تتمتع الآن أغلفة C++ من Marek Habersack بالقدرة على طرح الاستثناءات (إذا لزم الأمر).

  • تم تحديث واختبار Python وRust FFI.

عرض فيديو مع تعليقات المؤلف
كتاب "اختراق الكوكب! مع Notcourses" من المؤلف

المصدر: linux.org.ru

إضافة تعليق