افتح القائمة الرئيسية
N write.svg
هذه مقالة غير مراجعة. ينبغي أن يزال هذا القالب بعد أن يراجعها محرر عدا الذي أنشأها؛ إذا لزم الأمر فيجب أن توسم المقالة بقوالب الصيانة المناسبة. (يوليو 2018)
إن كيرسيس Ncurses
Official gnu.svg
الشعار
Linux-menuconfig.png
لقطة شاشة
معلومات عامة
نوع
نظام التشغيل
موقع الويب
معلومات تقنية
المطورون
Thomas Dickey  [لغات أخرى]الاطلاع ومراجعة البيانات على ويكي داتا
لغة البرمجة
الإصدار الأول
1993الاطلاع ومراجعة البيانات على ويكي داتا
المستودع
الرخصة
X11 license  [لغات أخرى]الاطلاع ومراجعة البيانات على ويكي داتا
تسلسل

إن كيرسيس (ncurses) (ال كيرسيس الجديد)  مكتبة البرمجة توفر واجهة برمجة التطبيقات (API) التي تسمح للمبرمج بكتابة النص القائم على واجهات المستخدم بأسلوب المنصة المستقلة. هو مجموعة أدوات تطوير "مثل - واجهة المستخدم الرسومية " التي يتم تشغيلها تحت محطة المحاكي. كما تٌحَسّن تغييرات الشاشة ، من أجل الحد من الكمون (أو وقت الاستجابة أثناء التجربة) ذوي الخبرة عند استخدام غلاف التحكم عن بعد.

التاريخعدل

النسخة الجديدة ، ncurses هو برنامج مجاني يضاهي نظام V الإصدار 4.0  SVr4) curses)  ، الذي كان في حد ذاته تحسنا على الاصدار المتوقف 4.4 BSD curses. معيارXSI Curses القياسي الصادر عن X/Open بصراحة وعن كثب هو معدل على غرار النظام الخامس.

cursesعدل

أول مكتبة لل curses تم تطويرها في جامعة كاليفورنيا في بيركلي ،لنظام التشغيل BSD  حوالي عام 1980 لدعم ألعاب ذات التوجه لاستخدام الشاشات. إنها في الأصل تستخدم مكتبة termcap التي تم استخدامها في برامج أخرى ، مثل المحرر السادس vi-editor.[1]

نجاح مكتبة BSD curses دفعت مختبرات بيل لللإفراج عن مكتبة معززة لل curses في نظام V الإصدار 2 Unix systems. هذه المكتبة كانت أكثر قوة و بدلا من استخدام termcap ،  تم استخدام terminfo. ولكن نظرالسياسات AT&T المتعلقة بتوزيع مصادر الكود, الذي يحسن مكتبة ال curses , لم يكن لديها الكثير من القبول في مجتمع ال BSD .

pcursesعدل

حوالي عام 1982 ، بافل كورتيس بدأ العمل على مستنسخ مجاني من ال curses, في مختبرات بيل اسمه pcurses, التي كانت محتفظًا بها لدى العديد من الناس خلال عام 1986.[2]

ncursesعدل

مكتبة pcurses تمت الإستفاضة في تحسينها عندما تولى  زياد بن حليم جهود التنمية في أواخر عام 1991.[3] تم اصدار المكتبة الجديدة كما curses  في تشرين الثاني / نوفمبر 1993 ، مع النسخة 1.8.1 كأول إصدار رئيسي. كعملٍ لاحق, من خلال إصدار 1.8.8 ( M1995) ، كان مدفوعا من خلال ايريك رايموند Eric S. Raymond, الذي أضاف مكتبات الصيغة والقوائم (the form and menu libraries) التي كتبها يورجن فايفر.[4] منذ عام 1996 ، تم إيكال مهمة صيانتها لتوماس ديكي Thomas E. ديكي.

معظم استدعاءات مكتبة curses يمكن أن يتم تطويعها بسهولة لمجارات curses القديمة. تطبيقات نظام curses الخامس يمكن أن تدعم برامج BSD curses مع قليل من إعادة تجميع او recompilation.[5] ومع ذلك ، فإن بعض اللإشكاليات في بعض المساحات، مثل التعامل مع تغيير حجم المنصات أو terminal resizing، حيث لا يوجد له نظير في ال curses القديم.

Terminal databaseعدل

 يمكن استخدام curses إما مع terminfo (مع البيانات القابلة للتمدد) أو termcap. تطبيقات أخرى يمكن ل curses التعامل معها باستخدام terminfo ؛ أقلية تستخدم termcap. القليل من (mytinfo) كانت استثناءات قديمة.[6]

الترخيص Licenseعدل

curses هو جزء من مشروع جنو او GNU Project. وهي واحدة من عدد قليل من ملفات ال GNU غير موزعة تحت رخصة GNU GPL أو LGPL; يتم توزيعه تحت مُستَهَل البرمجيات الحرة الترخيص أو رخصة البرمجيات المجانية، على غرار رخصة MIT.[7] هذا ويرجع إلى الاتفاق مع مؤسسة البرمجيات الحرة في وقت تعيين المطورين لحقوق التأليف والنشر.

عندما تم الاتفاق لتمرير الحقوق ل FSF ، هناك بند ينص على ذلك قائلا:

تعد المؤسسة بأن كل توزيع للحزمة ، أو أي عمل "بناء على الحزمة" ، الذي يقام تحت سيطرة المؤسسة أو وكلائها أو الأشخاص الذين يحال إليهم الأمر، يجب أن يكون بشروط صريحة على الدوام للسماح لأي شخص يحوز نسخة من العمل التي تتطابق الشروط ويمتلك إشعار دقيق من هذه الشروط ، بأن يقوم بتوزيع نسخ من العمل إلى أي شخص على نفس الشروط.

وفقا للمعيل Thomas E. ديكي ، وهذا يحول دون إعادة الترخيص إلى الترخيص في أي إصدار, لأن من شأنه أن يضع قيودا على البرامج التي سوف تكون قادرة على ربط المكتبات.

برامج باستخدام ncursesعدل

هناك المئات من البرامج التي تستخدم ncurses.[8][9] البعض ، مثل  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

مراجععدل

  1. ^ Eric S. Raymond (September 1995). "ncurses: Portable Screen-Handling for Linux". Linux Journal. مؤرشف من الأصل في 20 مارس 2018. 
  2. ^ Thomas E. Dickey (December 1996). "NCURSES - New Curses". مؤرشف من الأصل في 8 مايو 2019. 
  3. ^ 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 على موقع واي باك مشين.
  4. ^ NCURSES - Frequently Asked Questions (FAQ): Who wrote NCURSES? نسخة محفوظة 21 أغسطس 2018 على موقع واي باك مشين.
  5. ^ A Hacker's Guide to Ncurses Internals نسخة محفوظة 21 مارس 2018 على موقع واي باك مشين.
  6. ^ Sydney S. Weinstein (April 1993). "On the Networks". C/C++ Users Journal. مؤرشف من الأصل في 11 أغسطس 2014. 
  7. ^ NCURSES - Frequently Asked Questions (FAQ): Is it GPL'd? نسخة محفوظة 21 أغسطس 2018 على موقع واي باك مشين.
  8. ^ "Search results: +ncurses on freshmeat.net". مؤرشف من الأصل في February 18, 2012. اطلع عليه بتاريخ 10 مايو 2013. 
  9. ^ "Projects tagged 'ncurses'". ohloh. 

روابط خارجيةعدل