.\" -*- coding: UTF-8 -*- '\" t .\"*************************************************************************** .\" Copyright 2018-2024,2025 Thomas E. Dickey * .\" Copyright 1998-2016,2017 Free Software Foundation, Inc. * .\" * .\" Permission is hereby granted, free of charge, to any person obtaining a * .\" copy of this software and associated documentation files (the * .\" "Software"), to deal in the Software without restriction, including * .\" without limitation the rights to use, copy, modify, merge, publish, * .\" distribute, distribute with modifications, sublicense, and/or sell * .\" copies of the Software, and to permit persons to whom the Software is * .\" furnished to do so, subject to the following conditions: * .\" * .\" The above copyright notice and this permission notice shall be included * .\" in all copies or substantial portions of the Software. * .\" * .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS * .\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * .\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * .\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, * .\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR * .\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR * .\" THE USE OR OTHER DEALINGS IN THE SOFTWARE. * .\" * .\" Except as contained in this notice, the name(s) of the above copyright * .\" holders shall not be used in advertising or otherwise to promote the * .\" sale, use or other dealings in this Software without prior written * .\" authorization. * .\"*************************************************************************** .\" .\" $Id: tput.1,v 1.149 2025/11/12 01:05:03 tom Exp $ .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH tput 1 "11 نوفمبر 2025" "ncurses 6.6" "أوامر المستخدم" .ie \n(.g \{\ .ds `` \(lq .ds '' \(rq .\} .el \{\ .ie t .ds `` `` .el .ds `` ""\" cannot be used in quoted macro argument w/ AT&T troff .ie t .ds '' '' .el .ds '' ""\" cannot be used in quoted macro argument w/ AT&T troff .\} . .de bP .ie n .IP \(bu 4 .el .IP \(bu 2 .. .SH الاسم \fB\%tput\fP \- يشرع طرفية، أو يختبر قدراتها، أو يستعلم من قاعدة بيانات \fI\%term\%info\fP .SH موجز \fBtput\fP [\fB\-v\fP] [\fB\-T\fP \fIterminal\-type\fP] {\fIcap\-code\fP [\fIparameter\fP \&.\|.\|.\&]} .\|.\|. .PP \fBtput\fP [\fB\-v\fP] [\fB\-T\fP \fIterminal\-type\fP] [\fB\-x\fP] \fBclear\fP .PP \fBtput\fP [\fB\-v\fP] [\fB\-T\fP \fIterminal\-type\fP] \fBinit\fP .PP \fBtput\fP [\fB\-v\fP] [\fB\-T\fP \fIterminal\-type\fP] \fB\%reset\fP .PP \fBtput\fP [\fB\-v\fP] [\fB\-T\fP \fIterminal\-type\fP] \fB\%longname\fP .PP \fBtput\fP [\fB\-v\fP] \fB\-S\fP .PP \fBtput\fP [\fB\-v\fP] \fB\-V\fP .SH الوصف يستخدم \fB\%tput\fP مكتبة وقاعدة بيانات \fI\%term\%info\fP لجعل القدرات والمعلومات الخاصة بالطرفية متاحة لـ \fBالصدفة\fP، أو لتشريع الطرفية أو إعادة ضبطها، أو للإبلاغ عن وصف لنوع الطرفية الحالية (أو المحددة). تُوصَل قدرات الطرفية عبر \fIcap\-code\fP. .PP يناقش \fB\%terminfo\fP(5) قدرات الطرفية باستفاضة ويعرض قائمة كاملة بـ \fIcap\-codes\fP المعيارية. ويعرض \fB\%user_caps\fP(5) قدرات أخرى واسعة الاستخدام لكنها غير معيارية. .PP .\" "Boolean" + 2n عند استرجاع قيم القدرات، تعتمد النتيجة على نوع القدرة. .TP 9 منطقي يضبط \fB\%tput\fP حالة خروجه إلى \fB0\fP إذا كانت الطرفية تملك \fIcap\-code\fP، وإلى \fB1\fP إذا كانت لا تملكه. .TP numeric يكتب \fB\%tput\fP القيمة العشرية لـ \fIcap\-code\fP في مجرى الخرج القياسي إذا كانت معرفة (و \fB\-1\fP إذا لم تكن) متبوعة بسطر جديد. .TP سلسلة نصية يكتب \fB\%tput\fP قيمة \fIcap\-code\fP في مجرى الخرج القياسي إذا كانت معرفة، دون سطر جديد في النهاية. .PP قبل استخدام القيمة المعادة في الخرج القياسي، ينبغي للتطبيق اختبار حالة خروج \fB\%tput\fP للتأكد من أنها 0؛ انظر قسم \*(``حالة الخروج\*('' أدناه. .SS المعاملات .\" "longname" + 2n + adjustment for PDF عمومًا، المعامل هو \fIcap\-code\fP، وهو رمز قدرة من قاعدة بيانات الطرفية، أو معامل لها. يتعرف \fB\%tput\fP بشكل خاص على ثلاثة معاملات أخرى: \fBinit\fP، و \fB\%reset\fP، و \fB\%longname\fP. رغم أنها تشبه رموز القدرات، إلا أنها في الواقع تُعامل معاملة خاصة؛ ونسميها \*(``أشباه القدرات\*(''. .TP 11n \fIcap\-code\fP يشير إلى قدرة من قاعدة بيانات الطرفية. .IP إذا كان \fIcap\-code\fP من نوع سلسلة نصية ويأخذ معاملات، يفسر \fB\%tput\fP الوسائط التي تلي \fIcap\-code\fP كمعاملات، حتى العدد (الثابت) الذي تطلبه القدرة. .IP معظم المعاملات عددية. تطلب قلة من قدرات الطرفية معاملات نصية؛ يستخدم \fB\%tput\fP جدولاً ليقرر أيها يمرر كسلاسل نصية. عادةً ما يستخدم \fB\%tput\fP \fB\%tparm\fP(3X) لإجراء الاستبدال. إذا لم تُعطَ معاملات للقدرة، يكتب \fB\%tput\fP السلسلة دون إجراء الاستبدال. .TP \fBinit\fP يشرع الطرفية. إذا كانت قاعدة بيانات الطرفية موجودة وكان هناك مدخل لنوع طرفية المستخدم، يحدث الآتي. .RS .TP 5 (1) يسترجع \fB\%tput\fP إعدادات وضع الطرفية. ويختبر بالتتابع واصفات الملفات المقابلة لـ .RS .bP مجرى الخطأ القياسي، .bP مجرى الخرج القياسي، .bP مجرى الدخل القياسي، و .bP \fI\%/dev/tty\fP .RE .IP للحصول على إعدادات الطرفية. وبعد استرجاعها، يتذكر \fB\%tput\fP أي واصف سيستخدم للتحديثات اللاحقة. .TP (2) إذا لم يمكن الحصول على أبعاد الطرفية من نظام التشغيل، ولكن البيئة أو مدخل قاعدة بيانات نوع الطرفية يصفانها، يحدّث \fB\%tput\fP تصور نظام التشغيل عنها. .TP (3) يحدّث \fB\%tput\fP أوضاع الطرفية. .RS .bP يُشغل تمديد علامات الجدولة أو يوقف حسب المواصفات في المدخل، و .bP إذا لم تمدد علامات الجدولة، تُضبط علامات الجدولة القياسية (كل 8 مسافات). .RE .TP (4) إذا كانت قدرات التشريع، المفصلة في القسم الفرعي \*(``علامات الجدولة والتشريع\*('' من \fB\%terminfo\fP(5)، موجودة، يكتبها \fB\%tput\fP في مجرى الخرج القياسي. .TP (5) يفرغ \fB\%tput\fP مجرى الخرج القياسي. .RE .IP إذا افتقر مدخل ما إلى المعلومات اللازمة لنشاط مما سبق، يُتخطى هذا النشاط صمتًا. .TP \fBreset\fP يُعيد تشريع الطرفية. تختلف إعادة الضبط عن التشريع بطريقتين. .RS .TP 5 (1) يضبط \fB\%tput\fP أوضاع الطرفية إلى حالة \*(``سليمة\*(''، .RS .bP مُفعلاً الوضع المعياري (\*(``cooked\*('') ووضع الصدى (echo)، .bP ومعطلاً وضعي cbreak و raw، .bP ومفعلاً ترجمة السطر الجديد، و .bP وضابطاً أي محارف دخل خاصة إلى قيمها المبدئية. .RE .TP 5 (2) إذا عُرفت أي قدرات إعادة ضبط لنوع الطرفية، يكتبها \fB\%tput\fP في مجرى الخرج. وإلا، يستخدم \fB\%tput\fP أي قدرات تشريع معرفة. تُفصل قدرات إعادة الضبط في القسم الفرعي \*(``علامات الجدولة والتشريع\*('' من \fB\%terminfo\fP(5). .RE .TP \fBlongname\fP يبدأ مدخل \fI\%term\%info\fP باسم واحد أو أكثر يمكن للتطبيق عبرها الإشارة إلى المدخل، قبل قائمة قدرات الطرفية. تُفصل الأسماء بمحارف \*(``|\*(''. يطلق X/Open Curses على الاسم الأخير اسم \*(``الاسم الطويل\*(''، ويشير إلى أنه قد يتضمن فراغات. .IP يُحذر \fB\%tic\fP إذا لم يتضمن الاسم الأخير فراغات، لاستيعاب مدخلات \fI\%term\%info\fP القديمة التي كانت تعامل الاسم الطويل كميزة اختيارية. غالبًا ما يُشار إلى الاسم الطويل كحقل الوصف. .IP إذا كانت قاعدة بيانات الطرفية موجودة وكان هناك مدخل لنوع طرفية المستخدم، يُبلغ \fB\%tput\fP عن وصفه في مجرى الخرج القياسي، دون سطر جديد في النهاية. انظر \fB\%terminfo\fP(5). .PP \fIملاحظة:\fP إعادة توجيه خرج \*(``\fBtput init\fP\*('' أو \*(``\fBtput reset\fP\*('' إلى ملف ستلتقط جزءًا فقط من أفعالهما. لا تتأثر التغييرات في أوضاع الطرفية بإعادة توجيه واصف الملف، بما أن أوضاع الطرفية تُعدل عبر \fI\%ioctl\fP(2). .SS "الأسماء المستعارة" إذا استُدعي \fB\%tput\fP عبر وصلة بأي من الأسماء \fBclear\fP، أو \fBinit\fP، أو \fB\%reset\fP، فإنه يعمل كما لو شُغل بمعامل (شبه) القدرة المقابل. على سبيل المثال، تنفيذ وصلة باسم \fB\%reset\fP تشير إلى \fB\%tput\fP له نفس تأثير \%\*(``\fBtput \%reset\fP\*(''. .PP قُدمت هذه الميزة في \fI\%ncurses\fP 5.2 عام 2000. وهي نادرة الاستخدام. .TP \fB\%clear\fP هو برنامج منفصل، وهو أصغر حجماً وأكثر تنفيذاً. .TP \fBinit\fP له نفس اسم برنامج آخر واسع الانتشار. .TP \fB\%reset\fP توفرها أداة \fB\%tset\fP(1) (أيضًا عبر وصلة تسمى \fB\%reset\fP). .SS "حجم الطرفية" بالإضافة إلى أشباه القدرات (مثل \fBinit\fP)، يعامل \fB\%tput\fP رموز \fIcap\-codes\fP لـ \fBlines\fP و \fBcols\fP معاملة خاصة: فقد يستدعي \fB\%setupterm\fP(3X) للحصول على حجم الطرفية. .bP أولاً، يحاول \fB\%tput\fP الحصول على هذه القدرات من قاعدة بيانات الطرفية. يفشل هذا عادةً في محاكيات الطرفية، التي تفتقر إلى حجم نافذة ثابت وبالتالي تغفل هذه القدرات. .bP ثم يسأل نظام التشغيل عن حجم الطرفية، وهو ما ينجح عادةً، ما لم يكن الاتصال عبر خط تسلسلي لا يدعم \*(``NAWS\*('': المفاوضات حول حجم النافذة. .bP أخيرًا، يفحص متغيرات البيئة \fILINES\fP و \fI\%COLUMNS\fP، والتي قد تتخطى حجم الطرفية. .PP إذا أعطي الخيار \fB\-T\fP، يتجاهل \fB\%tput\fP متغيرات البيئة عبر استدعاء \fB\%use_tioctl(TRUE)\fP، معتمداً على نظام التشغيل (أو في النهاية، قاعدة بيانات الطرفية). .SH الخيارات .\" "-T type" + 2n .TP 9n \fB\-S\fP يسترجع أكثر من قدرة في كل استدعاء لـ \fB\%tput\fP. يجب تمرير القدرات إلى \fB\%tput\fP من مجرى الدخل القياسي بدلاً من سطر الأوامر (انظر قسم \*(``أمثلة\*('' أدناه). يُسمح بـ \fIcap\-code\fP واحد فقط لكل سطر. يغير الخيار \fB\-S\fP معاني حالتي الخروج \fB0\fP و \fB1\fP (انظر قسم \*(``حالة الخروج\*('' أدناه). .IP تستخدم بعض القدرات معاملات نصية بدلاً من العددية. يوظف \fB\%tput\fP جدولاً مدمجاً ووجود معاملات في دخله ليقرر كيفية تفسيرها، وما إذا كان سيستخدم \fB\%tparm\fP(3X). .TP \fB\-T\ \fP\fItype\fP يشير إلى \fItype\fP (نوع) الطرفية. عادةً ما يكون هذا الخيار غير ضروري، لأن القيمة المبدئية تؤخذ من متغير البيئة \fITERM\fP. وإذا حُدد، تُتجاهل أيضاً متغيرات البيئة \fILINES\fP و \fI\%COLUMNS\fP. .TP \fB\-v\fP يجعل \fB\%tput\fP يعمل بإسهاب، مبلغاً عن التحذيرات. .TP \fB\-V\fP يبلغ عن إصدار \fI\%ncurses\fP المرتبط بـ \fB\%tput\fP، ويخرج بحالة نجاح. .TP \fB\-x\fP يمنع \%\*(``\fBtput clear\fP\*('' من محاولة مسح ذاكرة التمرير الخلفي. .SH "حالة الخروج" عادةً، ينبغي تفسير حالات خروج \fB\%tput\fP كما يلي. .PP .if n .ne 3 .if t .ne 2 .TS Lb Lb Lb Lx. الحالة المعنى عند عدم تحديد \-S _ 0 قدرة منطقية أو نصية موجودة 1 قدرة منطقية أو عددية غائبة 2 خطأ في الاستخدام أو لم يُحدّد نوع الطرفية 3 نوع طرفية غير معروف 4 رمز قدرة غير معروف >4 خطأ في النظام (4 + \fBerrno\fP) .TE .PP تتغير معاني بعض الحالات عند استخدام الخيار \fB\-S\fP. .PP .if n .ne 4 .if t .ne 3 .TS Lb Lb Lb Lx. الحالة المعنى عند تحديد \-S _ 0 فُسِّرت جميع المعاملات 1 unused 4 لم تُفسَّر بعض المعاملات .TE .SH البيئة .\" "COLUMNS" + 2n يقرأ \fB\%tput\fP ما يصل إلى ثلاثة متغيرات بيئة إذا لم يُحدّد الخيار \fB\-T\fP. .TP 9n \fICOLUMNS\fP يحدد عرض الشاشة بالأحرف. .TP \fILINES\fP يحدد ارتفاع الشاشة بالأحرف. .TP \fITERM\fP يشير إلى نوع الطرفية. كل نوع طرفية متميز عن غيره، رغم تشابه الكثير منها. .SH الملفات .TP \fI/usr/share/tabset\fP قاعدة بيانات تهيئة علامات الجدولة .TP \fI/usr/share/terminfo\fP قاعدة بيانات أوصاف الطرفية المجمّعة .SH "القابلية للنقل" بمرور الوقت، اختلف \fB\%tput\fP الخاص بـ \fI\%ncurses\fP عن ذلك الخاص بـ System\ V في جانبين مهمين، أحدهما أصبح تاريخيًا الآن. .bP \%\*(``\fBtput\fP \fIcap\-code\fP\*('' يكتب إلى المخرجات القياسية، والتي لا يُشترط أن تكون جهاز طرفية. ومع ذلك، فإن المعاملات التي تتحكم في أوضاع الطرفية قد لا تستخدم المخرجات القياسية. .IP تستخدم معاملات \fBinit\fP و \fB\%reset\fP في \fItput\fP الخاص بـ System\ V منطق \fItset\fP من 4.1cBSD، للتحكم في أوضاع الطرفية. حيث يتحقق من نفس واصفات الملفات (و \fI\%/dev/tty\fP) للارتباط بجهاز طرفية كما يفعل \fI\%ncurses\fP الآن، وإذا لم يوجد أي منها، يفترض في النهاية وجود طرفية بسرعة 1200 باود. وعند تحديث أوضاع الطرفية، فإنه يتجاهل الأخطاء. .IP حتى \fI\%ncurses\fP 6.1 (راجع قسم \*(``التاريخ\*('' أدناه)، لم يكن \fB\%tput\fP يعدل أوضاع الطرفية. أما الآن فيستخدم آلية مشابهة لـ System\ V، باستخدام وظائف مشتركة مع \fB\%tset\fP (ومبنية في الأصل على \fItset\fP الخاص بـ 4.4BSD). إذا لم يتمكن من فتح طرفية (على سبيل المثال، عند تشغيله بواسطة \fIcron\fP(1))، فإن \fB\%tput\fP يخرج بحالة خطأ. .bP يفترض \fItput\fP الخاص بـ System\ V أن نوع معامل \fIcap\-code\fP عددي إذا كانت جميع أحرف قيمته أرقامًا عشرية؛ وإذا لم تكن كذلك، فإنه يعامل \fIcap\-code\fP كقدرة نصية (سلسلة). .IP تستخدم معظم التطبيقات التي توفر الدعم لمعاملات \fIcap\-code\fP وظيفة \fB\%tparm\fP(3X) لتوسيع معلماتها. تتوقع تلك الوظيفة مزيجًا من المعلمات العددية والنصية، مما يتطلب من \fB\%tput\fP معرفة النوع الذي يجب استخدامه. .IP يستخدم \fB\%tput\fP في \fI\%ncurses\fP جدولاً لتحديد أنواع المعلمات لمعاملات \fIcap\-code\fP القياسية، ووظيفة داخلية لتحليل معاملات \fIcap\-code\fP غير القياسية. .IP رغم كونه أكثر موثوقية من أداة System\ V، إلا أن هذا التحليل يتسبب في مشكلة في القابلية للنقل. فقد اقتبس مطور OpenBSD الوظيفة المكتبية الداخلية من \fI\%ncurses\fP لنقل \fItput\fP المبني على \fItermcap\fP الخاص بـ NetBSD إلى \fI\%term\%info\fP، وعدله ليفسر رموز قدرات (\fIcap\-codes\fP) ومعلمات متعددة في سطر الأوامر. يجب ألا تعتمد التطبيقات القابلة للنقل على هذه الميزة؛ إذ يوفرها \fI\%ncurses\fP لدعم التطبيقات المكتوبة خصيصًا لـ OpenBSD. .PP .\" generic يقبل تطبيق \fI\%ncurses\fP لـ \fItput\fP، على عكس غيره، كلاً من رموز \fItermcap\fP و \fI\%term\%info\fP إذا كان دعم \fItermcap\fP مجمّعًا داخله. ومع ذلك، في هذه الحالة، يوجد لبس في رمزين بين \fItermcap\fP و \fI\%term\%info\fP؛ حيث يفترض \fI\%ncurses\fP أنه رمز \fI\%term\%info\fP. .bP يعني رمز القدرة \fBdl\fP القدرة \fB\%delete_line\fP في \fItermcap\fP ولكن يعني \fB\%parm_delete_line\fP في \fI\%term\%info\fP. يستخدم \fItermcap\fP الرمز \fBDL\fP للقدرة \fB\%parm_delete_line\fP. بينما يستخدم \fI\%term\%info\fP الرمز \fBdl1\fP للقدرة \fB\%delete_line\fP. .bP يعني رمز القدرة \fBed\fP القدرة \fB\%exit_delete_mode\fP في \fItermcap\fP ولكن يعني \fB\%clr_eos\fP في \fI\%term\%info\fP. يستخدم \fItermcap\fP الرمز \fBcd\fP للقدرة \fB\%clr_eos\fP. بينما يستخدم \fI\%term\%info\fP الرمز \fBrmdc\fP للقدرة \fB\%exit_delete_mode\fP. .PP .\" longname was added in October 1989. لم تكن المعاملات \fB\%longname\fP، والخيار \fB\-S\fP، وميزات استبدال المعلمات المستخدمة في مثال \fBcup\fP أدناه مدعومة في AT&T/USL \fIcurses\fP قبل إصدار SVr4 (1989). لاحقًا، أضاف إصدار 4.3BSD\-Reno (1990) دعمًا لـ \fB\%longname\fP، وفي عام 1994، أضاف NetBSD دعمًا لميزات استبدال المعلمات. .PP تُوثّق مواصفات IEEE Std 1003.1/The Open Group Base Specifications Issue\ 7 (POSIX.1\-2008) المعاملات \fBclear\fP و \fBinit\fP و \fB\%reset\fP فقط. وتبرز بعض الملاحظات المثيرة للاهتمام من هذا الاختيار. .bP يدعم \fI\%ncurses\fP المعامل \fBclear\fP كما يفعل مع أي رمز قدرة قياسي آخر. أما الآخران (\fBinit\fP و \fB\%longname\fP) فلا يقابلان أي قدرات طرفية. .bP يدعم \fItput\fP في الأنظمة المبنية على SVr4 مثل Solaris و IRIX64 و HP\-UX، بالإضافة إلى أنظمة أخرى مثل AIX و Tru64، معاملات رموز القدرات القياسية أيضًا. .bP تتعرف بعض المنصات مثل FreeBSD على رموز \fItermcap\fP بدلاً من رموز قدرات \fI\%term\%info\fP في أوامر \fItput\fP الخاصة بها. ومنذ عام 2010، أصبح \fItput\fP في NetBSD يستخدم رموز \fI\%term\%info\fP. قبل ذلك، كان (مثل FreeBSD) يتعرف على رموز \fItermcap\fP. .IP بدءًا من عام 2021، أصبح FreeBSD يستخدم \fBtput\fP الخاص بـ \fI\%ncurses\fP، المهيأ لكل من \fI\%term\%info\fP (يُختبر أولاً) و \fItermcap\fP (كخيار احتياطي). .PP بما أن جميع أنظمة يونكس \fIالمعتمدة\fP (على ما يبدو) تدعم المجموعة الكاملة لرموز القدرات، فقد لا يكون سبب توثيق القليل منها فقط واضحًا. .bP تُوثّق مواصفات X/Open Curses Issue\ 7 الأداة \fBtput\fP بشكل مختلف، مع تضمين \fIcap\-code\fP والميزات الأخرى المستخدمة في هذا التطبيق. .bP بمعنى آخر، هناك معياران لـ \fItput\fP: معيار POSIX (مجموعة جزئية) ومعيار X/Open Curses (التطبيق الكامل). يوثق POSIX مجموعة جزئية لتجنب تعقيد تضمين X/Open Curses وقاعدة بيانات قدرات الطرفية. .bP رغم أنه من الممكن بالتأكيد كتابة برنامج \fItput\fP دون استخدام \fIcurses\fP، إلا أنه لا يوجد نظام يحتوي على تطبيق \fIcurses\fP يوفر أداة \fItput\fP لا تدعم أيضًا رموز القدرات (\fIcap\-codes\fP) القياسية. .PP يعد إصدار X/Open Curses Issue\ 7 (2009) هو النسخة الأولى التي توثق الأدوات. ومع ذلك، فإن هذا الجزء من X/Open Curses لا يتبع الممارسة الحالية (أي سلوك \fIcurses\fP في System\ V). .bP إنه يعين حالة الخروج 4 لـ \*(``معامل غير صالح\*(''، والتي قد يكون لها نفس معنى \*(``قدرة مجهولة\*(''. على سبيل المثال، يستخدم الكود المصدري لـ Solaris \fIxcurses\fP مصطلح \*(``غير صالح\*('' في هذه الحالة. .bP إنه يعين حالة الخروج 255 لمتغير عددي غير محدد في قاعدة بيانات \fI\%term\%info\fP. ومن المرجح أن يكون هذا خطأ في التوثيق، حيث خُلِطَ بين القيمة \*(``\-1\*('' التي تُكتب في المخرجات القياسية للإشارة إلى قدرة عددية غائبة أو ملغاة وحالة الخروج (غير الموقعة). .PP تستخدم تطبيقات System\ V المختلفة (AIX، HP\-UX، Solaris) نفس حالات الخروج التي يستخدمها \fI\%ncurses\fP. .PP يوثق NetBSD \fIcurses\fP حالات خروج لا تتوافق مع \fI\%ncurses\fP ولا مع X/Open Curses. .SH التاريخ .\" It also exited with backwards exit status (1 on success, 0 on .\" failure), and was characterized by Bostic in 1988 as "pretty .\" unreasonable". .\" See Spinellis's "unix-history-repo" on GitHub. كتب بيل جوي أمر \fItput\fP أثناء تطوير 4BSD في أكتوبر 1980. كانت هذه النسخة الأولية تمسح الشاشة فقط، ولم تُطرح مع التوزيعات الرسمية. .PP طور System\ V أمر \fItput\fP مختلفًا. .bP وفر SVr2 (1984) أداة \fItput\fP بدائية تتحقق من المعامل مقابل كل اسم قدرة وتعيد القيمة المقابلة. لم تستخدم هذه النسخة من \fItput\fP الوظيفة \fB\%tparm\fP(3X) للقدرات ذات المعلمات. .bP .\" SVr3 released in 1987, not 1985. .\" https://unix.org/what_is_unix/history_timeline.html استبدل SVr3 (1987) ذلك ببرنامج أكثر شمولاً، حيث دمج دعمه لمعاملات \fBinit\fP و \fB\%reset\fP (أكثر من نصف البرنامج) ميزة \fB\%reset\fP الخاصة بـ \fItset\fP في BSD التي كتبها إريك ألمان. .bP أضاف SVr4 (1989) تهيئة الألوان باستخدام قدرات \fB\%orig_colors\fP (\fBoc\fP) و \fB\%orig_pair\fP (\fBop\fP) في منطق \fBinit\fP الخاص به. .PP .\" https://minnie.tuhs.org/cgi-bin/utree.pl?file=4.3BSD-Reno/src/usr.bin/tput/tput.c .\" https://minnie.tuhs.org/cgi-bin/utree.pl?file=Net2/usr/src/usr.bin/tput/tput.c .\" https://minnie.tuhs.org/cgi-bin/utree.pl?file=4.4BSD/usr/src/usr.bin/tput/tput.c .\" https://minnie.tuhs.org/cgi-bin/utree.pl?file=4.3BSD-Reno/src/usr.bin/tput/clear.sh أعاد كيث بوستيك هيكلة \fItput\fP في BSD لإصداره في 4.3BSD\-Reno (1990)، مما جعله يتبع واجهة \fItput\fP في System\ V من خلال قبول بعض المعلمات المسماة بأسماء قدرات (زائفة) لـ \fI\%term\%info\fP هي: \fBclear\fP، و \fBinit\fP، و \fB\%longname\fP، و \fB\%reset\fP. ومع ذلك، ونظرًا لأن المتاح لديه كان \fItermcap\fP فقط، فقد قَبِل رموز \fItermcap\fP للقدرات الأخرى. كما أن \fItput\fP الخاص بـ BSD الذي عدله بوستيك لم يعدل أوضاع الطرفية كما كان يفعل \fItset\fP السابق في BSD. وفي الوقت نفسه، أضاف بوستيك سكربت صدفة يسمى \*(``clear\*('' يستخدم \fItput\fP لمسح الشاشة. وأصبحت هذه هي النسخة \*(``الحديثة\*'' لـ \fItput\fP في BSD. .PP يكمن أصل \fB\%tput\fP في \fI\%ncurses\fP خارج كل من System\ V و BSD، في حزمة \fI\%mytinfo\fP لروس ريدج، والتي نُشرت في \fIcomp.sources.unix\fP في ديسمبر 1992. استخدم برنامج ريدج قدرات الطرفية بشكل أكثر تطورًا من برنامج BSD. استخدم إريك رايموند برنامج \fItput\fP ذاك (وأجزاء أخرى من \fI\%mytinfo\fP) في \fI\%ncurses\fP في يونيو 1995. ومع دمجه للأجزاء المتعلقة بقدرات الطرفية دون تغيير تقريبًا، إلا أن رايموند أدخل تحسينات على طريقة التعامل مع معلمات سطر الأوامر. .PP قبل إصدار \fI\%ncurses\fP 6.1 (2018)، كانت أداتا \fB\%tset\fP و \fB\%tput\fP مختلفتين. .bP كانت أداة \fB\%tset\fP أكثر فعالية في إعادة ضبط أوضاع الطرفية وأحرف الإدخال الخاصة. .bP من ناحية أخرى، كانت مجموعة قدرات الطرفية في \fB\%tset\fP لإعادة ضبط الطرفية أكثر محدودية؛ حيث كانت تمتلك فقط ما يعادل \fB\%reset_1string\fP (\fBrs1\fP) و \fB\%reset_2string\fP (\fBrs2\fP) و \fB\%reset_file\fP (\fBrf\fP)، ولم تمتلك ميزات تحديث علامات الجدولة والهوامش الموجودة في \fB\%tput\fP. .PP يعد برنامج \fI\%reset\fP تقليديًا اسمًا مستعارًا لـ \fB\%tset\fP نظرًا لقدرته على إعادة ضبط أوضاع الطرفية وأحرف الإدخال الخاصة. .PP اعتبارًا من \fI\%ncurses\fP 6.1، أصبحت ميزات \*(``إعادة الضبط\*'' في البرنامجين هي نفسها (غالبًا). ويتبقى اختلافان طفيفان. .bP عند إجراء إعادة ضبط، يتحقق برنامج \fB\%tset\fP مما إذا كان الجهاز يبدو كطرفية وهمية (مثل تلك التي يستخدمها برنامج محاكي طرفية)، وإذا لم يكن كذلك، فإنه ينتظر ثانية واحدة تحسبًا لكونه يتواصل مع طرفية مادية (عتاد). .bP يكتب البرنامجان سلاسل تهيئة الطرفية إلى تدفقات مختلفة؛ وهي: الخطأ القياسي لـ \fB\%tset\fP والمخرجات القياسية لـ \fB\%tput\fP. .SH أمثلة .TP \fBtput init\fP تهيئ الطرفية وفقًا لنوع الطرفية في متغير البيئة \fITERM\fP. إذا كان النظام لا يهيئ الطرفية بشكل موثوق عند تسجيل الدخول، فيمكن تضمين هذا الأمر في \fI\%$HOME/.profile\fP بعد تصدير متغير البيئة \fITERM\fP. .TP \fBtput \-T5620 reset\fP تُعيد ضبط طرفية AT&T 5620، متجاوزة نوع الطرفية في متغير البيئة \fITERM\fP. .TP \fBtput cnorm\fP تضبط المؤشر على الرؤية العادية. .TP \fBtput home\fP تنقل المؤشر إلى السطر 0، العمود 0: الركن الأيسر العلوي من الشاشة، والمعروف عادةً باسم موضع المؤشر \*(``الرئيس\*'' (home). .TP \fBtput clear\fP تمسح الشاشة: تكتب قيمة قدرة \fB\%clear_screen\fP إلى تدفق المخرجات القياسية. .TP \fBtput cols\fP تُبلغ عن عدد الأعمدة التي يستخدمها نوع الطرفية الحالي. .TP \fBtput \-Tadm3a cols\fP تُبلغ عن عدد الأعمدة التي تستخدمها طرفية ADM\-3A. .TP \fBstrong=\(gatput smso\(ga normal=\(gatput rmso\(ga\fP تضبط متغيرات الصدفة على قيم القدرات: \fBstrong\fP و \fBnormal\fP، لبدء وإنهاء وضع البروز (stand\-out) للطرفية، على التوالي. يمكن استخدام هذه المتغيرات لعرض محث الأوامر. .IP .EX .RS 14 printf "${strong}Username:${normal} " .RE .EE .TP \fBtput hc\fP تشير عبر حالة الخروج عما إذا كانت الطرفية جهاز نسخ مطبوع (hard copy). .TP \fBtput cup 23 4\fP تنقل المؤشر إلى السطر 23، العمود 4. .TP \fBtput cup\fP تُبلغ عن قيمة قدرة \fB\%cursor_address\fP (\fBcup\fP) (المستخدمة لتحريك المؤشر)، دون استبدال أي معلمات. .TP \fBtput longname\fP تُبلغ عن وصف قاعدة بيانات \fI\%term\%info\fP لنوع الطرفية المحدد في متغير البيئة \fITERM\fP. .TP \fBtput \-S\fP تعالج قدرات متعددة. يمكن استخدام الخيار \fB\-S\fP بشكل مفيد مع \*(``مستند هنا\*'' (here document) في الصدفة. .IP .EX .nf $\ \fBtput \-S <\ \fBclear\fP >\ \fBcup 10 10\fP >\ \fBbold\fP >\ \fB!\fP .fi .EE .IP ما سبق يمسح الشاشة، وينقل المؤشر إلى الموضع (10, 10) ويفعل الوضع العريض (سطوع إضافي). .TP \fBtput clear cup 10 10 bold\fP تؤدي نفس الإجراءات المذكورة في مثال \%\*(``\fBtput \-S\fP\*('' السابق. .SH "انظر أيضًا" \fB\%clear\fP(1)،‏ \fB\%stty\fP(1)،‏ \fB\%tabs\fP(1)،‏ \fB\%tset\fP(1)،‏ \fB\%curs_termcap\fP(3X)،‏ \fB\%terminfo\fP(5)،‏ \fB\%user_caps\fP(5) .PP .SH ترجمة تُرجمت هذه الصفحة من الدليل بواسطة زايد السعيدي . .PP هذه الترجمة هي وثيقة مجانية؛ راجع .UR https://www.gnu.org/licenses/gpl-3.0.html رخصة جنو العامة الإصدار 3 .UE أو ما بعده للاطلاع على شروط حقوق النشر. لا توجد أي ضمانات. .PP إذا وجدت أي أخطاء في ترجمة صفحة الدليل هذه، يرجى إرسال بريد إلكتروني إلى قائمة بريد المترجمين: .MT kde-l10n-ar@kde.org .ME .