table of contents
| DIALOG() | أوامر المستخدم | DIALOG() |
الاسم¶
dialog - يعرض صناديق حوار من سكربتات الصدفة
موجز¶
dialog --clear
dialog --create-rc الملف
dialog --print-maxsize
dialog
الخيارات
الشائعة
خيارات
الصندوق
الوصف¶
Dialog هو برنامج يتيح لك طرح مجموعة متنوعة من الأسئلة أو عرض رسائل باستخدام صناديق حوار من سكربت صدفة. أنواع صناديق الحوار هذه مُضمّنة (رغم أنه ليس بالضرورة أن يكون جميعها قد جُمّع في dialog):
buildlist، وcalendar، وchecklist، وdselect، وeditbox، وform، وfselect، وgauge، وinfobox، وinputbox، وinputmenu، وmenu، وmixedform، وmixedgauge، وmsgbox (رسالة)، وpasswordbox، وpasswordform، وpause، وprgbox، وprogrambox، وprogressbox، وradiolist، وrangebox، وtailbox، وtailboxbg، وtextbox، وtimebox، وtreeview، وyesno (نعم/لا).
يمكنك وضع أكثر من صندوق حوار في سكربت واحد:
- استخدم علامة "--and-widget" لإجبار dialog على الانتقال إلى الحوار التالي ما لم تضغط على مفتاح ESC للإلغاء، أو
- ببساطة أضف علامات صندوق الحوار التالي، مكونًا سلسلة. يتوقف Dialog عن التسلسل عندما يكون رمز العودة من حوار ما غير صفري، مثل 'إلغاء' أو 'لا' (انظر التشخيصات).
ستقوم بعض الودجات، مثل checklist، بكتابة نص إلى مخرجات dialog. عادةً ما يكون ذلك عبر الخطأ القياسي، ولكن توجد خيارات لتغيير هذا: “--output-fd”، و“--stderr” و“--stdout”. لا يُكتب أي نص إذا ضُغط على زر الإلغاء (أو ESC)؛ ويخرج dialog فورًا في تلك الحالة.
الخيارات¶
تبدأ جميع الخيارات بـ “--” (واصلتا ASCII، لمصلحة من يستخدمون أنظمة ذات دعم محلي غير سوي).
تُستخدم “--” بمفردها كعلامة هروب، أي أن العلامة التالية في سطر الأوامر لا تُعامل كخيار. يختلف هذا عن getopt(1)، الذي يستخدم تلك العلامة ليعامل ما تبقى من علامات كـ معاملات وليس خيارات.
dialog --title -- --Not an option
dialog --title This -- --title is not an option
لا يستخدم Dialog أي معاملات، ويستخدم محلل خيارات خاص به.
عند تكرار خيار شائع (مثل الخيارات التي لا تتبع ودجة)، يُستخدم آخر خيار عُثر عليه. تُعامل الخيارات المنطقية معاملة خاصة بحيث يمكن إلغاؤها، بإضافة (أو حذف) معدل “no” بعد البادئة “--”. على سبيل المثال، --no-shadow موثق هنا، ولكن --shadow مقبول أيضًا.
يخبر الخيار “--args” البرنامج dialog بسرد معاملات سطر الأوامر إلى الخطأ القياسي. هذا مفيد عند تنقيح السكربتات المعقدة باستخدام “--” و“--file”، بما أن سطر الأوامر قد تُعاد كتابته عند توسع هذه الخيارات.
يخبر الخيار “--file” البرنامج dialog بقراءة المعاملات من الملف المسمى كقيمة له.
تُهمل الفراغات التي ليست داخل علامات اقتباس مزدوجة (استخدم الواصلات المائلة لاقتباس المحارف الفردية). تُدرج النتيجة في سطر الأوامر، مستبدلةً “--file” وقيمة خياره. ويُستأنف تفسير سطر الأوامر من تلك النقطة. إذا بدأ ملف_المعاملات بـ “&”، فسيفسر dialog النص التالي كرقم واصف ملف بدلاً من اسم ملف.
تقبل معظم الودجات معاملي الطول والعرض، واللذين يمكن استخدامهما لضبط حجم الودجة آليًا لاستيعاب قيم رسالة المطالبة متعددة الأسطر:
- إذا كان المعامل سالبًا، يستخدم dialog حجم الشاشة.
- إذا كان المعامل صفرًا، يستخدم dialog أقل حجم للودجة لعرض المطالبة والبيانات.
- خلاف ذلك، يستخدم dialog الحجم المعطى للودجة.
خيارات شائعة¶
تُصفر معظم الخيارات الشائعة قبل معالجة كل ودجة.
- --ascii-lines
- بدلاً من رسم خطوط رسومية حول الصناديق، تُرسم محارف ASCII مثل “+” و“-” في نفس المكان. انظر أيضًا “--no-lines”.
- --aspect النسبة
- يمنحك هذا بعض التحكم في أبعاد الصندوق عند استخدام التحجيم الآلي (بتحديد 0 للطول والعرض). تمثل النسبة العرض / الطول. القيمة المبدئية هي 9، مما يعني عرض 9 محارف لكل سطر واحد من الطول.
- --backtitle العنوان_الخلفي
- يحدد سلسلة العنوان_الخلفي لتُعرض على الخلفية، في الجزء العلوي من الشاشة.
- --begin y x
- حدد موضع الزاوية العلوية اليسرى لصندوق الحوار على الشاشة.
- --cancel-label سلسلة
- تجاوز التسمية المستخدمة لأزرار “إلغاء”.
- --clear
- يمسح شاشة الودجة، محتفظًا فقط بخلفية screen_color. استخدم هذا عند دمج الودجات مع “--and-widget” لمحو محتويات الودجة السابقة من الشاشة، حتى لا تظهر تحت محتويات الودجة التالية. افهم هذا كمكمل لـ “--keep-window”. لمقارنة التأثيرات، استخدم هذه:
- جميع الودجات الثلاث مرئية، تأثير الدرج، مرتبة 1،2،3:
dialog \
--begin 2 2 --yesno "" 0 0 \
--and-widget --begin 4 4 --yesno "" 0 0 \
--and-widget --begin 6 6 --yesno "" 0 0
- الودجة الأخيرة فقط تبقى مرئية:
dialog \
--clear --begin 2 2 --yesno "" 0 0 \
--and-widget --clear --begin 4 4 --yesno "" 0 0 \
--and-widget --begin 6 6 --yesno "" 0 0
- جميع الودجات الثلاث مرئية، تأثير الدرج، مرتبة 3،2،1:
dialog \
--keep-window --begin 2 2 --yesno "" 0 0 \
--and-widget --keep-window --begin 4 4 --yesno "" 0 0 \
--and-widget --begin 6 6 --yesno "" 0 0
- الودجتان الأولى والثالثة مرئيتان، تأثير الدرج، مرتبة 3،1:
dialog \
--keep-window --begin 2 2 --yesno "" 0 0 \
--and-widget --clear --begin 4 4 --yesno "" 0 0 \
--and-widget --begin 6 6 --yesno "" 0 0
- لاحظ أنه إذا كنت ترغب في استعادة ألوان الطرفية الأصلية وإرسال المؤشر إلى مكانه المبدئي بعد خروج برنامج الحوار، فاستخدم الأمر clear(1). وعلى العكس من ذلك، إذا كنت ترغب في مسح الشاشة وإرسال المؤشر إلى الزاوية السفلية اليسرى بعد خروج برنامج dialog، فاستخدم خيار --erase-on-exit.
- --color-mode الرمز
- توسيع خيار --colors ليشمل محتوى programbox وtailbox وtextbox. استخدم الرمز “2” لهذه الميزة.
- --colors
- تفسير تسلسلات “\Z” المضمنة في نص الحوار بواسطة المحرف التالي، الذي يخبر dialog بضبط الألوان أو سمات الفيديو:
- من 0 إلى 7 هي أرقام ألوان ANSI المستخدمة في curses: أسود، أحمر، أخضر، أصفر، أزرق، أرجواني، سماوي وأبيض على التوالي.
- يُضبط الخط العريض بواسطة 'b'، ويُلغى بواسطة 'B'.
- يُضبط العكس بواسطة 'r'، ويُلغى بواسطة 'R'.
- يُضبط التسطير بواسطة 'u'، ويُلغى بواسطة 'U'.
- الإعدادات تراكمية، فمثلاً “\Zb\Z1” تجعل النص التالي عريضًا وباللون الأحمر (ربما الساطع).
- استعادة الإعدادات العادية بـ “\Zn”.
- --column-separator سلسلة
- إخبار dialog بتقسيم البيانات لصناديق الخيار/التحقق والقوائم عند ورود السلسلة المعطاة، ومحاذاة البيانات المقسمة في أعمدة.
- --cr-wrap
- تفسير الأسطر الجديدة المضمنة في نص الحوار كسطر جديد على الشاشة. وإلا، فسيقوم dialog بلف الأسطر فقط عند الحاجة لتناسب داخل صندوق النص.
- على الرغم من أنه يمكنك التحكم في فواصل الأسطر بهذا، إلا أن Dialog سيظل يلف أي أسطر طويلة جدًا بالنسبة لعرض الصندوق. بدون cr-wrap، قد تُنسق بنية النص لتبدو جميلة في الكود المصدري لسكربتك دون التأثير على شكلها في الحوار.
- تُنفذ ميزة cr-wrap وفقًا لهذه الشروط:
- تحتوي السلسلة على “\n” ولم يُستخدم خيار --no-nl-expand، أو
- استُخدم خيار --trim.
- لمزيد من المعلومات، انظر Whitespace Options.
- --create-rc ملف
- عندما يدعم dialog التهيئة أثناء التشغيل، يمكن استخدام هذا لتفريغ ملف تهيئة عينة في الملف المحدد بواسطة ملف.
- --cursor-off-label
- وضع مؤشر الطرفية في نهاية الزر بدلاً من المحرف الأول لتسمية الزر. هذا مفيد لتقليل الارتباك البصري عندما يتداخل تلوين المؤشر بشكل سيء مع ألوان نص تسمية الزر.
- --date-format تنسيق
- إذا كان المضيف يوفر strftime، فإن هذا الخيار يسمح لك بتحديد تنسيق التاريخ المطبوع لودجة --calendar. وقت اليوم (الساعة، الدقيقة، الثانية) هو الوقت المحلي الحالي.
- --defaultno
- جعل القيمة المبدئية لصندوق نعم/لا هي لا. وبالمثل، معاملة الزر المبدئي للودجات التي توفر “موافق” و“إلغاء” كـ إلغاء. إذا أُعطي الخياران “--no-cancel” أو “--visit-items” فإنهما يتجاوزان هذا، مما يجعل الزر المبدئي دائمًا “نعم” (داخليًا هو نفسه “موافق”).
- --default-button سلسلة
- ضبط الزر المبدئي (المختار مسبقًا) في ودجة. باختيار زر مسبقًا، يتيح السكربت للمستخدم ببساطة الضغط على Enter للمضي قدمًا عبر الحوار بأقل قدر من التفاعل.
- قيمة الخيار هي اسم الزر: ok، yes، cancel، no، help أو extra.
- عادةً ما يكون الزر الأول في كل ودجة هو المبدئي. الزر الأول المعروض يتم تحديده بواسطة الودجة جنبًا إلى جنب مع خياري “--no-ok” و“--no-cancel”. إذا لم يُعطَ هذا الخيار، فلا يتم تعيين زر مبدئي.
- --default-item سلسلة
- ضبط العنصر المبدئي في صندوق التحقق، أو النموذج، أو القائمة. عادةً ما يكون العنصر الأول في الصندوق هو المبدئي.
- --erase-on-exit
- عند خروج dialog، تُزال ودجة الحوار، وتُمسح الشاشة بأكملها إلى لون خلفيتها الأصلي، ويُوضع مؤشر الطرفية في الزاوية السفلية اليسرى.
- --exit-label سلسلة
- تجاوز التسمية المستخدمة لأزرار “خروج”.
- --extra-button
- إظهار زر إضافي، بين أزرار “موافق” و“إلغاء”.
- يظهر الزر الإضافي بين “نعم” و“لا” لودجة yesno.
- --extra-label سلسلة
- يتخطى التسمية المستخدمة لأزرار “إضافي”. ملاحظة: بالنسبة لودجات inputmenu، القيمة المبدئية هي “إعادة تسمية”.
- --help
- يطبع رسالة المساعدة إلى المخرج القياسي ثم يخرج. تُطبع رسالة المساعدة أيضًا إذا لم تُعطَ أي خيارات، أو إذا عُطِي خيار غير معروف.
- --help-button
- يظهر زر مساعدة بعد زرّي “موافق” و“إلغاء” في المربعات التي تحتوي قائمة عناصر موسومة (أي مربعات checklist وradiolist وmenu وtreeview).
- يظهر زر المساعدة بعد “نعم” و“لا” في ودجة yesno.
- عند الخروج، تشير حالة العودة إلى أنه ضُغط على زر المساعدة. يكتب Dialog أيضًا رسالة إلى مخرجه بعد العلامة “HELP”:
- إذا عُطي خيار "--item-help" أيضًا، يُكتب نص مساعدة العنصر.
- خلاف ذلك، يُكتب وسم العنصر (الحقل الأول).
- يمكنك استخدام الخيار --help-tags و/أو ضبط متغير البيئة DIALOG_ITEM_HELP لتعديل هذه الرسائل وحالة الخروج.
- يمكن تطبيق هذا الخيار على الودجات الأخرى التي تحتوي زر “موافق”، سواء استُخدم زر “إلغاء” أم لا. لا تُعامل حالة العودة والمخرج معاملة خاصة للودجات الأخرى؛ زر المساعدة هو مجرد زر إضافي.
- --help-label string
- يتخطى التسمية المستخدمة لأزرار “مساعدة”.
- --help-status
- إذا اختُير زر المساعدة، يكتب معلومات checklist أو radiolist أو form بعد معلومات مساعدة العنصر “HELP”. يمكن استخدام هذا لإعادة بناء حالة قائمة الاختيار (checklist) بعد معالجة طلب المساعدة.
- --help-tags
- يعدل الرسائل المكتوبة عند الخروج للخيار --help-button بجعلها دائمًا مجرد وسم العنصر. لا يؤثر هذا على رمز حالة الخروج.
- --hfile filename
- يعرض الملف المعطى باستخدام مربع نص عندما يضغط المستخدم على F1.
- --hline string
- يعرض السلسلة المعطاة ممركزة في أسفل الودجة.
- --ignore
- يتجاهل الخيارات التي لا يتعرف عليها dialog. تُتجاهل بعض الخيارات المعروفة مثل “--icon” على أي حال، ولكن هذا خيار أفضل للتوافق مع التطبيقات الأخرى.
- --input-fd fd
- يقرأ مدخلات لوحة المفاتيح من واصف الملف المعطى. تقرأ معظم سكريبتات dialog من المدخل القياسي، لكن ودجة gauge تقرأ أنبوبًا (والذي هو دائمًا المدخل القياسي). بعض الإعدادات لا تعمل بشكل صحيح عندما يحاول dialog إعادة فتح الطرفية. استخدم هذا الخيار (مع التلاعب المناسب بواصفات الملفات) إذا كان سكريبتك يجب أن يعمل في هذا النوع من البيئات.
- --insecure
- يجعل ودجة كلمة المرور أكثر ودية ولكن أقل أمانًا، عبر إظهار نجوم لكل حرف.
- --iso-week
- يضبط نقطة البداية لرقم الأسبوع المعروض في خيار “--calendar” وفقًا للمعيار ISO-8601، الذي يبدأ الترقيم بأول أسبوع يتضمن يوم خميس في شهر كانون الثاني/يناير.
- --item-help
- يفسر بيانات الأوسمة لمربعات checklist وradiolist وmenu مضيفًا عمودًا يُعرض في السطر السفلي من الشاشة للعنصر المحدد حاليًا.
- --keep-tite
- عند بنائه باستخدام ncurses، يتحقق dialog عادةً مما إذا كان يعمل في xterm، وفي هذه الحالة يحاول كبح سلاسل التهيئة التي ستجعله ينتقل إلى الشاشة البديلة. التبديل بين الشاشات العادية والبديلة مشتت بصريًا في سكريبت يشغل dialog عدة مرات. استخدم هذا الخيار للسماح لـ dialog باستخدام سلاسل التهيئة تلك.
- --keep-window
- عادةً عندما ينفذ dialog عدة ودجات tailboxbg متصلة بـ “--and-widget”، فإنه يمسح الودجة القديمة من الشاشة بالرسم فوقها. استخدم هذا الخيار لكبح إعادة الرسم تلك.
- عند الخروج، يعيد dialog رسم جميع الودجات التي عُلّمت بـ “--keep-window”، حتى لو لم تكن ودجات tailboxbg. يؤدي ذلك إلى إعادة رسمها بترتيب عكسي. راجع نقاش خيار “--clear” للحصول على أمثلة.
- --last-key
- عند الخروج، يبلغ عن آخر مفتاح أدخله المستخدم. هذا هو رمز مفتاح curses وليس رمزًا أو حرفًا حرفيًا، ويُبلغ عنه فقط للمفاتيح المرتبطة بإجراء ما. يمكن استخدامه بواسطة السكريبتات للتمييز بين مفتاحين مرتبطين بنفس الإجراء.
- --max-input size
- يحد سلاسل الإدخال بالحجم المعطى. إذا لم يُحدد، فالحد هو 2048.
- --no-cancel
- يكبح زر “إلغاء” في أوضاع checklist وinputbox وmenu. لا يزال بإمكان السكريبت اختبار ما إذا كان المستخدم قد ضغط على مفتاح ESC للإلغاء للخروج.
- --no-collapse
- عادةً ما يحول dialog علامات الجدولة إلى مسافات ويقلص المسافات المتعددة إلى مسافة واحدة للنص المعروض في مربعات الرسائل، وما إلى ذلك. استخدم هذا الخيار لتعطيل هذه الميزة. لاحظ أن dialog سيظل يلف النص، مع مراعاة الخيارين “--cr-wrap” و“--trim”.
- تُطبق ميزة no-collapse وفقًا لهذه الشروط:
- تحتوي السلسلة على “\n” ولم يُستخدم خيار --no-nl-expand، أو
- عدم استخدام الخيار --trim.
- لمزيد من المعلومات، انظر Whitespace Options.
- --no-hot-list
- يخبر dialog بكبح ميزة مفاتيح الاختصار للقوائم، مثل checkbox وmenus.
- عادةً، يُبرز أول حرف كبير في مدخل القائمة، ويؤدي كتابة هذا الحرف إلى نقل التركيز إلى ذلك المدخل. يكبح هذا الخيار كلاً من الإبراز والحركة.
- لا تتأثر مفاتيح الاختصار للأزرار (“موافق” ، “إلغاء”، إلخ).
- --no-items
- تعرض بعض الودجات (checklist وinputmenu وradiolist وmenu) قائمة من عمودين (“وسم” و“عنصر”، أي “وصف”). يخبر هذا الخيار dialog بقراءة صفوف أقصر، مع حذف جزء “العنصر” من القائمة. هذا مفيد أحيانًا، على سبيل المثال، إذا كانت الأوسمة توفر معلومات كافية.
- راجع أيضًا --no-tags. إذا عُطي كلا الخيارين، فسيُتجاهل هذا الخيار.
- --no-kill
- يخبر dialog بوضع مربع tailboxbg في الخلفية، مع طباعة معرّف العملية الخاص به إلى مخرج dialog. تُعطل إشارة SIGHUP لعملية الخلفية.
- --no-label string
- يتخطى التسمية المستخدمة لأزرار “لا”.
- --no-lines
- بدلاً من رسم خطوط حول المربعات، تُرسم مسافات في نفس المكان. راجع أيضًا “--ascii-lines”.
- --no-mouse
- لا يفعّل الفأرة.
- --no-nl-expand
- لا يحول السلاسل الفرعية “\n” في نص الرسالة/المطالبة إلى أسطر جديدة حرفية.
- تُستخدم ميزة no-nl-expand فقط إذا كانت السلسلة تحتوي على “\n” بحيث يكون هناك شيء لتحويله.
- لمزيد من المعلومات، انظر Whitespace Options.
- --no-ok
- يكبح زر “موافق”، بحيث لا يُعرض. لا يزال بإمكان السكريبت اختبار ما إذا كان المستخدم قد ضغط على مفتاح “Enter” لقبول البيانات:
- •
- يُعامل مفتاح “Enter” دائمًا كزر “موافق” عند استخدام الخيار --no-ok. أي أنه، افتراضيًا، مرتبط بالمفتاح الافتراضي LEAVE.
- عند عدم استخدام --no-ok، يمكنك استخدام مفتاح Tab لتحريك المؤشر عبر الحقول والأزرار في الودجة. في هذه الحالة، ينشط مفتاح “Enter” الزر الحالي إذا كان المؤشر مستقرًا على زر.
- •
- لتوفير الحالة التي تريد فيها تنشيط زر عند استخدام --no-ok، هناك مفتاح افتراضي آخر LEAVE، والذي ينشط الزر الحالي. افتراضيًا، يرتبط ^D (EOF) بهذا المفتاح.
- --no-shadow
- يكبح الظلال التي ستُرسم على يمين وأسفل كل مربع حوار.
- --no-tags
- تعرض بعض الودجات (checklist وinputmenu وradiolist وmenu) قائمة من عمودين (“وسم” و“وصف”). الوسم مفيد للسكريبتات، لكنه قد لا يساعد المستخدم. يمكن استخدام الخيار --no-tags (من Xdialog) لكبح عمود الأوسمة من العرض. وعلى عكس الخيار --no-items، لا يؤثر هذا على البيانات التي تُقرأ من السكريبت.
- لا يعرض Xdialog عمود الأوسمة لودجات buildlist وtreeview المماثلة؛ ويفعل dialog الشيء نفسه.
- عادةً ما يسمح لك dialog بالانتقال بسرعة إلى المدخلات في القائمة المعروضة، عبر مطابقة حرف واحد مع الحرف الأول من الوسم. عند إعطاء الخيار --no-tags، يطابق dialog مع الحرف الأول من الوصف. في كلتا الحالتين، يُبرز الحرف القابل للمطابقة.
- --ok-label string
- يتخطى التسمية المستخدمة لأزرار “موافق”.
- --output-fd fd
- يوجه المخرج إلى واصف الملف المعطى. تكتب معظم سكريبتات dialog إلى الخطأ القياسي، ولكن قد تُكتب رسائل الخطأ هناك أيضًا، اعتمادًا على سكريبتك.
- --separator string
- --output-separator string
- يحدد سلسلة ستفصل المخرجات في مخرج dialog من قوائم الاختيار (checklists)، بدلاً من سطر جديد (للخيار --separate-output) أو مسافة. ينطبق هذا على الودجات الأخرى مثل النماذج (forms) وصناديق التحرير (editboxes) التي تستخدم عادةً سطرًا جديدًا.
- --print-maxsize
- يطبع الحجم الأقصى لمربعات الحوار، أي حجم الشاشة، إلى مخرج dialog. يمكن استخدام هذا بمفرده، دون خيارات أخرى.
- --print-size
- يطبع حجم كل مربع حوار إلى مخرج dialog عند تهيئة المربع.
- --print-text-only string [ height [ width ] ]
- يطبع السلسلة كما لو كانت ملفوفة في مربع رسالة إلى مخرج dialog.
- لأن قيمتي height وwidth الاختياريتين تكونان صفرًا مبدئيًا، فإنه إذا حُذفتا، فسيقوم dialog بالتحجيم الآلي وفقًا لأبعاد الشاشة.
- --print-text-size string [ height [ width ] ]
- يطبع حجم السلسلة كما لو كانت ملفوفة في مربع رسالة، إلى مخرج dialog، كالتالي
الارتفاع العرض
- لأن معاملي height وwidth الاختياريين يكونان صفرًا مبدئيًا، فإنه إذا حُذفا، فسيقوم dialog بالتحجيم الآلي وفقًا لأبعاد الشاشة.
- --print-version
- يطبع إصدار dialog إلى مخرج dialog. يمكن استخدام هذا بمفرده، دون خيارات أخرى. ولا يتسبب في خروج dialog تلقائيًا.
- --quoted
- عادةً ما يضع dialog السلاسل التي تعيدها قوائم الاختيار (checklist) وكذلك نص مساعدة العنصر بين علامات اقتباس. استخدم هذا الخيار لاقتباس جميع نتائج السلاسل حسب الحاجة (أي إذا كانت السلسلة تحتوي على مسافات بيضاء أو علامة اقتباس مفردة أو مزدوجة).
- --reorder
- افتراضيًا، تستخدم ودجة buildlist نفس الترتيب لقائمة المخرجات (اليمنى) كما هو في قائمة المدخلات (اليسرى). استخدم هذا الخيار لإخبار dialog باستخدام الترتيب الذي يضيف به المستخدم التحديدات إلى قائمة المخرجات.
- --scrollbar
- بالنسبة للودجات التي تحتوي على مجموعة بيانات قابلة للتمرير، يرسم شريط تمرير على هامشها الأيمن. لا يستجيب هذا الشريط للفأرة.
- --separate-output
- بالنسبة لودجات معينة (buildlist، وchecklist، وtreeview)، تُخرَج النتيجة سطرا تلو الآخر، دون اقتباس. يسهل هذا التحليل بواسطة برنامج آخر.
- --separate-widget سلسلة
- حدد سلسلة تفصل بين مخرجات كل ودجة في مخرجات dialog. يُستخدم هذا لتبسيط تحليل نتيجة حوار يضم عدة ودجات. إذا لم يُعطَ هذا الخيار، فإن سلسلة الفصل المبدئية هي علامة جدولة (tab).
- --single-quoted
- استخدم الاقتباس المفرد حسب الحاجة (ولا تستخدم اقتباسات إذا لم تكن هناك حاجة) لمخرجات قائمة التحقق (checklist) وكذلك نص مساعدة العناصر.
- إذا لم يُضبط هذا الخيار، فقد يستخدم dialog علامات اقتباس مزدوجة حول كل عنصر. في كلتا الحالتين، يضيف dialog مائلات خلفية لجعل المخرجات مفيدة في سكربتات الصدفة.
- ستكون هناك حاجة للاقتباسات المفردة إذا كانت السلسلة تحتوي على مسافة فارغة أو علامة اقتباس مفردة أو مزدوجة.
- --size-err
- افحص الحجم الناتج لصندوق الحوار قبل محاولة استخدامه، واطبع الحجم الناتج إذا كان أكبر من الشاشة. (هذا الخيار مهجور، حيث تُفحص جميع استدعاءات النوافذ الجديدة).
- --sleep ثوانٍ
- توقف (تأخر) لعدد الثواني المعطى بعد معالجة صندوق الحوار.
- --stderr
- وجّه المخرجات إلى الخطأ القياسي. هذا هو المبدئي، لأن curses يكتب تحديثات الشاشة عادةً إلى المخرجات القياسية.
- --stdout
- وجّه المخرجات إلى المخرجات القياسية. وُفر هذا الخيار للتوافق مع Xdialog، ومع ذلك لا يُنصح باستخدامه في السكربتات المنقولة، لأن curses يكتب عادةً تحديثات الشاشة إلى المخرجات القياسية. إذا استخدمت هذا الخيار، سيحاول dialog إعادة فتح الطرفية ليتمكن من الكتابة إلى العرض. قد يفشل ذلك بناءً على المنصة وبيئتك.
- --tab-correct
- حول كل علامة جدولة (tab) إلى مسافة واحدة أو أكثر (لودجة textbox؛ وإلا فإلى مسافة واحدة). بخلاف ذلك، تُصيّر علامات الجدولة وفقاً لتفسير مكتبة curses. يعطل خيار --no-collapse توسيع علامات الجدولة.
- --tab-len n
- حدد عدد المسافات التي تحتلها علامة الجدولة إذا أُعطي خيار “--tab-correct”. القيمة المبدئية هي 8. هذا الخيار فعال فقط لودجة textbox.
- --time-format تنسيق
- إذا كان المضيف يوفر strftime، يتيح لك هذا الخيار تحديد تنسيق الوقت المطبوع لودجة --timebox. قيم اليوم والشهر والسنة في هذه الحالة تكون للوقت المحلي الحالي.
- --timeout ثوانٍ
- تنتهي المهلة إذا لم يستجب المستخدم خلال عدد الثواني المعطى. تُتجاهل المهلة التي تبلغ صفر ثانية.
- عادةً ما تؤدي المهلة إلى إدخال محرف ESC في الودجة الحالية، مما يلغيها. قد تظل ودجات أخرى على الشاشة؛ وهذه لا تُلحى. اضبط متغير البيئة DIALOG_TIMEOUT لإخبار dialog بالخروج مباشرة بدلاً من ذلك، أي إلغاء جميع الودجات على الشاشة.
- يُتجاهل هذا الخيار بواسطة ودجة “--pause”. كما يتم تخطيه إذا استُخدم خيار الخلفية “--tailboxbg” لإعداد عدة ودجات متزامنة.
- --title عنوان
- يحدد سلسلة عنوان لتعرض في أعلى صندوق الحوار.
- --trace اسم_الملف
- يسجل معاملات سطر الأوامر، وضغطات المفاتيح والمعلومات الأخرى في الملف المعطى. إذا قرأ dialog ملف إعداد، فيُسجل أيضاً. تُسجل المدخلات الموجهة إلى ودجة gauge. استخدم control/T لتسجيل صورة لنافذة الحوار الحالية.
- يتعامل برنامج dialog مع بعض معاملات سطر الأوامر بشكل خاص، ويزيلها من قائمة المعاملات أثناء معالجتها. على سبيل المثال، إذا كان الخيار الأول هو --trace، فإنه يُعالج (ويُزال) قبل أن يهيئ dialog العرض.
- --week-start يوم
- يضبط يوم بداية الأسبوع، المُستخدم في خيار “--calendar”. يمكن أن يكون معامل اليوم:
- رقماً (من 0 إلى 6، من الأحد إلى السبت باستخدام POSIX) أو
- القيمة الخاصة “locale” (يعمل هذا مع الأنظمة التي تستخدم glibc، موفرةً امتداداً لأمر locale، وهي قيمة first_weekday).
- سلسلة تطابق أحد اختصارات يوم الأسبوع المعروضة في ودجة calendar، على سبيل المثال، “Mo” لـ “Monday”.
- --trim
- إزالة الفراغات البادئة، وتشذيب أسطر السطر الجديدة الحرفية والفراغات المتكررة من نص الرسالة.
- تُنفذ ميزة التشذيب وفقاً لهذه الشروط:
- لا تحتوي السلسلة على “\n” أو
- استخدام خيار --no-nl-expand.
- لمزيد من المعلومات، انظر Whitespace Options.
- انظر أيضاً خياري “--cr-wrap” و “--no-collapse”.
- --version
- يطبع إصدار dialog إلى المخرجات القياسية، ويخرج. انظر أيضاً “--print-version”.
- --visit-items
- عدل التنقل بجدولة (tab-traversal) لكل من checklist وradiolist وmenubox وinputmenu لتشمل قائمة العناصر كإحدى الحالات. هذا مفيد كمساعدة بصرية، أي أن موضع المؤشر يساعد بعض المستخدمين.
- عند إعطاء هذا الخيار، يوضع المؤشر مبدئياً على القائمة. تنطبق الاختصارات (الحرف الأول من الوسم) على عناصر القائمة. إذا انتقلت بالجدولة إلى صف الأزرار، تنطبق الاختصارات على الأزرار.
- --yes-label سلسلة
- تخطي اللصيقة المستخدمة لأزرار “نعم” (Yes).
خيارات الصندوق¶
تحتوي جميع صناديق الحوار على ثلاثة معاملات على الأقل:
تعتمد المعاملات الأخرى على نوع الصندوق.
- --buildlist النص الارتفاع العرض ارتفاع_القائمة [ الوسم العنصر الحالة ] ...
- يعرض حوار buildlist قائمتين جنباً إلى جنب. تظهر القائمة على اليسار العناصر غير المحددة. وتظهر القائمة على اليمين العناصر المحددة. تنتقل العناصر بين القائمتين عند تحديدها أو إلغاء تحديدها.
- استخدم زر الرجوع (carriage return) أو زر “موافق” لقبول القيمة الحالية في نافذة المحددة والخروج. تُكتب النتائج باستخدام الترتيب المعروض في النافذة المحددة.
- تُحدد حالة التشغيل/الإيقاف المبدئية لكل إدخال بواسطة الحالة.
- يتصرف الحوار مثل menu، مستخدماً --visit-items للتحكم فيما إذا كان يُسمح للمؤشر بزيارة القوائم مباشرة.
- إذا لم يُعطَ خيار --visit-items، يستخدم التنقل بالجدولة حالتين (موافق/إلغاء).
- إذا أُعطي خيار --visit-items، يستخدم التنقل بالجدولة أربع حالات (يسار/يمين/موافق/إلغاء).
- سواء أُعطي خيار --visit-items أم لا، فمن الممكن نقل التمييز بين القائمتين باستخدام المفاتيح المبدئية “^” (العمود الأيسر) و “$” (العمود الأيمن).
- عند الخروج، ستُطبع قائمة بسلاسل الوسم لتلك الإدخالات التي تم تشغيلها على مخرجات dialog.
- إذا لم يُعطَ خيار "--separate-output"، فستُقتبس السلاسل حسب الحاجة لجعل فصلها بسيطاً للسكربتات. بشكل مبدئي، يستخدم هذا علامات اقتباس مزدوجة، حسب الحاجة. انظر خيار “--single-quoted”، الذي يعدل سلوك الاقتباس.
- --calendar النص الارتفاع العرض اليوم الشهر السنة
- يعرض صندوق التقويم الشهر واليوم والسنة في نوافذ قابلة للضبط بشكل منفصل. إذا كانت قيم اليوم أو الشهر أو السنة مفقودة أو سالبة، تُستخدم القيم المقابلة للتاريخ الحالي. يمكنك زيادة أو تقليل أي منها باستخدام الأسهم لليسار، ولأعلى، ولليمين، ولأسفل. استخدم h وj وk وl بأسلوب vi للتنقل في مصفوفة أيام الشهر. استخدم جدولة (tab) أو جدولة خلفية (backtab) للتنقل بين النوافذ. إذا أُعطيت السنة كصفر، يُستخدم التاريخ الحالي كقيمة مبدئية.
- عند الخروج، يُطبع التاريخ بصيغة يوم/شهر/سنة. يمكن تخطي التنسيق باستخدام خيار --date-format.
- --checklist النص الارتفاع العرض ارتفاع_القائمة [ الوسم العنصر الحالة ] ...
- صندوق قائمة التحقق checklist يشبه صندوق القائمة menu؛ حيث توجد عدة إدخالات معروضة في شكل قائمة. فرق آخر هو أنه يمكنك الإشارة إلى الإدخال المحدد حالياً عن طريق ضبط حالته لتكون on. بدلاً من اختيار إدخال واحد من بين الإدخالات، يمكن للمستخدم تشغيل أو إيقاف كل إدخال. تُحدد حالة التشغيل/الإيقاف المبدئية لكل إدخال بواسطة الحالة.
- عند الخروج، ستُطبع قائمة بسلاسل الوسم لتلك الإدخالات التي تم تشغيلها على مخرجات dialog.
- إذا لم يُعطَ خيار “--separate-output”، فستُقتبس السلاسل حسب الحاجة لجعل فصلها بسيطاً للسكربتات. بشكل مبدئي، يستخدم هذا علامات اقتباس مزدوجة (حسب الحاجة). انظر خيار “--single-quoted”، الذي يعدل سلوك الاقتباس.
- --dselect مسار_الملف الارتفاع العرض
- يعرض حوار اختيار الدليل نافذة لإدخال النص يمكنك من خلالها كتابة اسم دليل، وفوقها نافذة بأسماء الأدلة.
- هنا يمكن أن يكون filepath مسار ملف، وفي هذه الحالة ستعرض نافذة الدليل محتويات المسار وستحتوي نافذة إدخال النص على الدليل المحدد مسبقاً.
- استخدم مفتاح الجدولة (tab) أو مفاتيح الأسهم للتنقل بين النوافذ. داخل نافذة الدليل، استخدم مفتاحي السهم لأعلى/لأسفل للتمرير في التحديد الحالي. استخدم مفتاح المسافة لنسخ التحديد الحالي إلى نافذة إدخال النص.
- يؤدي كتابة أي محارف قابلة للطباعة إلى نقل التركيز إلى نافذة إدخال النص، وإدخال ذلك المحرف بالإضافة إلى تمرير نافذة الدليل إلى أقرب تطابق.
- استخدم زر الرجوع (carriage return) أو زر “موافق” لقبول القيمة الحالية في نافذة إدخال النص والخروج.
- عند الخروج، تُكتب محتويات نافذة إدخال النص إلى مخرجات dialog.
- --editbox مسار_الملف الارتفاع العرض
- يعرض حوار صندوق التحرير نسخة من الملف. يمكنك تحريره باستخدام مفاتيح backspace وdelete ومفاتيح المؤشر لتصحيح أخطاء الكتابة. كما أنه يتعرف على pageup/pagedown. بخلاف --inputbox، يجب أن تنتقل بالجدولة إلى زر “موافق” أو “إلغاء” لإغلاق الحوار. سيؤدي الضغط على مفتاح “إدخال” داخل الصندوق إلى تقسيم السطر المقابل.
- عند الخروج، تُكتب محتويات نافذة التحرير إلى مخرجات dialog.
- --form النص الارتفاع العرض ارتفاع_النموذج [ اللصيقة ص س العنصر ص س طول_الحقل طول_الإدخال ] ...
- يعرض حوار النموذج form نموذجاً يتكون من لصائق وحقول، يتم وضعها على نافذة قابلة للتمرير بواسطة إحداثيات معطاة في السكربت. يحدد طول الحقل flen وطول الإدخال ilen مدى طول الحقل. يحدد الأول الطول المعروض للحقل المحدد، بينما يحدد الأخير الطول المسموح به للبيانات المدخلة في الحقل.
- إذا كان flen صفراً، فلا يمكن تغيير الحقل المقابل، وتحدد محتويات الحقل الطول المعروض.
- إذا كان flen سالباً، فلا يمكن تغيير الحقل المقابل، وتُستخدم القيمة المعكوسة لـ flen كطول معروض.
- إذا كان ilen صفراً، فإنه يُضبط على flen.
- استخدم السهمين لأعلى/لأسفل (أو control/N، وcontrol/P) للتنقل بين الحقول. استخدم الجدولة (tab) للتنقل بين النوافذ.
- عند الخروج، تُكتب محتويات حقول النموذج إلى مخرجات dialog، مع فصل كل حقل بسطر جديد. لا يُكتب النص المستخدم لملء الحقول غير القابلة للتحرير (عندما يكون flen صفراً أو سالباً).
- --fselect مسار_الملف الارتفاع العرض
- يعرض حوار fselect (اختيار الملفات) نافذة لإدخال النص يمكنك من خلالها كتابة اسم ملف (أو دليل)، وفوقها نافذتان بأسماء الأدلة وأسماء الملفات.
- هنا يمكن أن يكون filepath مسار ملف، وفي هذه الحالة ستعرض نافذتا الملف والدليل محتويات المسار وستحتوي نافذة إدخال النص على اسم الملف المحدد مسبقاً.
- استخدم مفتاح الجدولة (tab) أو مفاتيح الأسهم للتنقل بين النوافذ. داخل نوافذ الدليل أو اسم الملف، استخدم مفتاحي السهم لأعلى/لأسفل للتمرير في التحديد الحالي. استخدم مفتاح المسافة لنسخ التحديد الحالي إلى نافذة إدخال النص.
- يؤدي كتابة أي محارف قابلة للطباعة إلى نقل التركيز إلى نافذة إدخال النص، وإدخال ذلك المحرف بالإضافة إلى تمرير نافذتي الدليل واسم الملف إلى أقرب تطابق.
- يؤدي كتابة محرف المسافة إلى إجبار dialog على إكمال الاسم الحالي (حتى النقطة التي قد يكون فيها تطابق مع أكثر من إدخال واحد).
- استخدم زر الرجوع (carriage return) أو زر “موافق” لقبول القيمة الحالية في نافذة إدخال النص والخروج.
- عند الخروج، تُكتب محتويات نافذة إدخال النص إلى مخرجات dialog.
- --gauge النص الارتفاع العرض [نسبة_مئوية]
- يعرض صندوق gauge مقياسًا أسفل الصندوق. يشير المقياس إلى النسبة المئوية. تُقرأ النسب المئوية الجديدة من الدخل القياسي، عدد صحيح واحد لكل سطر. يُحدّث المقياس ليعكس كل نسبة مئوية جديدة. إذا قرأ الدخل القياسي السلسلة “XXX”، فإن السطر الأول التالي يُتخذ كنسبة مئوية صحيحة، ثم تُستخدم الأسطر اللاحقة حتى ظهور “XXX” أخرى كمحلق جديد. يخرج المقياس عند الوصول إلى نهاية الملف (EOF) في الدخل القياسي.
- تشير قيمة percent إلى النسبة المئوية الأولية المعروضة في العداد. إذا لم تُحدد، فستكون صفرًا.
- عند الخروج، لا يُكتب أي نص في مخرجات dialog. لا تقبل الودجت أي مدخلات، لذا فإن حالة الخروج هي «موافق» دائمًا.
- --infobox النص الارتفاع العرض
- صندوق info هو في الأساس صندوق رسالة. ومع ذلك، في هذه الحالة، سيخرج dialog فور عرض الرسالة للمستخدم. لا تُمسح الشاشة عند خروج dialog، لكي تبقى الرسالة على الشاشة حتى تمسحها صدفة (shell) المستدعِي لاحقًا. وهذا مفيد عندما تريد إبلاغ المستخدم بأن بعض العمليات جارية وقد تتطلب بعض الوقت للانتهاء.
- عند الخروج، لا يُكتب أي نص في مخرجات dialog. وتُعاد حالة خروج «موافق».
- --inputbox النص الارتفاع العرض [التهيئة]
- يعد صندوق المدخلات مفيدًا عندما تريد طرح أسئلة تتطلب من المستخدم إدخال سلسلة نصية كإجابة. إذا وُفرت قيمة التهيئة (init)، فستُستخدم لتهيئة سلسلة المدخلات. عند إدخال السلسلة، يمكن استخدام مفاتيح backspace و delete ومفاتيح الأسهم لتصحيح الأخطاء المطبعية. إذا كانت سلسلة المدخلات أطول مما يتسع له صندوق الحوار، فسيُمرر حقل الإدخال.
- عند الخروج، ستُطبع سلسلة المدخلات على مخرجات dialog.
- صندوق inputmenu مشابه جدًا لصندوق القائمة العادي. لا يوجد سوى فروق قليلة بينهما:
- 1.
- لا تُوسّط المدخلات آليًا ولكن تُحاذى لليسار.
- 2.
- يوجد زر إضافي (يسمى إعادة تسمية) مخصص لإعادة تسمية العنصر الحالي عند الضغط عليه.
- 3.
- من الممكن إعادة تسمية المدخل الحالي بالضغط على زر إعادة التسمية. عندها سيكتب dialog ما يلي على مخرجات dialog.
- RENAMED <الوسم> <العنصر>
- كما يوحي اسمه، صندوق menu هو صندوق حوار يمكن استخدامه لعرض قائمة خيارات على شكل قائمة ليختار منها المستخدم. تُعرض الخيارات بالترتيب المعطى. يتكون كل إدخال في القائمة من سلسلة وسم وسلسلة عنصر. يعطي الوسم للإدخال اسمًا لتمييزه عن الإدخالات الأخرى في القائمة. أما العنصر فهو وصف قصير للخيار الذي يمثله الإدخال. يمكن للمستخدم التنقل بين إدخالات القائمة بالضغط على مفاتيح المؤشر، أو الحرف الأول من الوسم كمفتاح اختصار، أو مفاتيح الأرقام من 1 إلى 9. تُعرض إدخالات بعدد menu-height في القائمة في المرة الواحدة، ولكن ستُمرر القائمة إذا كان هناك مدخلات أكثر من ذلك.
- عند الخروج، يُطبع وسم إدخال القائمة المختار على خرج dialog. إذا أُعطي الخيار “--help-button”، فسيُطبع نص المساعدة المقابل إذا اختار المستخدم زر المساعدة.
- --mixedform text height width formheight [ label y x item y x flen ilen itype ] ...
- يعرض حوار mixedform نموذجًا يتكون من لصائق وحقول، تمامًا مثل حوار --form. ويختلف عنه بإضافة معامل نوع الحقل إلى وصف كل حقل. تشير كل بتة في النوع إلى سمة للحقل:
- 1
- مخفي، مثل حقل كلمة السر.
- 2
- للقراءة فقط، مثل اللصيقة.
- --mixedgauge النص الارتفاع العرض النسبة [ الوسم1 العنصر1 ] ...
- يعرض صندوق mixedgauge مقياسًا أسفل الصندوق. يشير المقياس إلى النسبة المئوية.
- يعرض أيضًا قائمة بقيم الوسم و العنصر في أعلى الصندوق. انظر dialog(3) لقيم الوسوم.
- يُعرض النص كعنوان بين القائمة والمقياس. تشير قيمة النسبة إلى النسبة المئوية الأولية المعروضة في المقياس.
- لا يوجد توفير لقراءة البيانات من الدخل القياسي كما يفعل --gauge.
- عند الخروج، لا يُكتب أي نص في مخرجات dialog. لا تقبل الودجت أي مدخلات، لذا فإن حالة الخروج هي «موافق» دائمًا.
- --msgbox text height width
- صندوق message مشابه جدًا لصندوق yes/no. الفرق الوحيد بينهما هو أن صندوق message يحتوي فقط على زر موافق واحد. يمكنك استخدام صندوق الحوار هذا لعرض أي رسالة تريدها. بعد قراءة الرسالة، يمكن للمستخدم الضغط على مفتاح ENTER ليخرج dialog وتكمل سكربت الصدفة المستدعِي عملها.
- إذا كانت الرسالة كبيرة جدًا على المساحة، فقد يسمح لك dialog بتمريرها، بشرط أن يكون تنفيذ curses الأساسي قادرًا على ذلك. في هذه الحالة، تُعرض نسبة مئوية في قاعدة الأداة.
- عند الخروج، لا يُكتب أي نص على خرج dialog. يُوفر زر “موافق” فقط للدخل، ولكن قد تُرجع حالة خروج ESC.
- --pause text height width seconds
- يعرض صندوق pause مقياسًا أسفل الصندوق. يشير المقياس إلى عدد الثواني المتبقية حتى نهاية الفاصل الزمني. يخرج الفاصل الزمني عند انتهاء الوقت أو ضغط المستخدم على زر موافق (حالة OK) أو ضغط المستخدم على زر إلغاء أو مفتاح Esc.
- --passwordbox text height width [init]
- صندوق password مشابه لصندوق الإدخال، باستثناء أن النص الذي يدخله المستخدم لا يُعرض. هذا مفيد عند طلب كلمات السر أو معلومات حساسة أخرى. كن على علم بأنه إذا مُرر أي شيء في “init”، فسيكون مرئيًا في جدول عمليات النظام للمتطفلين العاديين. أيضًا، من المربك جدًا للمستخدم تزويده بكلمة سر مبدئية لا يمكنه رؤيتها. لهذه الأسباب، يُنصح بشدة بعدم استخدام “init”. انظر “--insecure” إذا كنت لا تهتم بكلمة سرك.
- عند الخروج، ستُطبع سلسلة المدخلات على مخرجات dialog.
- --passwordform text height width formheight [ label y x item y x flen ilen ] ...
- هذا مطابق لـ --form باستثناء أن جميع حقول النص تُعامل كأدوات password بدلاً من أدوات inputbox.
- --prgbox text command height width
- --prgbox command height width
- صندوق prgbox مشابه جدًا لصندوق programbox.
- يُستخدم صندوق الحوار هذا لعرض خرج أمر مُحدد كمعامل لـ prgbox.
- بعد اكتمال الأمر، يمكن للمستخدم الضغط على مفتاح ENTER ليخرج dialog وتكمل سكربت الصدفة المستدعية عملها.
- إذا أُعطيت أربعة معاملات، فسيُعرض النص تحت العنوان، مفصولاً عن محتويات الملف المتحرك. إذا أُعطيت ثلاثة معاملات فقط، فسيُحذف هذا النص.
- --programbox text height width
- --programbox height width
- صندوق programbox مشابه جدًا لصندوق progressbox. الفرق الوحيد بينهما هو أن صندوق program يعرض زر موافق (ولكن فقط بعد اكتمال الأمر).
- يُستخدم صندوق الحوار هذا لعرض الخرج المنقول لأمر ما. بعد اكتمال الأمر، يمكن للمستخدم الضغط على مفتاح ENTER ليخرج dialog وتكمل سكربت الصدفة المستدعية عملها.
- إذا أُعطيت ثلاثة معاملات، فسيُعرض النص تحت العنوان، مفصولاً عن محتويات الملف المتحرك. إذا أُعطيت معاملين فقط، فسيُحذف هذا النص.
- --progressbox text height width
- --progressbox height width
- صندوق progressbox مشابه لـ tailbox، باستثناء أن
- أ) بدلاً من عرض محتويات ملف،
- فإنه يعرض الخرج المنقول لأمر ما و
- ب) سيخرج عند الوصول إلى نهاية الملف
- (لا يوجد زر “موافق”).
- إذا أُعطيت ثلاثة معاملات، فسيُعرض النص تحت العنوان، مفصولاً عن محتويات الملف المتحرك. إذا أُعطيت معاملين فقط، فسيُحذف هذا النص.
- --radiolist text height width list-height [ tag item status ] ...
- صندوق radiolist مشابه لصندوق menu. الفرق الوحيد هو أنه يمكنك تحديد الإدخال المختار حاليًا بضبط حالته لتكون on.
- عند الخروج، يُكتب وسم العنصر المختار في خرج dialog.
- --rangebox text height width min-value max-value default-value
- السماح للمستخدم بالاختيار من نطاق من القيم، مثلاً باستخدام شريط منزلق. يعرض الحوار القيمة الحالية كشريط (مثل حوار gauge). تحرك مفاتيح Tab أو الأسهم المؤشر بين الأزرار والقيمة. عندما يكون المؤشر على القيمة، يمكنك تعديلها عن طريق:
- حركة المؤشر يسارًا/يمينًا لاختيار رقم لتعديله
- +/-
- محارف لزيادة/نقصان الرقم بمقدار واحد
- من 0 إلى 9
- لضبط الرقم على القيمة المعطاة
- تُعرف بعض المفاتيح أيضًا في جميع مواضع المؤشر:
- home/end
- ضبط القيمة إلى حدها الأقصى أو الأدنى
- pageup/pagedown
- زيادة القيمة بحيث يتحرك المنزلق بمقدار عمود واحد
- --tailbox file height width
- عرض نص من ملف في صندوق حوار، كما في أمر “tail -f”. التمرير يسارًا/يمينًا باستخدام 'h' و 'l' بأسلوب vi، أو مفاتيح الأسهم. '0' يعيد ضبط التمرير.
- عند الخروج، لا يُكتب أي نص على خرج dialog. يُوفر زر “موافق” فقط للدخل، ولكن قد تُرجع حالة خروج ESC.
- --tailboxbg file height width
- عرض نص من ملف في صندوق حوار كمهمة خلفية، كما في أمر “tail -f &”. التمرير يسارًا/يمينًا باستخدام 'h' و 'l' بأسلوب vi، أو مفاتيح الأسهم. '0' يعيد ضبط التمرير.
- يعامل Dialog المهمة الخلفية بشكل خاص إذا كان هناك أدوات أخرى (--and-widget) على الشاشة في نفس الوقت. حتى تُغلق تلك الأدوات (مثلاً “موافق”)، سيقوم dialog بتشغيل جميع أدوات tailboxbg في نفس العملية، مع فحص التحديثات. يمكنك استخدام tab للتنقل بين الأدوات على الشاشة، وإغلاقها بشكل فردي، مثلاً بالضغط على ENTER. بمجرد إغلاق الأدوات التي ليست tailboxbg، يتفرع dialog بنسخة من نفسه إلى الخلفية، ويطبع معرف العملية الخاص به إذا أُعطي الخيار “--no-kill”.
- عند الخروج، لا يُكتب أي نص في خرج dialog. يُوفر فقط زر “خروج” للدخل، ولكن قد تُرجع حالة خروج ESC.
- ملاحظة: الإصدارات الأقدم من dialog كانت تتفرع فورًا وتحاول تحديث الشاشة بشكل فردي. بالإضافة إلى كون ذلك سيئًا للأداء، فقد كان غير عملي. بعض السكربتات القديمة قد لا تعمل بشكل صحيح مع نظام الفحص (polled) هذا.
- --textbox file height width
- يتيح لك صندوق text عرض محتويات ملف نصي في صندوق حوار. إنه مثل عارض ملفات نصية بسيط. يمكن للمستخدم التنقل خلال الملف باستخدام المؤشر، ومفاتيح page-up، و page-down، و HOME/END المتوفرة في معظم لوحات المفاتيح. إذا كانت الأسطر طويلة جدًا ليتم عرضها في الصندوق، يمكن استخدام مفتاحي اليسار/اليمين لتمرير منطقة النص أفقيًا. يمكنك أيضًا استخدام مفاتيح h و j و k و l بأسلوب vi بدلاً من مفاتيح المؤشر، و B أو N بدلاً من مفتاحي page-up و page-down. التمرير للأعلى/الأسفل باستخدام 'k' و 'j' بأسلوب vi، أو مفاتيح الأسهم. التمرير لليسار/اليمين باستخدام 'h' و 'l' بأسلوب vi، أو مفاتيح الأسهم. '0' يعيد ضبط التمرير لليسار/اليمين. ولمزيد من الراحة، تتوفر أيضًا وظائف بحث للأمام وللخلف بأسلوب vi.
- عند الخروج، لا يُكتب أي نص في خرج dialog. يُوفر فقط زر “خروج” للدخل، ولكن قد تُرجع حالة خروج ESC.
- --timebox text height [width hour minute second]
- يُعرض حوار يسمح لك باختيار الساعة والدقيقة والثانية. إذا كانت قيم الساعة أو الدقيقة أو الثانية مفقودة أو سالبة، تُستخدم القيم المقابلة للتاريخ الحالي. يمكنك زيادة أو نقصان أي منها باستخدام أسهم اليسار والأعلى واليمين والأسفل. استخدم tab أو backtab للتنقل بين النوافذ.
- عند الخروج، تُطبع النتيجة بصيغة ساعة:دقيقة:ثانية. يمكن تجاوز هذه الصيغة باستخدام خيار --time-format.
- --treeview text height width list-height [ tag item status depth ] ...
- عرض بيانات منظمة كشجرة. تحتوي كل مجموعة من البيانات على وسم، والنص المراد عرضه للعنصر، وحالته (“on” أو “off”) وعمق العنصر في الشجرة.
- يمكن اختيار عنصر واحد فقط (مثل radiolist). لا يُعرض الوسم.
- عند الخروج، يُكتب وسم العنصر المختار في خرج dialog.
- --yesno text height width
- سيُعرض صندوق حوار yes/no بحجم الارتفاع صفوف في العرض أعمدة. تُعرض السلسلة المحددة بواسطة النص داخل صندوق الحوار. إذا كانت هذه السلسلة طويلة جدًا بحيث لا تسعها سطر واحد، فسيتم تقسيمها آليًا إلى أسطر متعددة في الأماكن المناسبة. يمكن أن يحتوي النص أيضًا على السلسلة الفرعية "\n" أو محارف سطر جديد `\n' للتحكم في كسر الأسطر صراحةً. صندوق الحوار هذا مفيد لطرح أسئلة تتطلب من المستخدم الإجابة بنعم أو لا. يحتوي صندوق الحوار على زر نعم وزر لا، يمكن للمستخدم التبديل بينهما بالضغط على مفتاح TAB.
- عند الخروج، لا يُكتب أي نص في خرج dialog. بالإضافة إلى رموز الخروج لـ “نعم” و “لا” (انظر التشخيصات)، قد تُرجع حالة خروج ESC.
- تطابق الرموز المستخدمة لـ “نعم” و “لا” تلك المستخدمة لـ “موافق” و “إلغاء”)، داخليًا لا يوجد فرق بينها.
خيارات مهجورة¶
- --beep
- كان هذا يُستخدم لإخبار cdialog الأصلي بضرورة إصدار صوت تنبيه عندما تقوم العمليات المنفصلة لأداة tailboxbg بإعادة رسم الشاشة.
- --beep-after
- إصدار صوت تنبيه بعد أن يكمل المستخدم الأداة بالضغط على أحد الأزرار.
خيارات المساحات البيضاء¶
يمكن استخدام هذه الخيارات لتحويل المسافات البيضاء (مسافة، علامة جدولة، سطر جديد) أثناء قراءة dialog للبرنامج النصي:
الخيارات ليست مستقلة عن بعضها البعض:
- يتحقق Dialog مما إذا كان البرنامج النصي يحتوي على “\n” واحدة على الأقل (ما لم يُضبط الخيار --no-nl-expand) وسيتجاهل خياري --no-collapse و --trim.
- بعد التحقق من “\n” وخيار --no-nl-expand، يتعامل dialog مع خيار --trim.
- إذا فُعّل خيار --trim، يتجاهل dialog خيار --no-collapse. حيث يُحول تسلسلات علامات الجدولة والمسافات (والأسطر الجديدة ما لم يُضبط -cr-wrap) إلى مسافة واحدة.
- •
- إذا لم تنطبق أي من حالتي “\n” أو --trim، يتحقق dialog من خيار --no-collapse ليقرر ما إذا كان سيقلص تسلسلات علامات الجدولة والمسافات إلى مسافة واحدة.
- في هذه الحالة، يتجاهل dialog خيار --cr-wrap ولا يعدل الأسطر الجديدة.
بالأخذ بهذه التبعيات في الحسبان، إليك جدول يلخص السلوك لمختلف تركيبات الخيارات. يفترض الجدول أن البرنامج النصي يحتوي على “\n” واحدة على الأقل عندما لا يكون خيار --no-nl-expand مضبوطاً.
| cr- | no- | no- | trim | النتيجة |
| wrap | collapse | nl-expand | ||
| no | no | no | no | تحويل علامة الجدولة إلى مسافة. تحويل السطر الجديد إلى مسافة. تحويل “\n” إلى سطر جديد. |
| no | no | no | نعم | تحويل علامة الجدولة إلى مسافة. تحويل السطر الجديد إلى مسافة. تحويل “\n” إلى سطر جديد. |
| no | no | نعم | no | تحويل علامة الجدولة إلى مسافة. عدم تحويل السطر الجديد إلى مسافة. تحويل المسافات المتعددة إلى مسافة واحدة. إظهار “\n” حرفياً. |
| no | no | نعم | نعم | تحويل علامة الجدولة إلى مسافة. تحويل المسافات المتعددة إلى مسافة واحدة. تحويل السطر الجديد إلى مسافة. إظهار “\n” حرفياً. |
| no | نعم | no | no | تحويل السطر الجديد إلى مسافة. تحويل “\n” إلى سطر جديد. |
| no | نعم | no | نعم | تحويل السطر الجديد إلى مسافة. تحويل “\n” إلى سطر جديد. |
| no | نعم | نعم | no | عدم تحويل السطر الجديد إلى مسافة. عدم تقليص الفراغات المتعددة. إظهار “\n” حرفياً. |
| no | نعم | نعم | نعم | تحويل المسافات المتعددة إلى مسافة واحدة. تحويل السطر الجديد إلى مسافة. إظهار “\n” حرفياً. |
| نعم | no | no | no | تحويل علامة الجدولة إلى مسافة. الالتفاف عند السطر الجديد. تحويل “\n” إلى سطر جديد. |
| نعم | no | no | نعم | تحويل علامة الجدولة إلى مسافة. الالتفاف عند السطر الجديد. تحويل “\n” إلى سطر جديد. |
| نعم | no | نعم | no | تحويل علامة الجدولة إلى مسافة. عدم تحويل السطر الجديد إلى مسافة. تحويل المسافات المتعددة إلى مسافة واحدة. إظهار “\n” حرفياً. |
| نعم | no | نعم | نعم | تحويل علامة الجدولة إلى مسافة. تحويل المسافات المتعددة إلى مسافة واحدة. الالتفاف عند السطر الجديد. إظهار “\n” حرفياً. |
| نعم | نعم | no | no | الالتفاف عند السطر الجديد. تحويل “\n” إلى سطر جديد. |
| نعم | نعم | no | نعم | الالتفاف عند السطر الجديد. تحويل “\n” إلى سطر جديد. |
| نعم | نعم | نعم | no | عدم تحويل السطر الجديد إلى مسافة. عدم تقليص الفراغات المتعددة. إظهار “\n” حرفياً. |
| نعم | نعم | نعم | نعم | تحويل المسافات المتعددة إلى مسافة واحدة. الالتفاف عند السطر الجديد. إظهار “\n” حرفياً. |
تكوين وقت التشغيل¶
- 1.
- أنشئ ملف تكوين نموذجياً بكتابة:
dialog --create-rc file
- 2.
- عند البدء، يحدد dialog الإعدادات التي سيستخدمها كالتالي:
- أ)
- إذا كان متغير البيئة DIALOGRC مضبوطاً، فإن قيمته تحدد اسم ملف التكوين.
- ب)
- إذا لم يُعثر على الملف المذكور في (أ)، يُستخدم الملف $HOME/.dialogrc كملف تكوين.
- ج)
- إذا لم يُعثر على الملف المذكور في (ب)، حاول استخدام ملف GLOBALRC المحدد وقت التصريف، أي /etc/dialogrc.
- د)
- إذا لم يُعثر على الملف المذكور في (ج)، تُستخدم القيم المبدئية المصرّفة.
- 3.
- حرر ملف التكوين النموذجي وانسخه إلى مكان يمكن لـ dialog العثور عليه، كما هو مذكور في الخطوة 2 أعلاه.
ارتباطات المفاتيح¶
يمكنك تجاوز أو الإضافة إلى ارتباطات المفاتيح في dialog عبر الإضافة إلى ملف التكوين. يقوم أمر bindkey الخاص بـ Dialog بربط مفاتيح مفردة بترميزه الداخلي.
bindkey widget curses_key dialog_key
يمكن أن يكون اسم widget هو “*” (لكل الودجات)، أو ودجات محددة مثل textbox. تتجاوز ارتباطات الودجات المحددة ارتباطات “*”. وتتجاوز الارتباطات المحددة من قِبل المستخدم الارتباطات المدمجة.
يمكن التعبير عن curses_key بأشكال مختلفة:
- قد يكون أي من الأسماء المشتقة من curses.h، مثل “HELP” من “KEY_HELP”.
- يتعرف Dialog أيضاً على محارف تحكم ANSI مثل “^A”، و “^?”، بالإضافة إلى عناصر تحكم C1 مثل “~A” و “~?”.
- أخيراً، يسمح dialog بهروب الشرطة المائلة العكسية كما في لغة C. يمكن أن تكون قيم محارف ثمانية مثل “\033” (محرف هروب ASCII)، أو المحارف المدرجة في هذا الجدول:
| مهروب | الفعلي |
| \b | backspace |
| \f | تغذية الصفحة |
| \n | سطر جديد (تغذية السطر) |
| \r | رجوع العربة |
| \s | مسافة |
| \t | tab |
| \^ | “^” (إشارة الإقحام) |
| \? | “?” (علامة استفهام) |
| \\ | “\” (شرطة مائلة عكسية) |
تتوافق أسماء أكواد المفاتيح الداخلية لـ Dialog مع النوع DLG_KEYS_ENUM في dlg_keys.h، مثل “HELP” من “DLGK_HELP”.
أسماء الودجات¶
تحتوي بعض الودجات (مثل formbox) على منطقة يمكن فيها تحرير الحقول. تُدار هذه الحقول في نافذة فرعية للودجة، وقد يكون لها ارتباطات مفاتيح منفصلة عن الودجة الرئيسة لأن النوافذ الفرعية مسجلة باسم مختلف.
| الودجة | اسم النافذة | اسم النافذة الفرعية |
| 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 |
بعض الودجات هي في الواقع ودجات أخرى، تستخدم إعدادات داخلية لتعديل السلوك. وتستخدم هذه الودجات نفس اسم الودجة الفعلية:
| الودجة | الودجة الفعلية |
| dselect | fselect |
| infobox | msgbox |
| inputmenu | menu |
| mixedform | form |
| passwordbox | inputbox |
| passwordform | form |
| prgbox | progressbox |
| programbox | progressbox |
| tailboxbg | tailbox |
ارتباطات مدمجة¶
لا تسرد صفحة الدليل هذه ارتباطات المفاتيح لكل ويدجت (widget)، لأنه يمكن الحصول على هذه المعلومات التفصيلية عبر تشغيل dialog. إذا ضبطت خيار --trace، فسيكتب dialog معلومات ارتباط المفاتيح لكل ويدجت عند تسجيلها.
هناك بعض الارتباطات المدمجة، والمستقلة عن ويدجت بعينها:
| المفتاح | الغرض |
| Control-I | تنقل جدولي للأمام، مثلاً مع --tailboxbg. |
| Control-L | يعيد رسم الشاشة. |
| Control-T | يكتب تفريغاً للشاشة (screen dump) في ملف --trace. |
| Control-V | يعطل المفاتيح الخاصة لبايت الإدخال التالي. |
| DLGK_FIELD_NEXT | تنقل جدولي للأمام، مثل Control-I. |
| DLGK_FIELD_PREV | تنقل جدولي للخلف، مثل back-tab. |
| DLGK_HELPFILE | يعرض ملف المساعدة المحدد عبر --hfile. |
| KEY_BTAB | تنقل جدولي للخلف، مثلاً مع --tailboxbg. |
مثال¶
يستخدم dialog عادةً مفاتيح مختلفة للتنقل بين الأزرار وجزء التحرير في الحوار مقابل التنقل داخل جزء التحرير نفسه. أي أن مفتاح tab (و back-tab) يتنقل بين الأزرار (أو بين الأزرار وجزء التحرير)، بينما تتنقل مفاتيح الأسهم بين الحقول داخل جزء التحرير. وتُعامل علامات الجدولة (Tabs) أيضاً كحالة خاصة للتنقل بين الويدجت، على سبيل المثال عند استخدام عدة ويدجت من نوع tailboxbg.
قد يرغب بعض المستخدمين في استخدام نفس المفتاح للتنقل داخل جزء التحرير وللتنقل بين الأزرار. ويدجت الاستمارة (form) مكتوبة لتدعم هذا النوع من إعادة تعريف المفاتيح، عبر إضافة مجموعة خاصة في dlgk_keys.h لـ “form” (يسار/يمين/التالي/السابق). إليك مثال على ارتباط يوضح كيفية القيام بذلك:
bindkey formfield TAB form_NEXT bindkey formbox TAB form_NEXT bindkey formfield BTAB form_prev bindkey formbox BTAB form_prev
هذا النوع من إعادة التعريف لن يكون مفيداً في الويدجت الأخرى، مثل التقويم (calendar)، نظراً للعدد الكبير المحتمل من الحقول التي يجب التنقل بينها.
حالة الخروج¶
حالة الخروج عرضة للتجاوز بواسطة متغيرات البيئة. القيم المبدئية ومتغيرات البيئة المقابلة التي يمكنها تجاوزها هي:
- 0
- إذا ضُغط على زر YES أو OK (DIALOG_OK).
- 1
- إذا ضُغط على زر No أو Cancel (DIALOG_CANCEL).
- 2
- إذا ضُغط
على زر Help
(DIALOG_HELP)،
إلا كما هو مذكور أدناه بخصوص DIALOG_ITEM_HELP. - 3
- إذا ضُغط على زر Extra (DIALOG_EXTRA).
- 4
- إذا ضُغط
على زر Help،
وضُبط خيار --item-help
وضُبط متغير البيئة DIALOG_ITEM_HELP على 4.
- بينما يمكن تجاوز أي من رموز الخروج باستخدام متغيرات البيئة، فقد وُضعت هذه الحالة الخاصة في 2004 لتبسيط التوافقية. يستخدم Dialog DIALOG_ITEM_HELP (4) داخلياً، ولكن ما لم يُضبط متغير البيئة أيضاً، فإنه يغير ذلك إلى DIALOG_HELP (2) عند الخروج.
- 5
- إذا انتهت المهلة وضُبط متغير DIALOG_TIMEOUT على 5.
- -1
- في حال حدوث أخطاء داخل dialog (DIALOG_ERROR) أو خروج dialog بسبب الضغط على مفتاح ESC (DIALOG_ESC).
البيئة¶
- DIALOGOPTS
- عرّف هذا المتغير لتطبيق أي من الخيارات الشائعة على كل ويدجت. يُعاد تعيين معظم الخيارات الشائعة قبل معالجة كل ويدجت. إذا ضبطت الخيارات في متغير البيئة هذا، فسيتم تطبيقها على حالة dialog بعد إعادة التعيين. وكما في خيار “--file”، تُفسر علامات الاقتباس المزدوجة والشرطات المائلة الخلفية.
- لا يُعتبر خيار “--file” خياراً شائعاً (لذا لا يمكنك تضمينه داخل متغير البيئة هذا).
- DIALOGRC
- عرّف هذا المتغير إذا كنت تريد تحديد اسم ملف التكوين المراد استخدامه.
- DIALOG_CANCEL
- DIALOG_ERROR
- DIALOG_ESC
- DIALOG_EXTRA
- DIALOG_HELP
- DIALOG_ITEM_HELP
- DIALOG_TIMEOUT
- DIALOG_OK
- عرّف أياً من هذه المتغيرات لتغيير رمز الخروج عند
- الإلغاء (1)،
- الخطأ (-1)،
- مفتاح ESC (255)،
- إضافي (3)،
- مساعدة (2)،
- مساعدة مع --item-help (2)،
- انتهاء المهلة (5)، أو
- الموافقة (0).
- عادةً لا تستطيع سكربتات الصدفة (shell) التمييز بين -1 و 255.
- DIALOG_TTY
- اضبط هذا المتغير على “1” لتوفير التوافقية مع الإصدارات الأقدم من dialog التي كانت تفترض أنه إذا قام السكربت بإعادة توجيه المخرجات القياسية، فإن خيار “--stdout” قد أُعطي.
الملفات¶
- $HOME/.dialogrc
- ملف التكوين المبدئي
القابلية للنقل¶
يعمل Dialog مع X/Open curses. ومع ذلك، فإن بعض التنفيذات بها نواقص:
- لا تفتح HPUX curses (وربما غيرها) الطرفية بشكل صحيح لوظيفة newterm. هذا يتعارض مع خيار --input-fd الخاص بـ dialog، عن طريق منع التعرف على مفاتيح المؤشر وتسلسلات الهروب المماثلة.
- لدى NetBSD 5.1 curses دعم غير مكتمل للمحارف العريضة (wide-characters). سيُبنى dialog، ولكن لن تُعرض جميع الأمثلة بشكل صحيح.
التوافقية¶
قد ترغب في كتابة سكربتات تعمل مع “نسخ” dialog الأخرى.
Original Dialog¶
أولاً، يجب مراعاة برنامج dialog “الأصلي” (الإصدارات 0.3 إلى 0.9). كان يحتوي على بعض الخيارات المكتوبة بشكل خاطئ (أو غير متسقة). يقوم برنامج dialog بربط تلك الخيارات المهجورة بالخيارات المفضلة. وهي تشمل:
| خيار | المعالجة |
| --beep-after | ignored |
| --guage | رُبط بـ --gauge |
Xdialog¶
هذا تطبيق لبيئة X، وليس برنامجاً طرفياً. مع بعض العناية، من الممكن كتابة سكربتات مفيدة تعمل مع كل من Xdialog و dialog.
يتجاهل برنامج dialog هذه الخيارات التي يتعرف عليها Xdialog:
| خيار | المعالجة |
| --allow-close | ignored |
| --auto-placement | ignored |
| --fixed-font | ignored |
| --icon | ignored |
| --keep-colors | ignored |
| --no-close | ignored |
| --no-cr-wrap | ignored |
| --screen-center | ignored |
| --separator | مُسند إلى --separate-output |
| --smooth | ignored |
| --under-mouse | ignored |
| --wmclass | ignored |
يحتوي دليل Xdialog على قسم يناقش توافقيته مع dialog. توجد بعض الاختلافات التي لم تُعرض في الدليل. على سبيل المثال، تذكر توثيقات html ما يلي
ملاحظة: استخدمت إصدارات Xdialog السابقة “\n” (تغذية السطر) كفاصل للنتائج في ودجة قائمة الاختيار (checklist)؛ غُيّر هذا إلى “/” في إصدار Xdialog v1.5.0 لجعله متوافقًا مع (c)dialog. في سكريبتاتك القديمة التي تستخدم قائمة اختيار Xdialog، سيتعين عليك إضافة الخيار --separate-output قبل الخيار --checklist.
لم يستخدم Dialog فاصلاً مختلفًا؛ ومن المرجح أن الاختلاف كان بسبب ارتباك يتعلق ببعض السكريبتات.
Whiptail¶
ثم هناك whiptail. لأغراض عملية، تديره دبيان (يُنجز القليل جدًا من العمل بواسطة مطوري المنبع). تدعي توثيقاته (README.whiptail) ما يلي
whiptail(1) هو بديل خفيف لبرنامج dialog(1)، لتوفير صناديق حوار لسكربتات الصدفة. بُني على مكتبة النوافذ newt بدلاً من مكتبة ncurses، مما يسمح له بأن يكون أصغر حجمًا في البيئات المضمنة مثل برامج التثبيت، وأقراص الإنقاذ، إلخ. صُمم whiptail ليكون بديلًا متوافقًا مع dialog، ولكنه يحتوي على ميزات أقل: فبعض صناديق الحوار غير مُنفذة، مثل tailbox وtimebox وcalendarbox، وغيرها.
بمقارنة الأحجام الفعلية (دبيان الاختبارية، 2007/1/10): إجمالي أحجام whiptail ومكتبات newt وpopt وslang هو 757 كيلوبايت. الرقم المقابل لبرنامج dialog (باحتساب ncurses) هو 520 كيلوبايت. تجاهل الفقرة الأولى.
الفقرة الثانية مضللة، لأن whiptail لا يعمل أيضًا مع الخيارات الشائعة لبرنامج dialog، مثل صندوق القياس (gauge). برنامج whiptail أقل توافقًا مع dialog من برنامج dialog 0.4 الأصلي الذي يعود لمنتصف التسعينيات.
يستعير دليل whiptail ميزات من dialog، على سبيل المثال، لكنه ومن الغريب يستشهد فقط بإصدارات dialog حتى 0.4 (1994) كمصدر. أي أن دليله يشير إلى ميزات استُعيرت من إصدارات أحدث من dialog، مثل،
- --gauge (منذ 0.5)
- --passwordbox (من تغييرات دبيان في 1999)،
- --default-item (من dialog 2000/02/22)،
- --output-fd (من dialog 2002/08/14).
تستخدم دبيان whiptail كبديل رسمي لبرنامج dialog.
يتجاهل برنامج dialog أو يسند هذه الخيارات التي يتعرف عليها whiptail:
| خيار | المعالجة |
| --cancel-button | مُسند إلى --cancel-label |
| --fb | ignored |
| --fullbutton | ignored |
| --no-button | مُسند إلى --no-label |
| --nocancel | مُسند إلى --no-cancel |
| --noitem | مُسند إلى --no-items |
| --notags | مُسند إلى --no-tags |
| --ok-button | مُسند إلى --ok-label |
| --scrolltext | مُسند إلى --scrollbar |
| --topleft | مُسند إلى --begin 0 0 |
| --yes-button | مُسند إلى --yes-label |
توجد اختلافات مرئية لم تُعالج بواسطة خيارات سطر الأوامر:
- يضع dialog القوائم في منتصف النافذة. بينما يضع whiptail القوائم عادةً بمحاذاة الهامش الأيسر.
- يستخدم whiptail الأقواس الزاوية (“<” و “>”) لتمييز الأزرار. بينما يستخدم dialog الأقواس المربعة.
- يميز whiptail حدود العناوين الفرعية بأشرطة عمودية. بينما لا يميز dialog الحدود.
- يحاول whiptail تمييز الخلايا العلوية والسفلية لشريط التمرير بأسهم للأعلى وللأسفل. وعندما لا يتمكن من فعل ذلك، فإنه يملأ تلك الخلايا بلون خلفية شريط التمرير مما يربك المستخدم. بينما يستخدم dialog مساحة شريط التمرير بالكامل، وبذلك يحصل على دقة أفضل.
العلل¶
ربما.
أمثلة¶
تحتوي مصادر dialog على عدة نماذج لكيفية استخدام خيارات الصناديق المختلفة وكيف تبدو. ما عليك سوى إلقاء نظرة على المجلد samples/ في المصدر.
المؤلفون¶
Thomas E. Dickey (تحديثات الإصدار 0.9b وما بعده)
Kiran Cherupally – ودجات النماذج المختلطة والمقاييس المختلطة.
Tobias C. Rittweiler
Valery Reznic – ودجات النماذج وصناديق التقدم (progressbox).
طوع Yura Kalinichenko ودجة القياس (gauge) لتكون “pause” (لبث).
هذا العمل هو إعادة كتابة (إلا ما لزم لتوفير التوافقية) للإصدار السابق من dialog 0.9a، والذي يسرد كمؤلفين:
- Savio Lam – الإصدار 0.3، “dialog”
- Stuart Herbert – رقعة للإصدار 0.4
- Marc Ewing – ودجة القياس (gauge).
- Pasquale De Marco “Pako” – الإصدار 0.9a، “cdialog”
ترجمة¶
تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي <zayed.alsaidi@gmail.com>
هذه الترجمة هي وثيقة مجانية؛ راجع رخصة جنو العامة الإصدار 3 أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات.
إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: kde-l10n-ar@kde.org.
| 17 أغسطس 2025 |