إن كيرسيس Ncurses
إن كيرسيس (ncurses) (ال كيرسيس الجديد) مكتبة البرمجة توفر واجهة برمجة التطبيقات (API) التي تسمح للمبرمج بكتابة النص القائم على واجهات المستخدم بأسلوب المنصة المستقلة. هو مجموعة أدوات تطوير «مثل - واجهة المستخدم الرسومية» التي يتم تشغيلها تحت محطة المحاكي. كما تٌحَسّن تغييرات الشاشة، من أجل الحد من الكمون (أو وقت الاستجابة أثناء التجربة) ذوي الخبرة عند استخدام غلاف التحكم عن بعد.
إن كيرسيس Ncurses
|
التاريخ
النسخة الجديدة، ncurses هو برنامج مجاني يضاهي نظام V الإصدار 4.0 SVr4) curses)، الذي كان في حد ذاته تحسنا على الإصدار المتوقف 4.4 BSD curses. معيارXSI Curses القياسي الصادر عن X/Open بصراحة وعن كثب هو معدل على غرار النظام الخامس.
curses
أول مكتبة لل curses تم تطويرها في جامعة كاليفورنيا في بيركلي، لنظام التشغيل BSD حوالي عام 1980 لدعم ألعاب ذات التوجه لاستخدام الشاشات. إنها في الأصل تستخدم مكتبة termcap التي تم استخدامها في برامج أخرى، مثل المحرر السادس vi-editor.[7]
نجاح مكتبة BSD curses دفعت مختبرات بيل لللإفراج عن مكتبة معززة لل curses في نظام V الإصدار 2 Unix systems. هذه المكتبة كانت أكثر قوة وبدلا من استخدام termcap ، تم استخدام terminfo. ولكن نظرالسياسات AT&T المتعلقة بتوزيع مصادر الكود، الذي يحسن مكتبة ال curses , لم يكن لديها الكثير من القبول في مجتمع ال BSD .
pcurses
حوالي عام 1982، بافل كورتيس بدأ العمل على مستنسخ مجاني من ال curses, في مختبرات بيل اسمه pcurses, التي كانت محتفظًا بها لدى العديد من الناس خلال عام 1986.[8]
ncurses
مكتبة pcurses تمت الاستفاضة في تحسينها عندما تولى زياد بن حليم جهود التنمية في أواخر عام 1991.[9] تم إصدار المكتبة الجديدة كما curses في تشرين الثاني / نوفمبر 1993، مع النسخة 1.8.1 كأول إصدار رئيسي. كعملٍ لاحق، من خلال إصدار 1.8.8 (M1995)، كان مدفوعا من خلال ايريك رايموند Eric S. Raymond, الذي أضاف مكتبات الصيغة والقوائم (the form and menu libraries) التي كتبها يورجن فايفر.[10] منذ عام 1996، تم إيكال مهمة صيانتها لتوماس ديكي Thomas E. ديكي.
معظم استدعاءات مكتبة curses يمكن أن يتم تطويعها بسهولة لمجارات curses القديمة. تطبيقات نظام curses الخامس يمكن أن تدعم برامج BSD curses مع قليل من إعادة تجميع أو recompilation.[11] ومع ذلك، فإن بعض اللإشكاليات في بعض المساحات، مثل التعامل مع تغيير حجم المنصات أو terminal resizing، حيث لا يوجد له نظير في ال curses القديم.
Terminal database
يمكن استخدام curses إما مع terminfo (مع البيانات القابلة للتمدد) أو termcap. تطبيقات أخرى يمكن ل curses التعامل معها باستخدام terminfo ؛ أقلية تستخدم termcap. القليل من (mytinfo) كانت استثناءات قديمة.[12]
الترخيص License
curses هو جزء من مشروع جنو أو GNU Project. وهي واحدة من عدد قليل من ملفات ال GNU غير موزعة تحت رخصة GNU GPL أو LGPL; يتم توزيعه تحت مُستَهَل البرمجيات الحرة الترخيص أو رخصة البرمجيات المجانية، على غرار رخصة MIT.[13] هذا ويرجع إلى الاتفاق مع مؤسسة البرمجيات الحرة في وقت تعيين المطورين لحقوق التأليف والنشر.
عندما تم الاتفاق لتمرير الحقوق ل FSF ، هناك بند ينص على ذلك قائلا:
تعد المؤسسة بأن كل توزيع للحزمة، أو أي عمل «بناء على الحزمة»، الذي يقام تحت سيطرة المؤسسة أو وكلائها أو الأشخاص الذين يحال إليهم الأمر، يجب أن يكون بشروط صريحة على الدوام للسماح لأي شخص يحوز نسخة من العمل التي تتطابق الشروط ويمتلك إشعار دقيق من هذه الشروط، بأن يقوم بتوزيع نسخ من العمل إلى أي شخص على نفس الشروط.
وفقا للمعيل Thomas E. ديكي، وهذا يحول دون إعادة الترخيص إلى الترخيص في أي إصدار، لأن من شأنه أن يضع قيودا على البرامج التي سوف تكون قادرة على ربط المكتبات.
برامج باستخدام ncurses
هناك المئات من البرامج التي تستخدم ncurses.[14][15] البعض، مثل GNU screen جنو الشاشة و w3m ، تستخدم فقط termcap واجهة أداء إدارة الشاشة داخل التطبيق. أخرى، مثل GNU Midnight Commander جنو قائد منتصف الليل وياست YaST تستخدم واجهة برمجة ال curses.
انظر أيضًا
- conio.h – A C header file used in MS-DOS compilers to create text user interfaces
- Curses Development Kit
- Dialog (software)
- PDCurses
- S-Lang (programming library)
- SMG$ – The screen-management library available under OpenVMS
مراجع
- مذكور في: دليل البرمجيات الحرة. دليل البرمجيات الحرة: ncurses. الوصول: 9 نوفمبر 2021.
- وصلة مرجع: https://github.com/ThomasDickey/ncurses-snapshots/blob/master/COPYING.
- "Announcing ncurses 6.3"، اطلع عليه بتاريخ 7 نوفمبر 2021.
{{استشهاد ويب}}
: تحقق من التاريخ في:|access-date=
(مساعدة) - Thomas E. Dickey (8 نوفمبر 2021)، "ncurses 6.3" (باللغة الإنجليزية)، اطلع عليه بتاريخ 9 نوفمبر 2021.
{{استشهاد ويب}}
: تحقق من التاريخ في:|access-date=
و|date=
(مساعدة)صيانة CS1: أسماء متعددة: قائمة المؤلفون (link) صيانة CS1: لغة غير مدعومة (link) - وصلة مرجع: https://invisible-island.net/personal/git-exports.html.
- مذكور في: دليل البرمجيات الحرة. دليل البرمجيات الحرة: ncurses. الوصول: 16 فبراير 2020.
- Eric S. Raymond (سبتمبر 1995)، "ncurses: Portable Screen-Handling for Linux"، Linux Journal، مؤرشف من الأصل في 20 مارس 2018.
- Thomas E. Dickey (ديسمبر 1996)، "NCURSES - New Curses"، مؤرشف من الأصل في 8 مايو 2019.
- The README file in ncurses 1.8.1 states "v0.1 July 31, 1992" and "v1.8.1 November 5, 1993", which agrees with the NEWS (changelog) file نسخة محفوظة 13 يونيو 2017 على موقع واي باك مشين.
- NCURSES - Frequently Asked Questions (FAQ): Who wrote NCURSES? نسخة محفوظة 21 أغسطس 2018 على موقع واي باك مشين.
- A Hacker's Guide to Ncurses Internals نسخة محفوظة 21 مارس 2018 على موقع واي باك مشين.
- Sydney S. Weinstein (أبريل 1993)، "On the Networks"، C/C++ Users Journal، مؤرشف من الأصل في 11 أغسطس 2014.
- NCURSES - Frequently Asked Questions (FAQ): Is it GPL'd? نسخة محفوظة 21 أغسطس 2018 على موقع واي باك مشين.
- "Search results: +ncurses on freshmeat.net"، مؤرشف من الأصل في 18 فبراير 2012، اطلع عليه بتاريخ 10 مايو 2013.
- "Projects tagged 'ncurses'"، ohloh، مؤرشف من الأصل في 10 ديسمبر 2019.
روابط خارجية
- إن كيرسيس Ncurses على موقع Free Software Directory (الإنجليزية)
- بوابة برمجيات
- بوابة برمجة الحاسوب
- بوابة برمجيات حرة