.\" -*- coding: UTF-8 -*- '\" t .\" $Id: dialog.1,v 1.241 2025/12/22 22:22:34 tom Exp $ .\" Copyright 2005-2024,2025 Thomas E. Dickey .\" .\" This program is free software; you can redistribute it and/or modify .\" it under the terms of the GNU Lesser General Public License, version 2.1 .\" as published by the Free Software Foundation. .\" .\" This program is distributed in the hope that it will be useful, but .\" WITHOUT ANY WARRANTY; without even the implied warranty of .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU .\" Lesser General Public License for more details. .\" .\" You should have received a copy of the GNU Lesser General Public .\" License along with this program; if not, write to .\" Free Software Foundation, Inc. .\" 51 Franklin St., Fifth Floor .\" Boston, MA 02110, USA. .\" .\" definitions for renaming .ds p dialog .ds l dialog .ds L Dialog .ds D DIALOG .ie n .ds CW R .el \{ .ie \n(.g .ds CW CR .el .ds CW CW .\} .\" . .de ES .ne 8 .IP .. .de Ex .RS +7 .PP .nf .ft \*(CW .. .de Ee .fi .ft R .RE .. .de bP .ie n .IP \(bu 4 .el .IP \(bu 2 .. .\" Bulleted paragraph .ie \n(.g \{\ .ds `` \(lq .ds '' \(rq .ds ' \(aq .\} .el \{\ .ie t .ds `` `` .el .ds `` "" .ie t .ds '' '' .el .ds '' "" .ie t .ds ' \(aq .el .ds ' ' .\}", . .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH \*D "" "22 ديسمبر 2025" "" "أوامر المستخدم" .SH الاسم dialog \- يعرض صناديق حوار من سكربتات الصدفة .SH موجز \fB\*p \-\-clear\fP .br \fB\*p \-\-create\-rc \fP\fIالملف\fP .br \fB\*p \-\-print\-maxsize\fP .br \fB\*p\fP \fIالخيارات الشائعة\fP \fIخيارات الصندوق\fP .SH الوصف \fB\*L\fP هو برنامج يتيح لك طرح مجموعة متنوعة من الأسئلة أو عرض رسائل باستخدام صناديق حوار من سكربت صدفة. أنواع صناديق الحوار هذه مُضمّنة (رغم أنه ليس بالضرورة أن يكون جميعها قد جُمّع في \fB\*p\fP): .RS .LP .nh .na \fBbuildlist\fP، و\fBcalendar\fP، و\fBchecklist\fP، و\fBdselect\fP، و\fBeditbox\fP، و\fBform\fP، و\fBfselect\fP، و\fBgauge\fP، و\fBinfobox\fP، و\fBinputbox\fP، و\fBinputmenu\fP، و\fBmenu\fP، و\fBmixedform\fP، و\fBmixedgauge\fP، و\fBmsgbox\fP (رسالة)، و\fBpasswordbox\fP، و\fBpasswordform\fP، و\fBpause\fP، و\fBprgbox\fP، و\fBprogrambox\fP، و\fBprogressbox\fP، و\fBradiolist\fP، و\fBrangebox\fP، و\fBtailbox\fP، و\fBtailboxbg\fP، و\fBtextbox\fP، و\fBtimebox\fP، و\fBtreeview\fP، و\fByesno\fP (نعم/لا). .ad .RE .PP يمكنك وضع أكثر من صندوق حوار في سكربت واحد: .bP استخدم علامة "\fB\-\-and\-widget\fP" لإجبار \fB\*p\fP على الانتقال إلى الحوار التالي ما لم تضغط على مفتاح ESC للإلغاء، أو .bP ببساطة أضف علامات صندوق الحوار التالي، مكونًا سلسلة. يتوقف \*L عن التسلسل عندما يكون رمز العودة من حوار ما غير صفري، مثل 'إلغاء' أو 'لا' (انظر التشخيصات). .PP ستقوم بعض الودجات، مثل checklist، بكتابة نص إلى مخرجات \fB\*p\fP. عادةً ما يكون ذلك عبر الخطأ القياسي، ولكن توجد خيارات لتغيير هذا: \*(``\fB\-\-output\-fd\fP\*(''، و\*(``\fB\-\-stderr\fP\*('' و\*(``\fB\-\-stdout\fP\*(''. لا يُكتب أي نص إذا ضُغط على زر الإلغاء (أو ESC)؛ ويخرج \fB\*p\fP فورًا في تلك الحالة. . .\" ************************************************************************ .SH الخيارات تبدأ جميع الخيارات بـ \*(``\fB\-\-\fP\*('' (واصلتا ASCII، لمصلحة من يستخدمون أنظمة ذات دعم محلي غير سوي). .PP تُستخدم \*(``\fB\-\-\fP\*('' بمفردها كعلامة هروب، أي أن العلامة التالية في سطر الأوامر لا تُعامل كخيار. يختلف هذا عن \fBgetopt\fP(1)، الذي يستخدم تلك العلامة ليعامل ما تبقى من علامات كـ \fIمعاملات\fP وليس \fIخيارات\fP. .RS .PP \fB\*p \-\-title \-\- \-\-Not an option\fP .br \fB\*p \-\-title This \-\- \-\-title is not an option\fP .RE .PP لا يستخدم \fB\*L\fP أي \fIمعاملات\fP، ويستخدم محلل \fIخيارات\fP خاص به. .PP عند تكرار خيار شائع (مثل الخيارات التي لا تتبع ودجة)، يُستخدم آخر خيار عُثر عليه. تُعامل الخيارات المنطقية معاملة خاصة بحيث يمكن إلغاؤها، بإضافة (أو حذف) معدل \*(``no\*('' بعد البادئة \*(``\fB\-\-\fP\*(''. على سبيل المثال، \fB\-\-no\-shadow\fP موثق هنا، ولكن \fB\-\-shadow\fP مقبول أيضًا. .PP يخبر الخيار \*(``\fB\-\-args\fP\*('' البرنامج \fB\*p\fP بسرد معاملات سطر الأوامر إلى الخطأ القياسي. هذا مفيد عند تنقيح السكربتات المعقدة باستخدام \*(``\fB\-\-\fP\*('' و\*(``\fB\-\-file\fP\*(''، بما أن سطر الأوامر قد تُعاد كتابته عند توسع هذه الخيارات. .PP يخبر الخيار \*(``\fB\-\-file\fP\*('' البرنامج \fB\*p\fP بقراءة المعاملات من الملف المسمى كقيمة له. .RS \fB\*p \-\-file \fP\fIملف_المعاملات\fP .RE .PP تُهمل الفراغات التي ليست داخل علامات اقتباس مزدوجة (استخدم الواصلات المائلة لاقتباس المحارف الفردية). تُدرج النتيجة في سطر الأوامر، مستبدلةً \*(``\fB\-\-file\fP\*('' وقيمة خياره. ويُستأنف تفسير سطر الأوامر من تلك النقطة. إذا بدأ \fIملف_المعاملات\fP بـ \*(``&\*(''، فسيفسر \fB\*p\fP النص التالي كرقم واصف ملف بدلاً من اسم ملف. .PP تقبل معظم الودجات معاملي \fIالطول\fP و\fIالعرض\fP، واللذين يمكن استخدامهما لضبط حجم الودجة آليًا لاستيعاب قيم رسالة \fIالمطالبة\fP متعددة الأسطر: .bP إذا كان المعامل سالبًا، يستخدم \fB\*l\fP حجم الشاشة. .bP إذا كان المعامل صفرًا، يستخدم \fB\*l\fP أقل حجم للودجة لعرض \fIالمطالبة\fP والبيانات. .bP خلاف ذلك، يستخدم \fB\*l\fP الحجم المعطى للودجة. . .SS "خيارات شائعة" تُصفر معظم الخيارات الشائعة قبل معالجة كل ودجة. . .IP \fB\-\-ascii\-lines\fP بدلاً من رسم خطوط رسومية حول الصناديق، تُرسم محارف ASCII مثل \*(``+\*('' و\*(``\-\*('' في نفس المكان. انظر أيضًا \*(``\fB\-\-no\-lines\fP\*(''. . .IP "\fB\-\-aspect \fP\fIالنسبة\fP" يمنحك هذا بعض التحكم في أبعاد الصندوق عند استخدام التحجيم الآلي (بتحديد 0 للطول والعرض). تمثل النسبة العرض / الطول. القيمة المبدئية هي 9، مما يعني عرض 9 محارف لكل سطر واحد من الطول. . .IP "\fB\-\-backtitle \fP\fIالعنوان_الخلفي\fP" يحدد سلسلة \fIالعنوان_الخلفي\fP لتُعرض على الخلفية، في الجزء العلوي من الشاشة. . .IP "\fB\-\-begin \fP\fIy x\fP" حدد موضع الزاوية العلوية اليسرى لصندوق الحوار على الشاشة. . .IP "\fB\-\-cancel\-label \fP\fIسلسلة\fP" تجاوز التسمية المستخدمة لأزرار \*(``إلغاء\*(''. . .IP \fB\-\-clear\fP يمسح شاشة الودجة، محتفظًا فقط بخلفية screen_color. استخدم هذا عند دمج الودجات مع \*(``\fB\-\-and\-widget\fP\*('' لمحو محتويات الودجة السابقة من الشاشة، حتى لا تظهر تحت محتويات الودجة التالية. افهم هذا كمكمل لـ \*(``\fB\-\-keep\-window\fP\*(''. لمقارنة التأثيرات، استخدم هذه: . .ES جميع الودجات الثلاث مرئية، تأثير الدرج، مرتبة 1،2،3: .Ex \*p \e \-\-begin 2 2 \-\-yesno "" 0 0 \e \-\-and\-widget \-\-begin 4 4 \-\-yesno "" 0 0 \e \-\-and\-widget \-\-begin 6 6 \-\-yesno "" 0 0 .Ee . .ES الودجة الأخيرة فقط تبقى مرئية: .Ex \*p \e \-\-clear \-\-begin 2 2 \-\-yesno "" 0 0 \e \-\-and\-widget \-\-clear \-\-begin 4 4 \-\-yesno "" 0 0 \e \-\-and\-widget \-\-begin 6 6 \-\-yesno "" 0 0 .Ee . .ES جميع الودجات الثلاث مرئية، تأثير الدرج، مرتبة 3،2،1: .Ex \*p \e \-\-keep\-window \-\-begin 2 2 \-\-yesno "" 0 0 \e \-\-and\-widget \-\-keep\-window \-\-begin 4 4 \-\-yesno "" 0 0 \e \-\-and\-widget \-\-begin 6 6 \-\-yesno "" 0 0 .Ee . .ES الودجتان الأولى والثالثة مرئيتان، تأثير الدرج، مرتبة 3،1: .Ex \*p \e \-\-keep\-window \-\-begin 2 2 \-\-yesno "" 0 0 \e \-\-and\-widget \-\-clear \-\-begin 4 4 \-\-yesno "" 0 0 \e \-\-and\-widget \-\-begin 6 6 \-\-yesno "" 0 0 .Ee .IP لاحظ أنه إذا كنت ترغب في استعادة ألوان الطرفية الأصلية وإرسال المؤشر إلى مكانه المبدئي بعد خروج برنامج الحوار، فاستخدم الأمر \fBclear\fP(1). وعلى العكس من ذلك، إذا كنت ترغب في مسح الشاشة وإرسال المؤشر إلى الزاوية السفلية اليسرى بعد خروج برنامج \fB\*p\fP، فاستخدم خيار \fB\-\-erase\-on\-exit\fP\. . .IP "\fB\-\-color\-mode \fP\fIالرمز\fP" توسيع خيار \fB\-\-colors\fP ليشمل محتوى programbox وtailbox وtextbox. استخدم الرمز \*(``2\*('' لهذه الميزة. . .IP \fB\-\-colors\fP تفسير تسلسلات \*(``\eZ\*('' المضمنة في نص الحوار بواسطة المحرف التالي، الذي يخبر \fB\*p\fP بضبط الألوان أو سمات الفيديو: .RS .bP من 0 إلى 7 هي أرقام ألوان ANSI المستخدمة في curses: أسود، أحمر، أخضر، أصفر، أزرق، أرجواني، سماوي وأبيض على التوالي. .bP يُضبط الخط العريض بواسطة 'b'، ويُلغى بواسطة 'B'. .bP يُضبط العكس بواسطة 'r'، ويُلغى بواسطة 'R'. .bP يُضبط التسطير بواسطة 'u'، ويُلغى بواسطة 'U'. .bP الإعدادات تراكمية، فمثلاً \*(``\eZb\eZ1\*('' تجعل النص التالي عريضًا وباللون الأحمر (ربما الساطع). .bP استعادة الإعدادات العادية بـ \*(``\eZn\*(''. .RE . .IP "\fB\-\-column\-separator \fP\fIسلسلة\fP" إخبار \fB\*p\fP بتقسيم البيانات لصناديق الخيار/التحقق والقوائم عند ورود السلسلة المعطاة، ومحاذاة البيانات المقسمة في أعمدة. . .IP \fB\-\-cr\-wrap\fP تفسير الأسطر الجديدة المضمنة في نص الحوار كسطر جديد على الشاشة. وإلا، فسيقوم \fB\*p\fP بلف الأسطر فقط عند الحاجة لتناسب داخل صندوق النص. .IP على الرغم من أنه يمكنك التحكم في فواصل الأسطر بهذا، إلا أن \fB\*L\fP سيظل يلف أي أسطر طويلة جدًا بالنسبة لعرض الصندوق. بدون cr\-wrap، قد تُنسق بنية النص لتبدو جميلة في الكود المصدري لسكربتك دون التأثير على شكلها في الحوار. .IP تُنفذ ميزة \fIcr\-wrap\fP وفقًا لهذه الشروط: .RS .bP تحتوي السلسلة على \*(``\en\*('' ولم يُستخدم خيار \fB\-\-no\-nl\-expand\fP، أو .bP استُخدم خيار \fB\-\-trim\fP. .RE .IP لمزيد من المعلومات، انظر \fBWhitespace Options\fP. . .IP "\fB\-\-create\-rc \fP\fIملف\fP" عندما يدعم \fB\*p\fP التهيئة أثناء التشغيل، يمكن استخدام هذا لتفريغ ملف تهيئة عينة في الملف المحدد بواسطة \fIملف\fP. . .IP \fB\-\-cursor\-off\-label\fP وضع مؤشر الطرفية في نهاية الزر بدلاً من المحرف الأول لتسمية الزر. هذا مفيد لتقليل الارتباك البصري عندما يتداخل تلوين المؤشر بشكل سيء مع ألوان نص تسمية الزر. . .IP "\fB\-\-date\-format \fP\fIتنسيق\fP" إذا كان المضيف يوفر \fBstrftime\fP، فإن هذا الخيار يسمح لك بتحديد تنسيق التاريخ المطبوع لودجة \fB\-\-calendar\fP. وقت اليوم (الساعة، الدقيقة، الثانية) هو الوقت المحلي الحالي. . .IP \fB\-\-defaultno\fP جعل القيمة المبدئية لصندوق \fBنعم/لا\fP هي \fBلا\fP. وبالمثل، معاملة الزر المبدئي للودجات التي توفر \*(``موافق\*('' و\*(``إلغاء\*('' كـ \fIإلغاء\fP. إذا أُعطي الخياران \*(``\fB\-\-no\-cancel\fP\*('' أو \*(``\fB\-\-visit\-items\fP\*('' فإنهما يتجاوزان هذا، مما يجعل الزر المبدئي دائمًا \*(``نعم\*('' (داخليًا هو نفسه \*(``موافق\*(''). . .IP "\fB\-\-default\-button \fP\fIسلسلة\fP" ضبط الزر المبدئي (المختار مسبقًا) في ودجة. باختيار زر مسبقًا، يتيح السكربت للمستخدم ببساطة الضغط على \fIEnter\fP للمضي قدمًا عبر الحوار بأقل قدر من التفاعل. .IP قيمة الخيار هي اسم الزر: \fIok\fP، \fIyes\fP، \fIcancel\fP، \fIno\fP، \fIhelp\fP\ أو \fIextra\fP. .IP عادةً ما يكون الزر الأول في كل ودجة هو المبدئي. الزر الأول المعروض يتم تحديده بواسطة الودجة جنبًا إلى جنب مع خياري \*(``\fB\-\-no\-ok\fP\*('' و\*(``\fB\-\-no\-cancel\fP\*(''. إذا لم يُعطَ هذا الخيار، فلا يتم تعيين زر مبدئي. . .IP "\fB\-\-default\-item \fP\fIسلسلة\fP" ضبط العنصر المبدئي في صندوق التحقق، أو النموذج، أو القائمة. عادةً ما يكون العنصر الأول في الصندوق هو المبدئي. . .IP \fB\-\-erase\-on\-exit\fP عند خروج \fB\*p\fP، تُزال ودجة الحوار، وتُمسح الشاشة بأكملها إلى لون خلفيتها الأصلي، ويُوضع مؤشر الطرفية في الزاوية السفلية اليسرى. . .IP "\fB\-\-exit\-label \fP\fIسلسلة\fP" تجاوز التسمية المستخدمة لأزرار \*(``خروج\*(''. . .IP \fB\-\-extra\-button\fP إظهار زر إضافي، بين أزرار \*(``موافق\*('' و\*(``إلغاء\*(''. .IP يظهر الزر الإضافي بين \*(``نعم\*('' و\*(``لا\*('' لودجة \fIyesno\fP. . .IP "\fB\-\-extra\-label \fP\fIسلسلة\fP" يتخطى التسمية المستخدمة لأزرار \*(``إضافي\*(''. ملاحظة: بالنسبة لودجات inputmenu، القيمة المبدئية هي \*(``إعادة تسمية\*(''. . .IP \fB\-\-help\fP يطبع رسالة المساعدة إلى المخرج القياسي ثم يخرج. تُطبع رسالة المساعدة أيضًا إذا لم تُعطَ أي خيارات، أو إذا عُطِي خيار غير معروف. . .IP \fB\-\-help\-button\fP يظهر زر مساعدة بعد زرّي \*(``موافق\*('' و\*(``إلغاء\*('' في المربعات التي تحتوي قائمة عناصر موسومة (أي مربعات checklist وradiolist وmenu وtreeview). .IP يظهر زر المساعدة بعد \*(``نعم\*('' و\*(``لا\*('' في ودجة \fIyesno\fP. .IP عند الخروج، تشير حالة العودة إلى أنه ضُغط على زر المساعدة. يكتب \fB\*L\fP أيضًا رسالة إلى مخرجه بعد العلامة \*(``HELP\*('': .RS .bP إذا عُطي خيار "\fB\-\-item\-help\fP" أيضًا، يُكتب نص مساعدة العنصر. .bP خلاف ذلك، يُكتب وسم العنصر (الحقل الأول). .RE .IP يمكنك استخدام الخيار \fB\-\-help\-tags\fP و/أو ضبط متغير البيئة DIALOG_ITEM_HELP لتعديل هذه الرسائل وحالة الخروج. .IP يمكن تطبيق هذا الخيار على الودجات الأخرى التي تحتوي زر \*(``موافق\*(''، سواء استُخدم زر \*(``إلغاء\*('' أم لا. لا تُعامل حالة العودة والمخرج معاملة خاصة للودجات الأخرى؛ زر المساعدة هو مجرد زر إضافي. . .IP "\fB\-\-help\-label \fP\fIstring\fP" يتخطى التسمية المستخدمة لأزرار \*(``مساعدة\*(''. . .IP \fB\-\-help\-status\fP إذا اختُير زر المساعدة، يكتب معلومات checklist أو radiolist أو form بعد معلومات مساعدة العنصر \*(``HELP\*(''. يمكن استخدام هذا لإعادة بناء حالة قائمة الاختيار (checklist) بعد معالجة طلب المساعدة. . .IP \fB\-\-help\-tags\fP يعدل الرسائل المكتوبة عند الخروج للخيار \fB\-\-help\-button\fP بجعلها دائمًا مجرد وسم العنصر. لا يؤثر هذا على رمز حالة الخروج. . .IP "\fB\-\-hfile \fP\fIfilename\fP" يعرض الملف المعطى باستخدام مربع نص عندما يضغط المستخدم على F1. . .IP "\fB\-\-hline \fP\fIstring\fP" يعرض السلسلة المعطاة ممركزة في أسفل الودجة. .IP تحتوي النوافذ القابلة للتمرير على مؤشر بالقرب من الجانب الأيسر للودجة، وتُحجز مساحة مقابلة له في الجانب الأيمن. يحد هذا من كمية النص التي يمكن عرضها إلى 9 أعمدة أقل من عرض النافذة. إذا لم تتوفر مساحة كافية، فلن يُعرض أي نص. . .IP \fB\-\-ignore\fP يتجاهل الخيارات التي لا يتعرف عليها \fB\*p\fP. تُتجاهل بعض الخيارات المعروفة مثل \*(``\fB\-\-icon\fP\*('' على أي حال، ولكن هذا خيار أفضل للتوافق مع التطبيقات الأخرى. . .IP "\fB\-\-input\-fd \fP\fIfd\fP" يقرأ مدخلات لوحة المفاتيح من واصف الملف المعطى. تقرأ معظم سكريبتات \fB\*p\fP من المدخل القياسي، لكن ودجة gauge تقرأ أنبوبًا (والذي هو دائمًا المدخل القياسي). بعض الإعدادات لا تعمل بشكل صحيح عندما يحاول \fB\*p\fP إعادة فتح الطرفية. استخدم هذا الخيار (مع التلاعب المناسب بواصفات الملفات) إذا كان سكريبتك يجب أن يعمل في هذا النوع من البيئات. . .IP \fB\-\-insecure\fP يجعل ودجة كلمة المرور أكثر ودية ولكن أقل أمانًا، عبر إظهار نجوم لكل حرف. . .IP \fB\-\-iso\-week\fP يضبط نقطة البداية لرقم الأسبوع المعروض في خيار \*(``\fB\-\-calendar\fP\*('' وفقًا للمعيار ISO\-8601، الذي يبدأ الترقيم بأول أسبوع يتضمن يوم خميس في شهر كانون الثاني/يناير. . .IP \fB\-\-item\-help\fP يفسر بيانات الأوسمة لمربعات checklist وradiolist وmenu مضيفًا عمودًا يُعرض في السطر السفلي من الشاشة للعنصر المحدد حاليًا. . .IP \fB\-\-keep\-tite\fP عند بنائه باستخدام \fBncurses\fP، يتحقق \fB\*p\fP عادةً مما إذا كان يعمل في \fBxterm\fP، وفي هذه الحالة يحاول كبح سلاسل التهيئة التي ستجعله ينتقل إلى الشاشة البديلة. التبديل بين الشاشات العادية والبديلة مشتت بصريًا في سكريبت يشغل \fB\*p\fP عدة مرات. استخدم هذا الخيار للسماح لـ \fB\*p\fP باستخدام سلاسل التهيئة تلك. . .IP \fB\-\-keep\-window\fP عادةً عندما ينفذ \fB\*p\fP عدة ودجات \fBtailboxbg\fP متصلة بـ \*(``\fB\-\-and\-widget\fP\*(''، فإنه يمسح الودجة القديمة من الشاشة بالرسم فوقها. استخدم هذا الخيار لكبح إعادة الرسم تلك. .IP عند الخروج، يعيد \fB\*p\fP رسم جميع الودجات التي عُلّمت بـ \*(``\fB\-\-keep\-window\fP\*(''، حتى لو لم تكن ودجات \fBtailboxbg\fP. يؤدي ذلك إلى إعادة رسمها بترتيب عكسي. راجع نقاش خيار \*(``\fB\-\-clear\fP\*('' للحصول على أمثلة. . .IP \fB\-\-last\-key\fP عند الخروج، يبلغ عن آخر مفتاح أدخله المستخدم. هذا هو رمز مفتاح curses وليس رمزًا أو حرفًا حرفيًا، ويُبلغ عنه فقط للمفاتيح المرتبطة بإجراء ما. يمكن استخدامه بواسطة السكريبتات للتمييز بين مفتاحين مرتبطين بنفس الإجراء. . .IP "\fB\-\-max\-input \fP\fIsize\fP" يحد سلاسل الإدخال بالحجم المعطى. إذا لم يُحدد، فالحد هو 2048. . .IP \fB\-\-no\-cancel\fP يكبح زر \*(``إلغاء\*('' في أوضاع checklist وinputbox وmenu. لا يزال بإمكان السكريبت اختبار ما إذا كان المستخدم قد ضغط على مفتاح ESC للإلغاء للخروج. . .IP \fB\-\-no\-collapse\fP عادةً ما يحول \fB\*p\fP علامات الجدولة إلى مسافات ويقلص المسافات المتعددة إلى مسافة واحدة للنص المعروض في مربعات الرسائل، وما إلى ذلك. استخدم هذا الخيار لتعطيل هذه الميزة. لاحظ أن \fB\*p\fP سيظل يلف النص، مع مراعاة الخيارين \*(``\fB\-\-cr\-wrap\fP\*('' و\*(``\fB\-\-trim\fP\*(''. .IP تُطبق ميزة \fIno\-collapse\fP وفقًا لهذه الشروط: .RS .bP تحتوي السلسلة على \*(``\en\*('' ولم يُستخدم خيار \fB\-\-no\-nl\-expand\fP، أو .bP عدم استخدام الخيار \fB\-\-trim\fP. .RE .IP لمزيد من المعلومات، انظر \fBWhitespace Options\fP. . .IP \fB\-\-no\-hot\-list\fP يخبر \fB\*p\fP بكبح ميزة مفاتيح الاختصار للقوائم، مثل checkbox وmenus. .IP عادةً، يُبرز أول حرف كبير في مدخل القائمة، ويؤدي كتابة هذا الحرف إلى نقل التركيز إلى ذلك المدخل. يكبح هذا الخيار كلاً من الإبراز والحركة. .IP لا تتأثر مفاتيح الاختصار للأزرار (\*(``موافق\*('' ، \*(``إلغاء\*(''، إلخ). . .IP \fB\-\-no\-items\fP تعرض بعض الودجات (checklist وinputmenu وradiolist وmenu) قائمة من عمودين (\*(``وسم\*('' و\*(``عنصر\*(''، أي \*(``وصف\*(''). يخبر هذا الخيار \fB\*p\fP بقراءة صفوف أقصر، مع حذف جزء \*(``العنصر\*('' من القائمة. هذا مفيد أحيانًا، على سبيل المثال، إذا كانت الأوسمة توفر معلومات كافية. .IP راجع أيضًا \fB\-\-no\-tags\fP. إذا عُطي كلا الخيارين، فسيُتجاهل هذا الخيار. . .IP \fB\-\-no\-kill\fP يخبر \fB\*p\fP بوضع مربع \fBtailboxbg\fP في الخلفية، مع طباعة معرّف العملية الخاص به إلى مخرج \fB\*p\fP. تُعطل إشارة SIGHUP لعملية الخلفية. . .IP "\fB\-\-no\-label \fP\fIstring\fP" يتخطى التسمية المستخدمة لأزرار \*(``لا\*(''. . .IP \fB\-\-no\-lines\fP بدلاً من رسم خطوط حول المربعات، تُرسم مسافات في نفس المكان. راجع أيضًا \*(``\fB\-\-ascii\-lines\fP\*(''. . .IP \fB\-\-no\-mouse\fP لا يفعّل الفأرة. . .IP \fB\-\-no\-nl\-expand\fP لا يحول السلاسل الفرعية \*(``\en\*('' في نص الرسالة/المطالبة إلى أسطر جديدة حرفية. .IP تُستخدم ميزة \fIno\-nl\-expand\fP فقط إذا كانت السلسلة تحتوي على \*(``\en\*('' بحيث يكون هناك شيء لتحويله. .IP لمزيد من المعلومات، انظر \fBWhitespace Options\fP. . .IP \fB\-\-no\-ok\fP يكبح زر \*(``موافق\*(''، بحيث لا يُعرض. لا يزال بإمكان السكريبت اختبار ما إذا كان المستخدم قد ضغط على مفتاح \*(``Enter\*('' لقبول البيانات: .RS .bP يُعامل مفتاح \*(``Enter\*('' دائمًا كزر \*(``موافق\*('' عند استخدام الخيار \fB\-\-no\-ok\fP. أي أنه، افتراضيًا، مرتبط بالمفتاح الافتراضي \fILEAVE\fP. .IP عند عدم استخدام \fB\-\-no\-ok\fP، يمكنك استخدام مفتاح \fITab\fP لتحريك المؤشر عبر الحقول والأزرار في الودجة. في هذه الحالة، ينشط مفتاح \*(``Enter\*('' الزر الحالي إذا كان المؤشر مستقرًا على زر. .bP لتوفير الحالة التي تريد فيها تنشيط زر عند استخدام \fB\-\-no\-ok\fP، هناك مفتاح افتراضي آخر \fILEAVE\fP، والذي ينشط الزر الحالي. افتراضيًا، يرتبط \fB^D\fP (EOF) بهذا المفتاح. .RE . .IP \fB\-\-no\-shadow\fP يكبح الظلال التي ستُرسم على يمين وأسفل كل مربع حوار. . .IP \fB\-\-no\-tags\fP تعرض بعض الودجات (checklist وinputmenu وradiolist وmenu) قائمة من عمودين (\*(``وسم\*('' و\*(``وصف\*(''). الوسم مفيد للسكريبتات، لكنه قد لا يساعد المستخدم. يمكن استخدام الخيار \fB\-\-no\-tags\fP (من Xdialog) لكبح عمود الأوسمة من العرض. وعلى عكس الخيار \fB\-\-no\-items\fP، لا يؤثر هذا على البيانات التي تُقرأ من السكريبت. .IP لا يعرض Xdialog عمود الأوسمة لودجات buildlist وtreeview المماثلة؛ ويفعل \fB\*p\fP الشيء نفسه. .IP عادةً ما يسمح لك \fB\*p\fP بالانتقال بسرعة إلى المدخلات في القائمة المعروضة، عبر مطابقة حرف واحد مع الحرف الأول من الوسم. عند إعطاء الخيار \fB\-\-no\-tags\fP، يطابق \fB\*p\fP مع الحرف الأول من الوصف. في كلتا الحالتين، يُبرز الحرف القابل للمطابقة. . .IP "\fB\-\-ok\-label \fP\fIstring\fP" يتخطى التسمية المستخدمة لأزرار \*(``موافق\*(''. . .IP "\fB\-\-output\-fd \fP\fIfd\fP" يوجه المخرج إلى واصف الملف المعطى. تكتب معظم سكريبتات \fB\*p\fP إلى الخطأ القياسي، ولكن قد تُكتب رسائل الخطأ هناك أيضًا، اعتمادًا على سكريبتك. . .IP "\fB\-\-separator \fP\fIstring\fP" .IP "\fB\-\-output\-separator \fP\fIstring\fP" يحدد سلسلة ستفصل المخرجات في مخرج \fB\*p\fP من قوائم الاختيار (checklists)، بدلاً من سطر جديد (للخيار \fB\-\-separate\-output\fP) أو مسافة. ينطبق هذا على الودجات الأخرى مثل النماذج (forms) وصناديق التحرير (editboxes) التي تستخدم عادةً سطرًا جديدًا. . .IP \fB\-\-print\-maxsize\fP يطبع الحجم الأقصى لمربعات الحوار، أي حجم الشاشة، إلى مخرج \fB\*p\fP. يمكن استخدام هذا بمفرده، دون خيارات أخرى. . .IP \fB\-\-print\-size\fP يطبع حجم كل مربع حوار إلى مخرج \fB\*p\fP عند تهيئة المربع. . .IP "\fB\-\-print\-text\-only \fP\fIstring [ height [ width ] ]\fP" يطبع السلسلة كما لو كانت ملفوفة في مربع رسالة إلى مخرج \fB\*p\fP. .IP لأن قيمتي \fIheight\fP و\fIwidth\fP الاختياريتين تكونان صفرًا مبدئيًا، فإنه إذا حُذفتا، فسيقوم \fB\*p\fP بالتحجيم الآلي وفقًا لأبعاد الشاشة. . .IP "\fB\-\-print\-text\-size \fP\fIstring [ height [ width ] ]\fP" يطبع حجم السلسلة كما لو كانت ملفوفة في مربع رسالة، إلى مخرج \fB\*p\fP، كالتالي .Ex الارتفاع العرض .Ee .IP لأن معاملي \fIheight\fP و\fIwidth\fP الاختياريين يكونان صفرًا مبدئيًا، فإنه إذا حُذفا، فسيقوم \fB\*p\fP بالتحجيم الآلي وفقًا لأبعاد الشاشة. . .IP \fB\-\-print\-version\fP يطبع إصدار \fB\*p\fP إلى مخرج \fB\*p\fP. يمكن استخدام هذا بمفرده، دون خيارات أخرى. ولا يتسبب في خروج \fB\*l\fP تلقائيًا. . .IP \fB\-\-quoted\fP عادةً ما يضع \fB\*p\fP السلاسل التي تعيدها قوائم الاختيار (checklist) وكذلك نص مساعدة العنصر بين علامات اقتباس. استخدم هذا الخيار لاقتباس جميع نتائج السلاسل حسب الحاجة (أي إذا كانت السلسلة تحتوي على مسافات بيضاء أو علامة اقتباس مفردة أو مزدوجة). . .IP \fB\-\-reorder\fP افتراضيًا، تستخدم ودجة buildlist نفس الترتيب لقائمة المخرجات (اليمنى) كما هو في قائمة المدخلات (اليسرى). استخدم هذا الخيار لإخبار \fB\*p\fP باستخدام الترتيب الذي يضيف به المستخدم التحديدات إلى قائمة المخرجات. . .IP \fB\-\-scrollbar\fP بالنسبة للودجات التي تحتوي على مجموعة بيانات قابلة للتمرير، يرسم شريط تمرير على هامشها الأيمن. لا يستجيب هذا الشريط للفأرة. . .IP \fB\-\-separate\-output\fP بالنسبة لودجات معينة (buildlist، وchecklist، وtreeview)، تُخرَج النتيجة سطرا تلو الآخر، دون اقتباس. يسهل هذا التحليل بواسطة برنامج آخر. . .IP "\fB\-\-separate\-widget \fP\fIسلسلة\fP" حدد سلسلة تفصل بين مخرجات كل ودجة في مخرجات \fB\*p\fP. يُستخدم هذا لتبسيط تحليل نتيجة حوار يضم عدة ودجات. إذا لم يُعطَ هذا الخيار، فإن سلسلة الفصل المبدئية هي علامة جدولة (tab). . .IP \fB\-\-single\-quoted\fP استخدم الاقتباس المفرد حسب الحاجة (ولا تستخدم اقتباسات إذا لم تكن هناك حاجة) لمخرجات قائمة التحقق (checklist) وكذلك نص مساعدة العناصر. .IP إذا لم يُضبط هذا الخيار، فقد يستخدم \fB\*p\fP علامات اقتباس مزدوجة حول كل عنصر. في كلتا الحالتين، يضيف \fB\*p\fP مائلات خلفية لجعل المخرجات مفيدة في سكربتات الصدفة. .IP ستكون هناك حاجة للاقتباسات المفردة إذا كانت السلسلة تحتوي على مسافة فارغة أو علامة اقتباس مفردة أو مزدوجة. . .IP \fB\-\-size\-err\fP افحص الحجم الناتج لصندوق الحوار قبل محاولة استخدامه، واطبع الحجم الناتج إذا كان أكبر من الشاشة. (هذا الخيار مهجور، حيث تُفحص جميع استدعاءات النوافذ الجديدة). . .IP "\fB\-\-sleep \fP\fIثوانٍ\fP" توقف (تأخر) لعدد الثواني المعطى بعد معالجة صندوق الحوار. . .IP \fB\-\-stderr\fP وجّه المخرجات إلى الخطأ القياسي. هذا هو المبدئي، لأن curses يكتب تحديثات الشاشة عادةً إلى المخرجات القياسية. . .IP \fB\-\-stdout\fP وجّه المخرجات إلى المخرجات القياسية. وُفر هذا الخيار للتوافق مع Xdialog، ومع ذلك لا يُنصح باستخدامه في السكربتات المنقولة، لأن curses يكتب عادةً تحديثات الشاشة إلى المخرجات القياسية. إذا استخدمت هذا الخيار، سيحاول \fB\*p\fP إعادة فتح الطرفية ليتمكن من الكتابة إلى العرض. قد يفشل ذلك بناءً على المنصة وبيئتك. . .IP \fB\-\-tab\-correct\fP حول كل علامة جدولة (tab) إلى مسافة واحدة أو أكثر (لودجة \fBtextbox\fP؛ وإلا فإلى مسافة واحدة). بخلاف ذلك، تُصيّر علامات الجدولة وفقاً لتفسير مكتبة curses. يعطل خيار \fB\-\-no\-collapse\fP توسيع علامات الجدولة. . .IP "\fB\-\-tab\-len \fP\fIn\fP" حدد عدد المسافات التي تحتلها علامة الجدولة إذا أُعطي خيار \*(``\fB\-\-tab\-correct\fP\*(''. القيمة المبدئية هي 8. هذا الخيار فعال فقط لودجة \fBtextbox\fP. . .IP "\fB\-\-time\-format \fP\fIتنسيق\fP" إذا كان المضيف يوفر \fBstrftime\fP، يتيح لك هذا الخيار تحديد تنسيق الوقت المطبوع لودجة \fB\-\-timebox\fP. قيم اليوم والشهر والسنة في هذه الحالة تكون للوقت المحلي الحالي. . .IP "\fB\-\-timeout \fP\fIثوانٍ\fP" تنتهي المهلة إذا لم يستجب المستخدم خلال عدد الثواني المعطى. تُتجاهل المهلة التي تبلغ صفر ثانية. .IP عادةً ما تؤدي المهلة إلى إدخال محرف ESC في الودجة الحالية، مما يلغيها. قد تظل ودجات أخرى على الشاشة؛ وهذه لا تُلحى. اضبط متغير البيئة \fBDIALOG_TIMEOUT\fP لإخبار \fB\*l\fP بالخروج مباشرة بدلاً من ذلك، أي إلغاء جميع الودجات على الشاشة. .IP يُتجاهل هذا الخيار بواسطة ودجة \*(``\fB\-\-pause\fP\*(''. كما يتم تخطيه إذا استُخدم خيار الخلفية \*(``\fB\-\-tailboxbg\fP\*('' لإعداد عدة ودجات متزامنة. . .IP "\fB\-\-title \fP\fIعنوان\fP" يحدد سلسلة \fIعنوان\fP لتعرض في أعلى صندوق الحوار. . .IP "\fB\-\-trace \fP\fIاسم_الملف\fP" يسجل معاملات سطر الأوامر، وضغطات المفاتيح والمعلومات الأخرى في الملف المعطى. إذا قرأ \fB\*l\fP ملف إعداد، فيُسجل أيضاً. تُسجل المدخلات الموجهة إلى ودجة \fIgauge\fP. استخدم control/T لتسجيل صورة لنافذة الحوار الحالية. .IP يتعامل برنامج \fB\*p\fP مع بعض معاملات سطر الأوامر بشكل خاص، ويزيلها من قائمة المعاملات أثناء معالجتها. على سبيل المثال، إذا كان الخيار الأول هو \fB\-\-trace\fP، فإنه يُعالج (ويُزال) قبل أن يهيئ \fB\*p\fP العرض. . .IP "\fB\-\-week\-start \fP\fIيوم\fP" يضبط يوم بداية الأسبوع، المُستخدم في خيار \*(``\fB\-\-calendar\fP\*(''. يمكن أن يكون معامل \fIاليوم\fP: .RS .bP رقماً (من 0 إلى 6، من الأحد إلى السبت باستخدام POSIX) أو .bP القيمة الخاصة \*(``locale\*('' (يعمل هذا مع الأنظمة التي تستخدم glibc، موفرةً امتداداً لأمر \fBlocale\fP، وهي قيمة \fBfirst_weekday\fP). .bP سلسلة تطابق أحد اختصارات يوم الأسبوع المعروضة في ودجة \fBcalendar\fP، على سبيل المثال، \*(``Mo\*('' لـ \*(``Monday\*(''. .RE . .IP \fB\-\-trim\fP إزالة الفراغات البادئة، وتشذيب أسطر السطر الجديدة الحرفية والفراغات المتكررة من نص الرسالة. .IP تُنفذ ميزة \fIالتشذيب\fP وفقاً لهذه الشروط: .RS .bP لا تحتوي السلسلة على \*(``\en\*('' أو .bP استخدام خيار \fB\-\-no\-nl\-expand\fP. .RE .IP لمزيد من المعلومات، انظر \fBWhitespace Options\fP. . .IP انظر أيضاً خياري \*(``\fB\-\-cr\-wrap\fP\*('' و \*(``\fB\-\-no\-collapse\fP\*(''. . .IP \fB\-\-version\fP يطبع إصدار \fB\*p\fP إلى المخرجات القياسية، ويخرج. انظر أيضاً \*(``\fB\-\-print\-version\fP\*(''. . .IP \fB\-\-visit\-items\fP عدل التنقل بجدولة (tab\-traversal) لكل من checklist وradiolist وmenubox وinputmenu لتشمل قائمة العناصر كإحدى الحالات. هذا مفيد كمساعدة بصرية، أي أن موضع المؤشر يساعد بعض المستخدمين. .IP عند إعطاء هذا الخيار، يوضع المؤشر مبدئياً على القائمة. تنطبق الاختصارات (الحرف الأول من الوسم) على عناصر القائمة. إذا انتقلت بالجدولة إلى صف الأزرار، تنطبق الاختصارات على الأزرار. . .IP "\fB\-\-yes\-label \fP\fIسلسلة\fP" تخطي اللصيقة المستخدمة لأزرار \*(``نعم\*('' (Yes). . .\" ************************************************************************ .SS "خيارات الصندوق" تحتوي جميع صناديق الحوار على ثلاثة معاملات على الأقل: .TP 7 \fItext\fP تسمية أو محتويات الصندوق. .TP 7 \fIheight\fP ارتفاع صندوق الحوار. .TP 7 \fIwidth\fP عرض صندوق الحوار. .PP تعتمد المعاملات الأخرى على نوع الصندوق. . . .IP "\fB\-\-buildlist \fP\fIالنص الارتفاع العرض ارتفاع_القائمة \fP[ \fIالوسم العنصر الحالة \fP] \fI...\fP" يعرض حوار \fBbuildlist\fP قائمتين جنباً إلى جنب. تظهر القائمة على اليسار العناصر غير المحددة. وتظهر القائمة على اليمين العناصر المحددة. تنتقل العناصر بين القائمتين عند تحديدها أو إلغاء تحديدها. .IP استخدم زر الرجوع (carriage return) أو زر \*(``موافق\*('' لقبول القيمة الحالية في نافذة المحددة والخروج. تُكتب النتائج باستخدام الترتيب المعروض في النافذة المحددة. .IP تُحدد حالة التشغيل/الإيقاف المبدئية لكل إدخال بواسطة \fIالحالة\fP. .IP يتصرف الحوار مثل \fBmenu\fP، مستخدماً \fB\-\-visit\-items\fP للتحكم فيما إذا كان يُسمح للمؤشر بزيارة القوائم مباشرة. .RS .bP إذا لم يُعطَ خيار \fB\-\-visit\-items\fP، يستخدم التنقل بالجدولة حالتين (موافق/إلغاء). .bP إذا أُعطي خيار \fB\-\-visit\-items\fP، يستخدم التنقل بالجدولة أربع حالات (يسار/يمين/موافق/إلغاء). .RE .IP سواء أُعطي خيار \fB\-\-visit\-items\fP أم لا، فمن الممكن نقل التمييز بين القائمتين باستخدام المفاتيح المبدئية \*(``^\*('' (العمود الأيسر) و \*(``$\*('' (العمود الأيمن). .IP عند الخروج، ستُطبع قائمة بسلاسل \fIالوسم\fP لتلك الإدخالات التي تم تشغيلها على مخرجات \fB\*p\fP. .IP إذا لم يُعطَ خيار "\fB\-\-separate\-output\fP"، فستُقتبس السلاسل حسب الحاجة لجعل فصلها بسيطاً للسكربتات. بشكل مبدئي، يستخدم هذا علامات اقتباس مزدوجة، حسب الحاجة. انظر خيار \*(``\fB\-\-single\-quoted\fP\*(''، الذي يعدل سلوك الاقتباس. . .IP "\fB\-\-calendar \fP\fIالنص الارتفاع العرض اليوم الشهر السنة\fP" يعرض صندوق \fBالتقويم\fP الشهر واليوم والسنة في نوافذ قابلة للضبط بشكل منفصل. إذا كانت قيم اليوم أو الشهر أو السنة مفقودة أو سالبة، تُستخدم القيم المقابلة للتاريخ الحالي. يمكنك زيادة أو تقليل أي منها باستخدام الأسهم لليسار، ولأعلى، ولليمين، ولأسفل. استخدم h وj وk وl بأسلوب vi للتنقل في مصفوفة أيام الشهر. استخدم جدولة (tab) أو جدولة خلفية (backtab) للتنقل بين النوافذ. إذا أُعطيت السنة كصفر، يُستخدم التاريخ الحالي كقيمة مبدئية. .IP عند الخروج، يُطبع التاريخ بصيغة يوم/شهر/سنة. يمكن تخطي التنسيق باستخدام خيار \fB\-\-date\-format\fP. . .IP "\fB\-\-checklist \fP\fIالنص الارتفاع العرض ارتفاع_القائمة \fP[ \fIالوسم العنصر الحالة \fP] \fI...\fP" صندوق قائمة التحقق \fBchecklist\fP يشبه صندوق القائمة \fBmenu\fP؛ حيث توجد عدة إدخالات معروضة في شكل قائمة. فرق آخر هو أنه يمكنك الإشارة إلى الإدخال المحدد حالياً عن طريق ضبط \fIحالته\fP لتكون \fIon\fP. بدلاً من اختيار إدخال واحد من بين الإدخالات، يمكن للمستخدم تشغيل أو إيقاف كل إدخال. تُحدد حالة التشغيل/الإيقاف المبدئية لكل إدخال بواسطة \fIالحالة\fP. .IP عند الخروج، ستُطبع قائمة بسلاسل \fIالوسم\fP لتلك الإدخالات التي تم تشغيلها على مخرجات \fB\*p\fP. .IP إذا لم يُعطَ خيار \*(``\fB\-\-separate\-output\fP\*(''، فستُقتبس السلاسل حسب الحاجة لجعل فصلها بسيطاً للسكربتات. بشكل مبدئي، يستخدم هذا علامات اقتباس مزدوجة (حسب الحاجة). انظر خيار \*(``\fB\-\-single\-quoted\fP\*(''، الذي يعدل سلوك الاقتباس. . .IP "\fB\-\-dselect \fP\fIمسار_الملف الارتفاع العرض\fP" يعرض حوار اختيار الدليل نافذة لإدخال النص يمكنك من خلالها كتابة اسم دليل، وفوقها نافذة بأسماء الأدلة. .IP هنا يمكن أن يكون \fBfilepath\fP مسار ملف، وفي هذه الحالة ستعرض نافذة الدليل محتويات المسار وستحتوي نافذة إدخال النص على الدليل المحدد مسبقاً. .IP استخدم مفتاح الجدولة (tab) أو مفاتيح الأسهم للتنقل بين النوافذ. داخل نافذة الدليل، استخدم مفتاحي السهم لأعلى/لأسفل للتمرير في التحديد الحالي. استخدم مفتاح المسافة لنسخ التحديد الحالي إلى نافذة إدخال النص. .IP يؤدي كتابة أي محارف قابلة للطباعة إلى نقل التركيز إلى نافذة إدخال النص، وإدخال ذلك المحرف بالإضافة إلى تمرير نافذة الدليل إلى أقرب تطابق. .IP استخدم زر الرجوع (carriage return) أو زر \*(``موافق\*('' لقبول القيمة الحالية في نافذة إدخال النص والخروج. .IP عند الخروج، تُكتب محتويات نافذة إدخال النص إلى مخرجات \fB\*p\fP. . .IP "\fB\-\-editbox \fP\fIمسار_الملف الارتفاع العرض\fP" يعرض حوار صندوق التحرير نسخة من الملف. يمكنك تحريره باستخدام مفاتيح \fIbackspace\fP و\fIdelete\fP ومفاتيح المؤشر لتصحيح أخطاء الكتابة. كما أنه يتعرف على pageup/pagedown. بخلاف \fB\-\-inputbox\fP، يجب أن تنتقل بالجدولة إلى زر \*(``موافق\*('' أو \*(``إلغاء\*('' لإغلاق الحوار. سيؤدي الضغط على مفتاح \*(``إدخال\*('' داخل الصندوق إلى تقسيم السطر المقابل. .IP عند الخروج، تُكتب محتويات نافذة التحرير إلى مخرجات \fB\*p\fP. . .nf .IP "\fB\-\-form \fP\fIالنص الارتفاع العرض ارتفاع_النموذج \fP[ \fIاللصيقة ص س العنصر ص س طول_الحقل طول_الإدخال \fP] \fI...\fP" .fi يعرض حوار النموذج \fBform\fP نموذجاً يتكون من لصائق وحقول، يتم وضعها على نافذة قابلة للتمرير بواسطة إحداثيات معطاة في السكربت. يحدد طول الحقل \fIflen\fP وطول الإدخال \fIilen\fP مدى طول الحقل. يحدد الأول الطول المعروض للحقل المحدد، بينما يحدد الأخير الطول المسموح به للبيانات المدخلة في الحقل. .RS .bP إذا كان \fIflen\fP صفراً، فلا يمكن تغيير الحقل المقابل، وتحدد محتويات الحقل الطول المعروض. .bP إذا كان \fIflen\fP سالباً، فلا يمكن تغيير الحقل المقابل، وتُستخدم القيمة المعكوسة لـ \fIflen\fP كطول معروض. .bP إذا كان \fIilen\fP صفراً، فإنه يُضبط على \fIflen\fP. .RE .IP استخدم السهمين لأعلى/لأسفل (أو control/N، وcontrol/P) للتنقل بين الحقول. استخدم الجدولة (tab) للتنقل بين النوافذ. .IP عند الخروج، تُكتب محتويات حقول النموذج إلى مخرجات \fB\*p\fP، مع فصل كل حقل بسطر جديد. لا يُكتب النص المستخدم لملء الحقول غير القابلة للتحرير (عندما يكون \fIflen\fP صفراً أو سالباً). . . .IP "\fB\-\-fselect \fP\fIمسار_الملف الارتفاع العرض\fP" يعرض حوار \fBfselect\fP (اختيار الملفات) نافذة لإدخال النص يمكنك من خلالها كتابة اسم ملف (أو دليل)، وفوقها نافذتان بأسماء الأدلة وأسماء الملفات. .IP هنا يمكن أن يكون \fBfilepath\fP مسار ملف، وفي هذه الحالة ستعرض نافذتا الملف والدليل محتويات المسار وستحتوي نافذة إدخال النص على اسم الملف المحدد مسبقاً. .IP استخدم مفتاح الجدولة (tab) أو مفاتيح الأسهم للتنقل بين النوافذ. داخل نوافذ الدليل أو اسم الملف، استخدم مفتاحي السهم لأعلى/لأسفل للتمرير في التحديد الحالي. استخدم مفتاح المسافة لنسخ التحديد الحالي إلى نافذة إدخال النص. .IP يؤدي كتابة أي محارف قابلة للطباعة إلى نقل التركيز إلى نافذة إدخال النص، وإدخال ذلك المحرف بالإضافة إلى تمرير نافذتي الدليل واسم الملف إلى أقرب تطابق. .IP يؤدي كتابة محرف المسافة إلى إجبار \fB\*p\fP على إكمال الاسم الحالي (حتى النقطة التي قد يكون فيها تطابق مع أكثر من إدخال واحد). .IP استخدم زر الرجوع (carriage return) أو زر \*(``موافق\*('' لقبول القيمة الحالية في نافذة إدخال النص والخروج. .IP عند الخروج، تُكتب محتويات نافذة إدخال النص إلى مخرجات \fB\*p\fP. . . .IP "\fB\-\-gauge \fP\fIالنص الارتفاع العرض [نسبة_مئوية]\fP" يعرض صندوق \fBgauge\fP مقياسًا أسفل الصندوق. يشير المقياس إلى النسبة المئوية. تُقرأ النسب المئوية الجديدة من الدخل القياسي، عدد صحيح واحد لكل سطر. يُحدّث المقياس ليعكس كل نسبة مئوية جديدة. إذا قرأ الدخل القياسي السلسلة \*(``XXX\*(''، فإن السطر الأول التالي يُتخذ كنسبة مئوية صحيحة، ثم تُستخدم الأسطر اللاحقة حتى ظهور \*(``XXX\*('' أخرى كمحلق جديد. يخرج المقياس عند الوصول إلى نهاية الملف (EOF) في الدخل القياسي. .IP تشير قيمة \fIpercent\fP إلى النسبة المئوية الأولية المعروضة في العداد. إذا لم تُحدد، فستكون صفرًا. .IP عند الخروج، لا يُكتب أي نص في مخرجات \fB\*p\fP. لا تقبل الودجت أي مدخلات، لذا فإن حالة الخروج هي «موافق» دائمًا. . . .IP "\fB\-\-infobox \fP\fIالنص الارتفاع العرض\fP" صندوق \fBinfo\fP هو في الأساس صندوق \fBرسالة\fP. ومع ذلك، في هذه الحالة، سيخرج \fB\*p\fP فور عرض الرسالة للمستخدم. لا تُمسح الشاشة عند خروج \fB\*p\fP، لكي تبقى الرسالة على الشاشة حتى تمسحها صدفة (shell) المستدعِي لاحقًا. وهذا مفيد عندما تريد إبلاغ المستخدم بأن بعض العمليات جارية وقد تتطلب بعض الوقت للانتهاء. .IP عند الخروج، لا يُكتب أي نص في مخرجات \fB\*p\fP. وتُعاد حالة خروج «موافق». . . .IP "\fB\-\-inputbox \fP\fIالنص الارتفاع العرض [التهيئة]\fP" يعد صندوق \fBالمدخلات\fP مفيدًا عندما تريد طرح أسئلة تتطلب من المستخدم إدخال سلسلة نصية كإجابة. إذا وُفرت قيمة التهيئة (init)، فستُستخدم لتهيئة سلسلة المدخلات. عند إدخال السلسلة، يمكن استخدام مفاتيح \fIbackspace\fP و \fIdelete\fP ومفاتيح الأسهم لتصحيح الأخطاء المطبعية. إذا كانت سلسلة المدخلات أطول مما يتسع له صندوق الحوار، فسيُمرر حقل الإدخال. .IP عند الخروج، ستُطبع سلسلة المدخلات على مخرجات \fB\*p\fP. . . .IP "\fB\-\-inputmenu \fP\fIالنص الارتفاع العرض ارتفاع\-القائمة \fP[ \fIوسم عنصر \fP] \fI...\fP" صندوق \fBinputmenu\fP مشابه جدًا لصندوق \fBالقائمة\fP العادي. لا يوجد سوى فروق قليلة بينهما: .RS .TP 4 1. لا تُوسّط المدخلات آليًا ولكن تُحاذى لليسار. .TP 2. يوجد زر إضافي (يسمى \fIإعادة تسمية\/\fP) مخصص لإعادة تسمية العنصر الحالي عند الضغط عليه. .TP 3. من الممكن إعادة تسمية المدخل الحالي بالضغط على زر \fIإعادة التسمية\fP. عندها سيكتب \fB\*p\fP ما يلي على مخرجات \fB\*p\fP. .IP RENAMED <الوسم> <العنصر> .RE . . .IP "\fB\-\-menu \fP\fItext height width menu\-height \fP[ \fItag item \fP] \fI...\fP" كما يوحي اسمه، صندوق \fBmenu\fP هو صندوق حوار يمكن استخدامه لعرض قائمة خيارات على شكل قائمة ليختار منها المستخدم. تُعرض الخيارات بالترتيب المعطى. يتكون كل إدخال في القائمة من سلسلة \fIوسم\fP وسلسلة \fIعنصر\fP. يعطي \fIالوسم\fP للإدخال اسمًا لتمييزه عن الإدخالات الأخرى في القائمة. أما \fIالعنصر\fP فهو وصف قصير للخيار الذي يمثله الإدخال. يمكن للمستخدم التنقل بين إدخالات القائمة بالضغط على مفاتيح المؤشر، أو الحرف الأول من \fIالوسم\fP كمفتاح اختصار، أو مفاتيح الأرقام من \fI1\fP إلى \fI9\fP. تُعرض إدخالات بعدد \fImenu\-height\fP في القائمة في المرة الواحدة، ولكن ستُمرر القائمة إذا كان هناك مدخلات أكثر من ذلك. .IP عند الخروج، يُطبع \fIوسم\fP إدخال القائمة المختار على خرج \fB\*p\fP. إذا أُعطي الخيار \*(``\fB\-\-help\-button\fP\*(''، فسيُطبع نص المساعدة المقابل إذا اختار المستخدم زر المساعدة. . .nf .IP "\fB\-\-mixedform \fP\fItext height width formheight \fP[ \fIlabel y x item y x flen ilen itype \fP] \fI...\fP" .fi يعرض حوار \fBmixedform\fP نموذجًا يتكون من لصائق وحقول، تمامًا مثل حوار \fB\-\-form\fP. ويختلف عنه بإضافة معامل نوع الحقل إلى وصف كل حقل. تشير كل بتة في النوع إلى سمة للحقل: .RS .TP 5 1 مخفي، مثل حقل كلمة السر. .TP 5 2 للقراءة فقط، مثل اللصيقة. .RE . .IP "\fB\-\-mixedgauge \fP\fIالنص الارتفاع العرض النسبة \fP[ \fIالوسم1 العنصر1 \fP] \fI...\fP" يعرض صندوق \fBmixedgauge\fP مقياسًا أسفل الصندوق. يشير المقياس إلى النسبة المئوية. .IP يعرض أيضًا قائمة بقيم \fIالوسم\/\fP و \fIالعنصر\/\fP في أعلى الصندوق. انظر \*l(3) لقيم الوسوم. .IP يُعرض \fIالنص\fP كعنوان بين القائمة والمقياس. تشير قيمة \fIالنسبة\fP إلى النسبة المئوية الأولية المعروضة في المقياس. .IP لا يوجد توفير لقراءة البيانات من الدخل القياسي كما يفعل \fB\-\-gauge\fP. .IP عند الخروج، لا يُكتب أي نص في مخرجات \fB\*p\fP. لا تقبل الودجت أي مدخلات، لذا فإن حالة الخروج هي «موافق» دائمًا. . .IP "\fB\-\-msgbox \fP\fItext height width\fP" صندوق \fBmessage\fP مشابه جدًا لصندوق \fByes/no\fP. الفرق الوحيد بينهما هو أن صندوق \fBmessage\fP يحتوي فقط على زر \fBموافق\fP واحد. يمكنك استخدام صندوق الحوار هذا لعرض أي رسالة تريدها. بعد قراءة الرسالة، يمكن للمستخدم الضغط على مفتاح \fIENTER\fP ليخرج \fB\*p\fP وتكمل سكربت الصدفة المستدعِي عملها. .IP إذا كانت الرسالة كبيرة جدًا على المساحة، فقد يسمح لك \fB\*p\fP بتمريرها، بشرط أن يكون تنفيذ curses الأساسي قادرًا على ذلك. في هذه الحالة، تُعرض نسبة مئوية في قاعدة الأداة. .IP عند الخروج، لا يُكتب أي نص على خرج \fB\*p\fP. يُوفر زر \*(``موافق\*('' فقط للدخل، ولكن قد تُرجع حالة خروج ESC. . .IP "\fB\-\-pause \fP\fItext height width seconds\fP" يعرض صندوق \fBpause\fP مقياسًا أسفل الصندوق. يشير المقياس إلى عدد الثواني المتبقية حتى نهاية الفاصل الزمني. يخرج الفاصل الزمني عند انتهاء الوقت أو ضغط المستخدم على زر موافق (حالة OK) أو ضغط المستخدم على زر إلغاء أو مفتاح Esc. .IP "\fB\-\-passwordbox \fP\fItext height width [init]\fP" صندوق \fBpassword\fP مشابه لصندوق الإدخال، باستثناء أن النص الذي يدخله المستخدم لا يُعرض. هذا مفيد عند طلب كلمات السر أو معلومات حساسة أخرى. كن على علم بأنه إذا مُرر أي شيء في \*(``init\*(''، فسيكون مرئيًا في جدول عمليات النظام للمتطفلين العاديين. أيضًا، من المربك جدًا للمستخدم تزويده بكلمة سر مبدئية لا يمكنه رؤيتها. لهذه الأسباب، يُنصح بشدة بعدم استخدام \*(``init\*(''. انظر \*(``\fB\-\-insecure\fP\*('' إذا كنت لا تهتم بكلمة سرك. .IP عند الخروج، ستُطبع سلسلة المدخلات على مخرجات \fB\*p\fP. . . .nf .IP "\fB\-\-passwordform \fP\fItext height width formheight \fP[ \fIlabel y x item y x flen ilen \fP] \fI...\fP" .fi هذا مطابق لـ \fB\-\-form\fP باستثناء أن جميع حقول النص تُعامل كأدوات \fBpassword\fP بدلاً من أدوات \fBinputbox\fP. . . .IP "\fB\-\-prgbox \fP\fItext command height width\fP" .IP "\fB\-\-prgbox \fP\fIcommand height width\fP" صندوق \fBprgbox\fP مشابه جدًا لصندوق \fBprogrambox\fP. .IP يُستخدم صندوق الحوار هذا لعرض خرج أمر مُحدد كمعامل لـ \fBprgbox\fP. .IP بعد اكتمال الأمر، يمكن للمستخدم الضغط على مفتاح \fIENTER\fP ليخرج \fB\*l\fP وتكمل سكربت الصدفة المستدعية عملها. .IP إذا أُعطيت أربعة معاملات، فسيُعرض النص تحت العنوان، مفصولاً عن محتويات الملف المتحرك. إذا أُعطيت ثلاثة معاملات فقط، فسيُحذف هذا النص. . . .IP "\fB\-\-programbox \fP\fItext height width\fP" .IP "\fB\-\-programbox \fP\fIheight width\fP" صندوق \fBprogrambox\fP مشابه جدًا لصندوق \fBprogressbox\fP. الفرق الوحيد بينهما هو أن صندوق \fBprogram\fP يعرض زر \fBموافق\fP (ولكن فقط بعد اكتمال الأمر). .IP يُستخدم صندوق الحوار هذا لعرض الخرج المنقول لأمر ما. بعد اكتمال الأمر، يمكن للمستخدم الضغط على مفتاح \fIENTER\fP ليخرج \fB\*l\fP وتكمل سكربت الصدفة المستدعية عملها. .IP إذا أُعطيت ثلاثة معاملات، فسيُعرض النص تحت العنوان، مفصولاً عن محتويات الملف المتحرك. إذا أُعطيت معاملين فقط، فسيُحذف هذا النص. . . .IP "\fB\-\-progressbox \fP\fItext height width\fP" .IP "\fB\-\-progressbox \fP\fIheight width\fP" صندوق \fBprogressbox\fP مشابه لـ \fBtailbox\fP، باستثناء أن .RS .TP 3 أ) بدلاً من عرض محتويات ملف، فإنه يعرض الخرج المنقول لأمر ما و .TP 3 ب) سيخرج عند الوصول إلى نهاية الملف (لا يوجد زر \*(``موافق\*(''). .RE .IP إذا أُعطيت ثلاثة معاملات، فسيُعرض النص تحت العنوان، مفصولاً عن محتويات الملف المتحرك. إذا أُعطيت معاملين فقط، فسيُحذف هذا النص. . . .IP "\fB\-\-radiolist \fP\fItext height width list\-height \fP [ \fItag item status \fP] \fI...\fP" صندوق \fBradiolist\fP مشابه لصندوق \fBmenu\fP. الفرق الوحيد هو أنه يمكنك تحديد الإدخال المختار حاليًا بضبط \fIحالته\fP لتكون \fIon\fP. .IP عند الخروج، يُكتب وسم العنصر المختار في خرج \fB\*p\fP. . . .nf .IP "\fB\-\-rangebox \fP\fItext height width min\-value max\-value default\-value\fP" .fi السماح للمستخدم بالاختيار من نطاق من القيم، مثلاً باستخدام شريط منزلق. يعرض الحوار القيمة الحالية كشريط (مثل حوار gauge). تحرك مفاتيح Tab أو الأسهم المؤشر بين الأزرار والقيمة. عندما يكون المؤشر على القيمة، يمكنك تعديلها عن طريق: .RS .TP 5 حركة المؤشر يسارًا/يمينًا لاختيار رقم لتعديله .TP 5 +/\- محارف لزيادة/نقصان الرقم بمقدار واحد .TP 5 من 0 إلى 9 لضبط الرقم على القيمة المعطاة .RE .IP تُعرف بعض المفاتيح أيضًا في جميع مواضع المؤشر: .RS .TP 5 home/end ضبط القيمة إلى حدها الأقصى أو الأدنى .TP 5 pageup/pagedown زيادة القيمة بحيث يتحرك المنزلق بمقدار عمود واحد .RE . . .IP "\fB\-\-tailbox \fP\fIfile height width\fP" عرض نص من ملف في صندوق حوار، كما في أمر \*(``tail \-f\*(''. التمرير يسارًا/يمينًا باستخدام 'h' و 'l' بأسلوب vi، أو مفاتيح الأسهم. '0' يعيد ضبط التمرير. .IP عند الخروج، لا يُكتب أي نص على خرج \fB\*p\fP. يُوفر زر \*(``موافق\*('' فقط للدخل، ولكن قد تُرجع حالة خروج ESC. . . .IP "\fB\-\-tailboxbg \fP\fIfile height width\fP" عرض نص من ملف في صندوق حوار كمهمة خلفية، كما في أمر \*(``tail \-f &\*(''. التمرير يسارًا/يمينًا باستخدام 'h' و 'l' بأسلوب vi، أو مفاتيح الأسهم. '0' يعيد ضبط التمرير. .IP يعامل \*L المهمة الخلفية بشكل خاص إذا كان هناك أدوات أخرى (\fB\-\-and\-widget\fP) على الشاشة في نفس الوقت. حتى تُغلق تلك الأدوات (مثلاً \*(``موافق\*('')، سيقوم \fB\*p\fP بتشغيل جميع أدوات tailboxbg في نفس العملية، مع فحص التحديثات. يمكنك استخدام tab للتنقل بين الأدوات على الشاشة، وإغلاقها بشكل فردي، مثلاً بالضغط على \fIENTER\fP. بمجرد إغلاق الأدوات التي ليست tailboxbg، يتفرع \fB\*p\fP بنسخة من نفسه إلى الخلفية، ويطبع معرف العملية الخاص به إذا أُعطي الخيار \*(``\fB\-\-no\-kill\fP\*(''. .IP عند الخروج، لا يُكتب أي نص في خرج \fB\*p\fP. يُوفر فقط زر \*(``خروج\*('' للدخل، ولكن قد تُرجع حالة خروج ESC. .IP ملاحظة: الإصدارات الأقدم من \fB\*p\fP كانت تتفرع فورًا وتحاول تحديث الشاشة بشكل فردي. بالإضافة إلى كون ذلك سيئًا للأداء، فقد كان غير عملي. بعض السكربتات القديمة قد لا تعمل بشكل صحيح مع نظام الفحص (polled) هذا. . . .IP "\fB\-\-textbox \fP\fIfile height width\fP" يتيح لك صندوق \fBtext\fP عرض محتويات ملف نصي في صندوق حوار. إنه مثل عارض ملفات نصية بسيط. يمكن للمستخدم التنقل خلال الملف باستخدام المؤشر، ومفاتيح page\-up، و page\-down، و \fIHOME/END\fP المتوفرة في معظم لوحات المفاتيح. إذا كانت الأسطر طويلة جدًا ليتم عرضها في الصندوق، يمكن استخدام مفتاحي \fIاليسار/اليمين\fP لتمرير منطقة النص أفقيًا. يمكنك أيضًا استخدام مفاتيح h و j و k و l بأسلوب vi بدلاً من مفاتيح المؤشر، و B أو N بدلاً من مفتاحي page\-up و page\-down. التمرير للأعلى/الأسفل باستخدام 'k' و 'j' بأسلوب vi، أو مفاتيح الأسهم. التمرير لليسار/اليمين باستخدام 'h' و 'l' بأسلوب vi، أو مفاتيح الأسهم. '0' يعيد ضبط التمرير لليسار/اليمين. ولمزيد من الراحة، تتوفر أيضًا وظائف بحث للأمام وللخلف بأسلوب vi. .IP عند الخروج، لا يُكتب أي نص في خرج \fB\*p\fP. يُوفر فقط زر \*(``خروج\*('' للدخل، ولكن قد تُرجع حالة خروج ESC. . . .IP "\fB\-\-timebox \fP\fItext height [width hour minute second]\fP" يُعرض حوار يسمح لك باختيار الساعة والدقيقة والثانية. إذا كانت قيم الساعة أو الدقيقة أو الثانية مفقودة أو سالبة، تُستخدم القيم المقابلة للتاريخ الحالي. يمكنك زيادة أو نقصان أي منها باستخدام أسهم اليسار والأعلى واليمين والأسفل. استخدم tab أو backtab للتنقل بين النوافذ. .IP عند الخروج، تُطبع النتيجة بصيغة ساعة:دقيقة:ثانية. يمكن تجاوز هذه الصيغة باستخدام خيار \fB\-\-time\-format\fP. . . .IP "\fB\-\-treeview \fP\fItext height width list\-height \fP[ \fItag item status depth \fP] \fI...\fP" عرض بيانات منظمة كشجرة. تحتوي كل مجموعة من البيانات على وسم، والنص المراد عرضه للعنصر، وحالته (\*(``on\*('' أو \*(``off\*('') وعمق العنصر في الشجرة. .IP يمكن اختيار عنصر واحد فقط (مثل \fBradiolist\fP). لا يُعرض الوسم. .IP عند الخروج، يُكتب وسم العنصر المختار في خرج \fB\*p\fP. . . .IP "\fB\-\-yesno \fP\fItext height width\fP" سيُعرض صندوق حوار \fByes/no\fP بحجم \fIالارتفاع\fP صفوف في \fIالعرض\fP أعمدة. تُعرض السلسلة المحددة بواسطة \fIالنص\fP داخل صندوق الحوار. إذا كانت هذه السلسلة طويلة جدًا بحيث لا تسعها سطر واحد، فسيتم تقسيمها آليًا إلى أسطر متعددة في الأماكن المناسبة. يمكن أن يحتوي \fIالنص\fP أيضًا على السلسلة الفرعية "\fI\en\fP" أو محارف سطر جديد `\fI\en\fP' للتحكم في كسر الأسطر صراحةً. صندوق الحوار هذا مفيد لطرح أسئلة تتطلب من المستخدم الإجابة بنعم أو لا. يحتوي صندوق الحوار على زر \fBنعم\fP وزر \fBلا\fP، يمكن للمستخدم التبديل بينهما بالضغط على مفتاح \fITAB\fP. .IP عند الخروج، لا يُكتب أي نص في خرج \fB\*p\fP. بالإضافة إلى رموز الخروج لـ \*(``نعم\*('' و \*(``لا\*('' (انظر التشخيصات)، قد تُرجع حالة خروج ESC. .IP تطابق الرموز المستخدمة لـ \*(``نعم\*('' و \*(``لا\*('' تلك المستخدمة لـ \*(``موافق\*('' و \*(``إلغاء\*('')، داخليًا لا يوجد فرق بينها. . .\" ************************************************************************ .SS "خيارات مهجورة" .\" from cdialog 0.9a (Pako) .IP \fB\-\-beep\fP كان هذا يُستخدم لإخبار cdialog الأصلي بضرورة إصدار صوت تنبيه عندما تقوم العمليات المنفصلة لأداة tailboxbg بإعادة رسم الشاشة. . .\" from cdialog 0.9a (Pako) .IP \fB\-\-beep\-after\fP إصدار صوت تنبيه بعد أن يكمل المستخدم الأداة بالضغط على أحد الأزرار. . .\" ************************************************************************ .SS "خيارات المساحات البيضاء" يمكن استخدام هذه الخيارات لتحويل المسافات البيضاء (مسافة، علامة جدولة، سطر جديد) أثناء قراءة dialog للبرنامج النصي: .RS \fB\-\-cr\-wrap\fP، و \fB\-\-no\-collapse\fP، و \fB\-\-no\-nl\-expand\fP، و \fB\-\-trim\fP .RE .PP الخيارات ليست مستقلة عن بعضها البعض: .bP يتحقق \fB\*L\fP مما إذا كان البرنامج النصي يحتوي على \*(``\en\*('' واحدة على الأقل (ما لم يُضبط الخيار \fB\-\-no\-nl\-expand\fP) وسيتجاهل خياري \fB\-\-no\-collapse\fP و \fB\-\-trim\fP. .bP بعد التحقق من \*(``\en\*('' وخيار \fB\-\-no\-nl\-expand\fP، يتعامل \fB\*l\fP مع خيار \fB\-\-trim\fP. .IP إذا فُعّل خيار \fB\-\-trim\fP، يتجاهل \fB\*l\fP خيار \fB\-\-no\-collapse\fP. حيث يُحول تسلسلات علامات الجدولة والمسافات (والأسطر الجديدة ما لم يُضبط \fB\-cr\-wrap\fP) إلى مسافة واحدة. .bP إذا لم تنطبق أي من حالتي \*(``\en\*('' أو \fB\-\-trim\fP، يتحقق \fB\*l\fP من خيار \fB\-\-no\-collapse\fP ليقرر ما إذا كان سيقلص تسلسلات علامات الجدولة والمسافات إلى مسافة واحدة. .IP في هذه الحالة، يتجاهل \fB\*l\fP خيار \fB\-\-cr\-wrap\fP ولا يعدل الأسطر الجديدة. .PP بالأخذ بهذه التبعيات في الحسبان، إليك جدول يلخص السلوك لمختلف تركيبات الخيارات. يفترض الجدول أن البرنامج النصي يحتوي على \*(``\en\*('' واحدة على الأقل عندما لا يكون خيار \fB\-\-no\-nl\-expand\fP مضبوطاً. .na .RS 5 .TS tab(/) ; lB lB lB lB lB lB lB lB lB lB _ _ _ _ _ lw4 lw4 lw4 lw4 lw29. cr\-/no\-/no\-/trim/النتيجة wrap/collapse/nl\-expand no/no/no/no/T{ تحويل علامة الجدولة إلى مسافة. تحويل السطر الجديد إلى مسافة. تحويل \*(``\en\*('' إلى سطر جديد. T} no/no/no/نعم/T{ تحويل علامة الجدولة إلى مسافة. تحويل السطر الجديد إلى مسافة. تحويل \*(``\en\*('' إلى سطر جديد. T} no/no/نعم/no/T{ تحويل علامة الجدولة إلى مسافة. عدم تحويل السطر الجديد إلى مسافة. تحويل المسافات المتعددة إلى مسافة واحدة. إظهار \*(``\en\*('' حرفياً. T} no/no/نعم/نعم/T{ تحويل علامة الجدولة إلى مسافة. تحويل المسافات المتعددة إلى مسافة واحدة. تحويل السطر الجديد إلى مسافة. إظهار \*(``\en\*('' حرفياً. T} no/نعم/no/no/T{ تحويل السطر الجديد إلى مسافة. تحويل \*(``\en\*('' إلى سطر جديد. T} no/نعم/no/نعم/T{ تحويل السطر الجديد إلى مسافة. تحويل \*(``\en\*('' إلى سطر جديد. T} no/نعم/نعم/no/T{ عدم تحويل السطر الجديد إلى مسافة. عدم تقليص الفراغات المتعددة. إظهار \*(``\en\*('' حرفياً. T} no/نعم/نعم/نعم/T{ تحويل المسافات المتعددة إلى مسافة واحدة. تحويل السطر الجديد إلى مسافة. إظهار \*(``\en\*('' حرفياً. T} نعم/no/no/no/T{ تحويل علامة الجدولة إلى مسافة. الالتفاف عند السطر الجديد. تحويل \*(``\en\*('' إلى سطر جديد. T} نعم/no/no/نعم/T{ تحويل علامة الجدولة إلى مسافة. الالتفاف عند السطر الجديد. تحويل \*(``\en\*('' إلى سطر جديد. T} نعم/no/نعم/no/T{ تحويل علامة الجدولة إلى مسافة. عدم تحويل السطر الجديد إلى مسافة. تحويل المسافات المتعددة إلى مسافة واحدة. إظهار \*(``\en\*('' حرفياً. T} نعم/no/نعم/نعم/T{ تحويل علامة الجدولة إلى مسافة. تحويل المسافات المتعددة إلى مسافة واحدة. الالتفاف عند السطر الجديد. إظهار \*(``\en\*('' حرفياً. T} نعم/نعم/no/no/T{ الالتفاف عند السطر الجديد. تحويل \*(``\en\*('' إلى سطر جديد. T} نعم/نعم/no/نعم/T{ الالتفاف عند السطر الجديد. تحويل \*(``\en\*('' إلى سطر جديد. T} نعم/نعم/نعم/no/T{ عدم تحويل السطر الجديد إلى مسافة. عدم تقليص الفراغات المتعددة. إظهار \*(``\en\*('' حرفياً. T} نعم/نعم/نعم/نعم/T{ تحويل المسافات المتعددة إلى مسافة واحدة. الالتفاف عند السطر الجديد. إظهار \*(``\en\*('' حرفياً. T} .TE .RE .ad . .\" ************************************************************************ .SH "تكوين وقت التشغيل" .TP 4 1. أنشئ ملف تكوين نموذجياً بكتابة: .LP .Ex \*p \-\-create\-rc \fIfile\fP .Ee .TP 4 2. عند البدء، يحدد \fB\*p\fP الإعدادات التي سيستخدمها كالتالي: .RS .TP 4 أ) إذا كان متغير البيئة \fBDIALOGRC\fP مضبوطاً، فإن قيمته تحدد اسم ملف التكوين. .TP 4 ب) إذا لم يُعثر على الملف المذكور في (أ)، يُستخدم الملف \fI$HOME/.dialogrc\fP كملف تكوين. .TP 4 ج) إذا لم يُعثر على الملف المذكور في (ب)، حاول استخدام ملف GLOBALRC المحدد وقت التصريف، أي \fI/etc/dialogrc\fP. .TP 4 د) إذا لم يُعثر على الملف المذكور في (ج)، تُستخدم القيم المبدئية المصرّفة. .RE .TP 4 3. حرر ملف التكوين النموذجي وانسخه إلى مكان يمكن لـ \fB\*p\fP العثور عليه، كما هو مذكور في الخطوة 2 أعلاه. . .\" ************************************************************************ .SH "ارتباطات المفاتيح" يمكنك تجاوز أو الإضافة إلى ارتباطات المفاتيح في \fB\*p\fP عبر الإضافة إلى ملف التكوين. يقوم أمر \fBbindkey\fP الخاص بـ \fB\*L\fP بربط مفاتيح مفردة بترميزه الداخلي. .Ex bindkey \fIwidget\fP \fIcurses_key\fP \fIdialog_key\fP .Ee .PP يمكن أن يكون اسم \fIwidget\fP هو \*(``*\*('' (لكل الودجات)، أو ودجات محددة مثل \fBtextbox\fP. تتجاوز ارتباطات الودجات المحددة ارتباطات \*(``*\*(''. وتتجاوز الارتباطات المحددة من قِبل المستخدم الارتباطات المدمجة. .PP يمكن التعبير عن \fIcurses_key\fP بأشكال مختلفة: .bP قد يكون أي من الأسماء المشتقة من \fBcurses.h\fP، مثل \*(``HELP\*('' من \*(``KEY_HELP\*(''. .bP يتعرف \fB\*L\fP أيضاً على محارف تحكم ANSI مثل \*(``^A\*(''، و \*(``^?\*(''، بالإضافة إلى عناصر تحكم C1 مثل \*(``~A\*('' و \*(``~?\*(''. .bP أخيراً، يسمح \fB\*l\fP بهروب الشرطة المائلة العكسية كما في لغة C. يمكن أن تكون قيم محارف ثمانية مثل \*(``\e033\*('' (محرف هروب ASCII)، أو المحارف المدرجة في هذا الجدول: .RS 10 .TS tab(/) ; lI lI _ _ l l . مهروب/الفعلي \eb/backspace \ef/تغذية الصفحة \en/سطر جديد (تغذية السطر) \er/رجوع العربة \es/مسافة \et/tab \e^/\*(``^\*('' (إشارة الإقحام) \e?/\*(``?\*('' (علامة استفهام) \e\e/\*(``\e\*('' (شرطة مائلة عكسية) _ .TE .RE .PP تتوافق أسماء أكواد المفاتيح الداخلية لـ \fB\*L\fP مع النوع \fBDLG_KEYS_ENUM\fP في \fBdlg_keys.h\fP، مثل \*(``HELP\*('' من \*(``DLGK_HELP\*(''. .SS "أسماء الودجات" تحتوي بعض الودجات (مثل formbox) على منطقة يمكن فيها تحرير الحقول. تُدار هذه الحقول في نافذة فرعية للودجة، وقد يكون لها ارتباطات مفاتيح منفصلة عن الودجة الرئيسة لأن النوافذ الفرعية مسجلة باسم مختلف. .RS 5 .TS tab(/) ; lI lI lI _ _ _ l l l . الودجة/اسم النافذة/اسم النافذة الفرعية calendar/calendar checklist/checklist editbox/editbox/editbox2 form/formbox/formfield fselect/fselect/fselect2 inputbox/inputbox/inputbox2 menu/menubox/menu msgbox/msgbox pause/pause progressbox/progressbox radiolist/radiolist tailbox/tailbox textbox/textbox/searchbox timebox/timebox yesno/yesno _ .TE .RE .PP بعض الودجات هي في الواقع ودجات أخرى، تستخدم إعدادات داخلية لتعديل السلوك. وتستخدم هذه الودجات نفس اسم الودجة الفعلية: .RS 5 .TS tab(/) ; lI lI _ _ l l . الودجة/الودجة الفعلية dselect/fselect infobox/msgbox inputmenu/menu mixedform/form passwordbox/inputbox passwordform/form prgbox/progressbox programbox/progressbox tailboxbg/tailbox _ .TE .RE .SS "ارتباطات مدمجة" لا تسرد صفحة الدليل هذه ارتباطات المفاتيح لكل ويدجت (widget)، لأنه يمكن الحصول على هذه المعلومات التفصيلية عبر تشغيل \fB\*p\fP. إذا ضبطت خيار \fB\-\-trace\fP، فسيكتب \fB\*p\fP معلومات ارتباط المفاتيح لكل ويدجت عند تسجيلها. .PP هناك بعض الارتباطات المدمجة، والمستقلة عن ويدجت بعينها: .TS tab(/) ; lI lI _ _ l l . المفتاح/الغرض Control\-I/تنقل جدولي للأمام، مثلاً مع \fB\-\-tailboxbg\fP. Control\-L/يعيد رسم الشاشة. Control\-T/يكتب تفريغاً للشاشة (screen dump) في ملف \fB\-\-trace\fP. Control\-V/يعطل المفاتيح الخاصة لبايت الإدخال التالي. DLGK_FIELD_NEXT/تنقل جدولي للأمام، مثل Control\-I. DLGK_FIELD_PREV/تنقل جدولي للخلف، مثل back\-tab. DLGK_HELPFILE/يعرض ملف المساعدة المحدد عبر \fB\-\-hfile\fP. KEY_BTAB/تنقل جدولي للخلف، مثلاً مع \fB\-\-tailboxbg\fP. _ .TE .SS مثال يستخدم \fB\*p\fP عادةً مفاتيح مختلفة للتنقل بين الأزرار وجزء التحرير في الحوار مقابل التنقل داخل جزء التحرير نفسه. أي أن مفتاح tab (و back\-tab) يتنقل بين الأزرار (أو بين الأزرار وجزء التحرير)، بينما تتنقل مفاتيح الأسهم بين الحقول داخل جزء التحرير. وتُعامل علامات الجدولة (Tabs) أيضاً كحالة خاصة للتنقل بين الويدجت، على سبيل المثال عند استخدام عدة ويدجت من نوع tailboxbg. .PP قد يرغب بعض المستخدمين في استخدام نفس المفتاح للتنقل داخل جزء التحرير وللتنقل بين الأزرار. ويدجت الاستمارة (form) مكتوبة لتدعم هذا النوع من إعادة تعريف المفاتيح، عبر إضافة مجموعة خاصة في \fBdlgk_keys.h\fP لـ \*(``form\*('' (يسار/يمين/التالي/السابق). إليك مثال على ارتباط يوضح كيفية القيام بذلك: .Ex bindkey formfield TAB form_NEXT bindkey formbox TAB form_NEXT bindkey formfield BTAB form_prev bindkey formbox BTAB form_prev .Ee .PP هذا النوع من إعادة التعريف لن يكون مفيداً في الويدجت الأخرى، مثل التقويم (calendar)، نظراً للعدد الكبير المحتمل من الحقول التي يجب التنقل بينها. . .SH "حالة الخروج" حالة الخروج عرضة للتجاوز بواسطة متغيرات البيئة. القيم المبدئية ومتغيرات البيئة المقابلة التي يمكنها تجاوزها هي: .TP 5 0 إذا ضُغط على زر \fBYES\fP أو \fBOK\fP (DIALOG_OK). .TP 5 1 إذا ضُغط على زر \fBNo\fP أو \fBCancel\fP (DIALOG_CANCEL). .TP 5 2 إذا ضُغط على زر \fBHelp\fP (DIALOG_HELP)، .br إلا كما هو مذكور أدناه بخصوص DIALOG_ITEM_HELP. .TP 5 3 إذا ضُغط على زر \fBExtra\fP (DIALOG_EXTRA). .TP 5 4 إذا ضُغط على زر \fBHelp\fP، .br وضُبط خيار \fB\-\-item\-help\fP .br وضُبط متغير البيئة DIALOG_ITEM_HELP على 4. .IP بينما يمكن تجاوز أي من رموز الخروج باستخدام متغيرات البيئة، فقد وُضعت هذه الحالة الخاصة في 2004 لتبسيط التوافقية. يستخدم \fB\*L\fP DIALOG_ITEM_HELP (4) داخلياً، ولكن ما لم يُضبط متغير البيئة أيضاً، فإنه يغير ذلك إلى DIALOG_HELP (2) عند الخروج. .TP 5 5 إذا انتهت المهلة وضُبط متغير \fBDIALOG_TIMEOUT\fP على 5. .TP 5 \-1 .\" ************************************************************************ في حال حدوث أخطاء داخل \fB\*p\fP (DIALOG_ERROR) أو خروج \fB\*p\fP بسبب الضغط على مفتاح \fIESC\fP (DIALOG_ESC). .SH البيئة .TP 15 \fBDIALOGOPTS\fP عرّف هذا المتغير لتطبيق أي من الخيارات الشائعة على كل ويدجت. يُعاد تعيين معظم الخيارات الشائعة قبل معالجة كل ويدجت. إذا ضبطت الخيارات في متغير البيئة هذا، فسيتم تطبيقها على حالة \fB\*p\fP بعد إعادة التعيين. وكما في خيار \*(``\fB\-\-file\fP\*(''، تُفسر علامات الاقتباس المزدوجة والشرطات المائلة الخلفية. .IP لا يُعتبر خيار \*(``\fB\-\-file\fP\*('' خياراً شائعاً (لذا لا يمكنك تضمينه داخل متغير البيئة هذا). .TP 15 \fBDIALOGRC\fP عرّف هذا المتغير إذا كنت تريد تحديد اسم ملف التكوين المراد استخدامه. .TP 15 \fBDIALOG_CANCEL\fP .TP 15 \fBDIALOG_ERROR\fP .TP 15 \fBDIALOG_ESC\fP .TP 15 \fBDIALOG_EXTRA\fP .TP 15 \fBDIALOG_HELP\fP .TP 15 \fBDIALOG_ITEM_HELP\fP .TP 15 \fBDIALOG_TIMEOUT\fP .TP 15 \fBDIALOG_OK\fP عرّف أياً من هذه المتغيرات لتغيير رمز الخروج عند .RS .bP الإلغاء (1)، .bP الخطأ (\-1)، .bP مفتاح ESC (255)، .bP إضافي (3)، .bP مساعدة (2)، .bP مساعدة مع \fB\-\-item\-help\fP (2)، .bP انتهاء المهلة (5)، أو .bP الموافقة (0). .RE .IP عادةً لا تستطيع سكربتات الصدفة (shell) التمييز بين \-1 و 255. .TP 15 \fBDIALOG_TTY\fP .\" ************************************************************************ اضبط هذا المتغير على \*(``1\*('' لتوفير التوافقية مع الإصدارات الأقدم من \fB\*p\fP التي كانت تفترض أنه إذا قام السكربت بإعادة توجيه المخرجات القياسية، فإن خيار \*(``\fB\-\-stdout\fP\*('' قد أُعطي. .SH الملفات .TP 20 \fI$HOME/.dialogrc\fP .\" ************************************************************************ ملف التكوين المبدئي .SH "القابلية للنقل" يعمل \fB\*L\fP مع X/Open curses. ومع ذلك، فإن بعض التنفيذات بها نواقص: .RS 3 .bP لا تفتح HPUX curses (وربما غيرها) الطرفية بشكل صحيح لوظيفة \fInewterm\fP. هذا يتعارض مع خيار \fB\-\-input\-fd\fP الخاص بـ \fB\*p\fP، عن طريق منع التعرف على مفاتيح المؤشر وتسلسلات الهروب المماثلة. .bP لدى NetBSD 5.1 curses دعم غير مكتمل للمحارف العريضة (wide\-characters). سيُبنى \fB\*p\fP، ولكن لن تُعرض جميع الأمثلة بشكل صحيح. .RE .\" ************************************************************************ .SH التوافقية قد ترغب في كتابة سكربتات تعمل مع \*(``نسخ\*('' \fB\*l\fP الأخرى. .SS "Original Dialog" أولاً، يجب مراعاة برنامج \fB\*p\fP \*(``الأصلي\*('' (الإصدارات 0.3 إلى 0.9). كان يحتوي على بعض الخيارات المكتوبة بشكل خاطئ (أو غير متسقة). يقوم برنامج \fB\*p\fP بربط تلك الخيارات المهجورة بالخيارات المفضلة. وهي تشمل: .RS .TS tab(/) ; lI lI _ _ l l. خيار/المعالجة \fB\-\-beep\-after\fP/ignored \fB\-\-guage\fP/رُبط بـ \fB\-\-gauge\fP _ .TE .RE .SS Xdialog هذا تطبيق لبيئة X، وليس برنامجاً طرفياً. مع بعض العناية، من الممكن كتابة سكربتات مفيدة تعمل مع كل من \fBXdialog\fP و \fB\*p\fP. .PP يتجاهل برنامج \fB\*p\fP هذه الخيارات التي يتعرف عليها \fBXdialog\fP: .RS .TS tab(/) ; lI lI _ _ l l. خيار/المعالجة \fB\-\-allow\-close\fP/ignored \fB\-\-auto\-placement\fP/ignored \fB\-\-fixed\-font\fP/ignored \fB\-\-icon\fP/ignored \fB\-\-keep\-colors\fP/ignored \fB\-\-no\-close\fP/ignored \fB\-\-no\-cr\-wrap\fP/ignored \fB\-\-screen\-center\fP/ignored \fB\-\-separator\fP/مُسند إلى \fB\-\-separate\-output\fP \fB\-\-smooth\fP/ignored \fB\-\-under\-mouse\fP/ignored \fB\-\-wmclass\fP/ignored _ .TE .RE .PP يحتوي دليل \fBXdialog\fP على قسم يناقش توافقيته مع \fB\*p\fP. توجد بعض الاختلافات التي لم تُعرض في الدليل. على سبيل المثال، تذكر توثيقات html ما يلي .RS .PP ملاحظة: استخدمت إصدارات Xdialog السابقة \*(``\en\*('' (تغذية السطر) كفاصل للنتائج في ودجة قائمة الاختيار (checklist)؛ غُيّر هذا إلى \*(``/\*('' في إصدار Xdialog v1.5.0 لجعله متوافقًا مع (c)dialog. في سكريبتاتك القديمة التي تستخدم قائمة اختيار Xdialog، سيتعين عليك إضافة الخيار \fB\-\-separate\-output\fP قبل الخيار \fB\-\-checklist\fP. .RE .PP لم يستخدم \fB\*L\fP فاصلاً مختلفًا؛ ومن المرجح أن الاختلاف كان بسبب ارتباك يتعلق ببعض السكريبتات. .SS Whiptail ثم هناك \fBwhiptail\fP. لأغراض عملية، تديره دبيان (يُنجز القليل جدًا من العمل بواسطة مطوري المنبع). تدعي توثيقاته (README.whiptail) ما يلي .Ex \fBwhiptail\fP(1) هو بديل خفيف لبرنامج \*p(1)، لتوفير صناديق حوار لسكربتات الصدفة. بُني على مكتبة النوافذ newt بدلاً من مكتبة ncurses، مما يسمح له بأن يكون أصغر حجمًا في البيئات المضمنة مثل برامج التثبيت، وأقراص الإنقاذ، إلخ. صُمم whiptail ليكون بديلًا متوافقًا مع \*p، ولكنه يحتوي على ميزات أقل: فبعض صناديق الحوار غير مُنفذة، مثل tailbox وtimebox وcalendarbox، وغيرها. .Ee .PP بمقارنة الأحجام الفعلية (دبيان الاختبارية، 2007/1/10): إجمالي أحجام \fBwhiptail\fP ومكتبات newt وpopt وslang هو 757 كيلوبايت. الرقم المقابل لبرنامج \fB\*p\fP (باحتساب ncurses) هو 520 كيلوبايت. تجاهل الفقرة الأولى. .PP الفقرة الثانية مضللة، لأن \fBwhiptail\fP لا يعمل أيضًا مع الخيارات الشائعة لبرنامج \fB\*p\fP، مثل صندوق القياس (gauge). برنامج \fBwhiptail\fP أقل توافقًا مع \fB\*p\fP من برنامج dialog 0.4 الأصلي الذي يعود لمنتصف التسعينيات. .PP يستعير دليل \fBwhiptail\fP ميزات من \fB\*p\fP، على سبيل المثال، لكنه ومن الغريب يستشهد فقط بإصدارات \fB\*p\fP حتى 0.4 (1994) كمصدر. أي أن دليله يشير إلى ميزات استُعيرت من إصدارات أحدث من \fB\*p\fP، مثل، .bP \fB\-\-gauge\fP (منذ 0.5) .bP \fB\-\-passwordbox\fP (من تغييرات دبيان في 1999)، .bP \fB\-\-default\-item\fP (من \fB\*p\fP 2000/02/22)، .bP \fB\-\-output\-fd\fP (من \fB\*p\fP 2002/08/14). .PP تستخدم دبيان \fBwhiptail\fP كبديل رسمي لبرنامج \fB\*p\fP. .PP يتجاهل برنامج \fB\*p\fP أو يسند هذه الخيارات التي يتعرف عليها \fBwhiptail\fP: .RS .TS tab(/) ; lI lI _ _ l l. خيار/المعالجة \fB\-\-cancel\-button\fP/مُسند إلى \fB\-\-cancel\-label\fP \fB\-\-fb\fP/ignored \fB\-\-fullbutton\fP/ignored \fB\-\-no\-button\fP/مُسند إلى \fB\-\-no\-label\fP \fB\-\-nocancel\fP/مُسند إلى \fB\-\-no\-cancel\fP \fB\-\-noitem\fP/مُسند إلى \fB\-\-no\-items\fP \fB\-\-notags\fP/مُسند إلى \fB\-\-no\-tags\fP \fB\-\-ok\-button\fP/مُسند إلى \fB\-\-ok\-label\fP \fB\-\-scrolltext\fP/مُسند إلى \fB\-\-scrollbar\fP \fB\-\-topleft\fP/مُسند إلى \fB\-\-begin 0 0\fP \fB\-\-yes\-button\fP/مُسند إلى \fB\-\-yes\-label\fP _ .TE .RE .LP توجد اختلافات مرئية لم تُعالج بواسطة خيارات سطر الأوامر: .bP يضع \fB\*p\fP القوائم في منتصف النافذة. بينما يضع \fBwhiptail\fP القوائم عادةً بمحاذاة الهامش الأيسر. .bP يستخدم \fBwhiptail\fP الأقواس الزاوية (\*(``<\*('' و \*(``>\*('') لتمييز الأزرار. بينما يستخدم \fB\*p\fP الأقواس المربعة. .bP يميز \fBwhiptail\fP حدود العناوين الفرعية بأشرطة عمودية. بينما لا يميز \fB\*p\fP الحدود. .bP .\" ************************************************************************ يحاول \fBwhiptail\fP تمييز الخلايا العلوية والسفلية لشريط التمرير بأسهم للأعلى وللأسفل. وعندما لا يتمكن من فعل ذلك، فإنه يملأ تلك الخلايا بلون خلفية شريط التمرير مما يربك المستخدم. بينما يستخدم \fB\*p\fP مساحة شريط التمرير بالكامل، وبذلك يحصل على دقة أفضل. .SH العلل .\" ************************************************************************ ربما. .SH أمثلة .\" ************************************************************************ تحتوي مصادر \fB\*p\fP على عدة نماذج لكيفية استخدام خيارات الصناديق المختلفة وكيف تبدو. ما عليك سوى إلقاء نظرة على المجلد \fBsamples/\fP في المصدر. .SH المؤلفون Thomas E.\& Dickey (تحديثات الإصدار 0.9b وما بعده) .LP Kiran Cherupally \(en ودجات النماذج المختلطة والمقاييس المختلطة. .LP Tobias C.\& Rittweiler .LP Valery Reznic \(en ودجات النماذج وصناديق التقدم (progressbox). .LP طوع Yura Kalinichenko ودجة القياس (gauge) لتكون \*(``pause\*('' (لبث). .PP هذا العمل هو إعادة كتابة (إلا ما لزم لتوفير التوافقية) للإصدار السابق من \fB\*p 0.9a\fP، والذي يسرد كمؤلفين: .bP Savio Lam \(en الإصدار 0.3، \*(``dialog\*('' .bP Stuart Herbert \(en رقعة للإصدار 0.4 .bP Marc Ewing \(en ودجة القياس (gauge). .bP Pasquale De Marco \*(``Pako\*('' \(en الإصدار 0.9a، \*(``cdialog\*('' .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .