| XTERM(1) | X Window System | XTERM(1) |
نام (NAME)
xterm - شبیهساز ترمینال برای X xterm [-toolkitoption ...] [-option ...] [shell]
توضیحات (DESCRIPTION)
برنامهٔ xterm یک شبیهساز ترمینال برای سامانهٔ پنجرهٔ اکس (X Window System) است. این برنامه قابلیتهای DEC VT102/VT220 و ویژگیهای منتخب از ترمینالهای سطح بالاتر نظیر VT320/VT420/VT520 (VTxxx) را ارائه میدهد. همچنین شبیهسازی Tektronix 4014 را برای برنامههایی که نمیتوانند مستقیماً از سامانهٔ پنجره استفاده کنند، فراهم میآورد. اگر سیستمعامل زیربنایی از قابلیتهای تغییر اندازهٔ ترمینال پشتیبانی کند (برای نمونه، سیگنال SIGWINCH در سیستمهای برگرفته از 4.3BSD)، xterm از این امکانات برای اطلاعرسانی به برنامههای در حال اجرا در پنجره هنگام تغییر اندازه استفاده خواهد کرد.
ترمینالهای VTxxx و Tektronix 4014 هر یک پنجرهٔ اختصاصی خود را دارند تا بتوانید بهطور همزمان در یکی متن را ویرایش کرده و در دیگری نگارهها (گرافیک) را مشاهده کنید. جهت حفظ نسبت ابعاد صحیح (ارتفاع/عرض)، گرافیک Tektronix به بزرگترین کادری با نسبت ابعاد 4014 که در پنجره بگنجد، محدود خواهد شد. این کادر در بخش بالا و سمت چپ پنجره قرار دارد.
اگرچه هر دو پنجره میتوانند همزمان نمایش داده شوند، یکی از آنها بهعنوان پنجرهٔ «فعال» (“active”) برای دریافت ورودی صفحهکلید و خروجی ترمینال در نظر گرفته میشود. این پنجره همان پنجرهای است که مکاننمای متن را در بر دارد. پنجرهٔ فعال میتواند از طریق دنبالههای گریز (escape sequences)، منوی VT Options در پنجرهٔ VTxxx و منوی Tek Options در پنجرهٔ 4014 انتخاب شود.
شبیهسازیها (EMULATIONS)
Xterm شبیهسازیهای کاربردی از ترمینالهای مرتبط DEC ارائه میدهد:
- شبیهسازی VT52 کامل است.
- شبیهسازی VT102 نسبتاً کامل است، اما از تکرار خودکار (autorepeat) پشتیبانی نمیکند (زیرا این امر بر صفحهکلیدِ مورد استفادهٔ سایر کلاینتهای X تأثیر میگذارد).
- نویسههای با اندازهٔ دوبرابر (Double-size) در صورتی که کارساز قلم (font server) شما از قلمهای بیتمپ مقیاسپذیر پشتیبانی کند، به درستی نمایش داده میشوند.
- شبیهسازی VT220 از قلمهای نرمافزاری (soft fonts) پشتیبانی نمیکند، اما در باقی موارد کامل است.
- شبیهسازی VT420 (حالت پیشفرض) از کنترلهایی برای تغییر مستطیلهای نویسهای و نیز حاشیههای چپ/راست پشتیبانی میکند.
- Xterm از برخی ویژگیهای دیگر که برای شبیهسازی مناسب نیستند، مانند دو-نشستی (two-sessions)، پشتیبانی نمیکند.
مدخلهای پایگاهدادهٔ ترمینال (terminfo (5) یا termcap (5)) که با xterm کار میکنند عبارتند از:
- یک مدخل
اختیاری
مختص به
پلتفرم (“xterm”),
“xterm”,
“vt102”,
“vt100”,
“ansi” و
“dumb”
Xterm بهطور خودکار پایگاهدادهٔ ترمینال را با همین ترتیب برای یافتن این مدخلها جستجو کرده و سپس متغیر “TERM” (و متغیر محیطی “TERMCAP” را در برخی سیستمهای قدیمیتر) مقداردهی میکند. گزینههای جایگزین پس از “xterm” بسیار قدیمی بوده و متعلق به اواخر دههٔ ۱۹۸۰ هستند.
شبیهسازیهای VT100 و VT102 معمولاً یکسان پنداشته میشوند، هرچند در عمل تفاوت دارند. VT102 کنترلهایی را برای درج و حذف خطوط فراهم میکرد.
به همین ترتیب، اغلب “ansi” و “vt100” یکسان در نظر گرفته میشوند. اینها واقعاً یکسان نیستند؛ برای نمونه، آنها از کنترلهای متفاوتی برای پیمایش (scrolling) استفاده میکنند (اما xterm از هر دو پشتیبانی میکند). این ویژگیها در توصیف ترمینال “ansi” نسبت به xterm تفاوت دارند:
- acsc
-
شبهگرافیک (رسم خطوط) از نگاشت متفاوتی استفاده میکند. - xenl
-
Xterm متن را در حاشیهٔ راست با استفاده از رفتار «اشکال خط جدید» (“newline glitch”) متعلق به VT100 میشکند.
به دلیل این رفتار شکستن خطوط، هنگام استفاده از ویرایشگر متن با توصیف “ansi” ممکن است گهگاه مجبور شوید صفحه را مجدداً ترسیم (repaint) کنید.
شما همچنین میتوانید از توصیفهای متناظر با شبیهسازیهای مختلفِ پشتیبانیشده مانند “vt220” یا “vt420” استفاده کنید، اما باید سطح شبیهسازی ترمینال را با منبع decTerminalID تنظیم نمایید.
در بیشتر سیستمها، xterm از پایگاهدادهٔ terminfo استفاده خواهد کرد. برخی سیستمهای قدیمیتر از termcap استفاده میکنند. (اگر xterm در پیوند با کتابخانهٔ terminfo کامپایل شده باشد، متغیر محیطی “TERMCAP” تنظیم نمیشود، زیرا اطلاعات لازم توسط لایهٔ شبیهسازی termcap در کتابخانههای terminfo ارائه نمیگردد).
بسیاری از ویژگیهای ویژهٔ xterm میتوانند تحت کنترل برنامه از طریق مجموعهای از دنبالههای گریز که با دنبالههای گریز استاندارد VTxxx تفاوت دارند، تغییر یابند (بخش Xterm Control Sequences را ببینید).
شبیهسازی Tektronix 4014 نیز نسبتاً خوب است. این شبیهساز از آدرسدهی گرافیکی ۱۲ بیتی، مقیاسشده متناسب با اندازهٔ پنجره، پشتیبانی میکند. چهار اندازهٔ قلم مختلف و پنج نوع خط متفاوت پشتیبانی میشوند. هیچ پشتیبانیای از حالتهای write-through یا defocused وجود ندارد. دستورهای متنی و گرافیکی Tektronix بهصورت داخلی توسط xterm ضبط میشوند و میتوان با ارسال دنبالهٔ گریز COPY (یا از طریق منوی Tek Options؛ پایین را ببینید) آنها را در یک فایل ذخیره کرد. نام فایل به این صورت خواهد بود:
“COPYyyyy-MM-dd.hh:mm:ss”
که در آن yyyy، MM، dd، hh، mm و ss بهترتیب سال، ماه، روز، ساعت، دقیقه و ثانیهای هستند که عملیات COPY در آن لحظه انجام شده است (فایل در دایرکتوریای که xterm در آن اجرا شده، یا دایرکتوری خانگی برای یک xterm از نوع login، ایجاد میشود).
همهٔ ویژگیهای شرحدادهشده در این دفترچهٔ راهنما لزوماً در این نسخه از xterm موجود نیستند. برخی (برای نمونه، افزونههای غیر-VT220) تنها در صورتی در دسترس هستند که بهصورت کامپایلشده گنجانده شده باشند، اگرچه پرکاربردترین آنها در پیکربندی پیشفرض فعال هستند. Xterm هنگامی که اشارهگر وارد پنجره میشود (انتخابشده)، مکاننمای متن را به طور خودکار برجسته (highlight) میکند و زمانی که اشارهگر پنجره را ترک میکند (انتخابنشده)، برجستگی آن را برمیدارد. اگر پنجره دارای فوکوس باشد، مکاننمای متن صرفنظر از این که اشارهگر کجاست برجسته خواهد بود.
در حالت VTxxx، توالیهای گریز (escape sequences) برای فعال و غیرفعال کردن یک بافر صفحه جایگزین وجود دارند، که اندازهای برابر با ناحیه نمایش پنجره دارد. هنگام فعالسازی، صفحه کنونی ذخیره شده و با صفحه جایگزین تعویض میشود. ذخیرهسازی خطوطی که از بالای پنجره به بیرون پیمایش میشوند تا زمان بازیابی صفحه عادی غیرفعال است. توصیف معمول ترمینال برای xterm به ویرایشگر دیداری vi(1) اجازه میدهد برای ویرایش به صفحه جایگزین تغییر وضعیت دهد و هنگام خروج، صفحه را بازیابی کند. یک گزینه منوی جهنده (popup) جابهجایی میان صفحات عادی و جایگزین را برای برش و چسباندن (cut and paste) ساده میسازد.
در هر دو حالت VTxxx یا Tektronix، توالیهای گریزی برای تغییر نام پنجرهها وجود دارد. علاوه بر این، در حالت VTxxx، xterm توالیهای کنترلی دستکاری پنجره مربوط به dtterm را پیادهسازی میکند، مانند تغییر اندازه پنجره و تعیین موقعیت آن روی صفحه نمایش.
Xterm به برنامههای نویسهمحور اجازه میدهد تا رویدادهای موشواره را (در حال حاضر رویدادهای فشردهشدن و رهاسازی کلید، و رویدادهای حرکت کلید) به عنوان توالیهای کنترلی صفحهکلید دریافت کنند. برای جزئیات به Xterm Control Sequences مراجعه کنید.
گزینهها (OPTIONS)
از آنجا که xterm از کتابخانه X Toolkit استفاده میکند، گزینههای خط فرمان استاندارد X Toolkit را میپذیرد. همچنین Xterm گزینههای اختصاصی برنامه فراوانی را میپذیرد.
طبق قرارداد، اگر گزینهای به جای “-” با یک “+” آغاز شود، گزینه به مقدار پیشفرض خود بازگردانده میشود.
بیشتر گزینههای xterm در واقع توسط X Toolkit تجزیه میشوند، که مقادیر منبع را تنظیم کرده، و تنظیمات منبع متناظر در فایلهای منبع X شما را بازنویسی میکند. Xterm جدولی از گزینهها را در اختیار X Toolkit قرار میدهد. تعداد کمی از اینها علامتگذاری شدهاند و به X Toolkit اعلام میکنند که از آنها صرفنظر کند (-help، -version، -class، -e و -into). پس از آنکه X Toolkit پارامترهای خط فرمان را تجزیه کرد، مواردی را که پردازش میکند حذف نموده، و پارامترهای دارای علامت ویژه را برای پردازش توسط xterm باقی میگذارد.
این گزینهها مقدار منبع را تنظیم نمیکنند، و به صورت ویژه به آنها رسیدگی میشود:
- -version
- این گزینه باعث میشود xterm شماره نسخه را در خروجی استاندارد چاپ کرده و سپس خارج شود.
- -help
- این گزینه
باعث
میشود xterm
پیام مفصلی
را در توصیف
گزینههای
خود، هر
کدام در یک
خط، چاپ
کند. این
پیام در
خروجی
استاندارد
نوشته
میشود. پس
از چاپ
پیام، xterm
خارج
میشود. Xterm
این پیام را
تولید
کرده، آن را
مرتب
میسازد و
یادآور
میشود که
آیا یک
“-option” یا یک
“+option”
ویژگی مورد
نظر را روشن
یا خاموش
میکند،
چرا که به
لحاظ
تاریخی
برخی
ویژگیها
به یکی از
این دو شکل
بودهاند.
Xterm هنگام
استفاده از
یک گزینه
ناشناخته،
یک پیام
راهنمای
مختصر
(چندین
گزینه در هر
سطر) تولید
میکند،
مانند:
xterm -z
- اگر منطق مربوط به یک گزینه خاص مانند لاگگیری (logging) در xterm کامپایل نشده باشد، متن راهنمای مربوط به آن گزینه نیز توسط گزینه -help نمایش داده نمیشود.
گزینههای -version و -help حتی اگر xterm نتواند نمایشگر را باز کند تفسیر میشوند و برای آزمودن و اسکریپتهای پیکربندی سودمندند. این گزینهها به همراه -class، پیش از سایر گزینهها بررسی میشوند. برای انجام این کار، xterm تجزیهکننده آرگومان اختصاصی (و بسیار سادهتر) خود را دارد، به همراه جدولی از فهرست گزینههای داخلیِ X Toolkit.
اتکا به X Toolkit برای تجزیه گزینهها و مقادیر مرتبط مزایای سادگی و یکپارچگی خوب با سازوکار منبع X را به همراه دارد. با این حال، چند نکته منفی وجود دارد:
- Xterm به آسانی نمیتواند تشخیص دهد که آیا یک مقدار منبع توسط یکی از فایلهای منابع خارجی یا پیشفرضهای برنامه تنظیم شده است، آیا با استفاده از xrdb(1) مقداردهی شده، یا از طریق گزینه -xrm یا به واسطه گزینهای مستقیماً مرتبط در خط فرمان اعمال گردیده است. Xterm تنها نتیجه نهایی را میبیند: مقداری که هنگام ساخت ویجتهایش عرضه شده است.
- Xterm از ترتیبی که در آن گزینههای خاص و موارد درون فایلهای منبع ارزیابی میشوند مطلع نیست. بلکه تمام مقادیر یک ویجت مفروض را همزمان میبیند. در طراحی این گزینهها، برخی مهمتر تلقی شدهاند، و میتوانند گزینههای دیگر را بازنویسی کنند.
- X Toolkit از الگوها (ثابتها و نویسههای عام یا wildcard) برای تطبیق منابع استفاده میکند. هنگامی که از یک الگوی خاص استفاده شود، آن را تغییر نخواهد داد. برای بازنویسی یک تنظیم مفروض، باید از الگوی مشخصتری استفاده شود، مانند جایگزینی “*” با “.”. برخی از فایلهای منبعِ بد طراحیشده بیش از حد مشخص هستند و مانع از آن میشوند که گزینههای خط فرمان بتوانند مقادیر ویجتهای مرتبط را تحت تأثیر قرار دهند.
- •
- در موارد اندکی، X Toolkit گزینههای استاندارد خود را به شیوههایی ترکیب میکند که با xterm به خوبی عمل نمیکنند. این امر در مورد گزینههای رنگ (-fg، -bg) و معکوسسازی (-rv) رخ میدهد. Xterm این موارد را استثنا قرار داده و برداشت خود از “معکوس” را تطبیق میدهد تا غافلگیری کاربر را کاهش دهد.
یک پارامتر (پس از تمام گزینهها) میتواند مشخص شود. این پارامتر انتخاب پیشفرض و توکار xterm برای برنامه پوسته را بازنویسی میکند:
- اگر پارامتر یک مسیر نسبی نباشد، یعنی با “./” یا “../” آغاز نشود، xterm در متغیر PATH کاربر به دنبال فایل میگردد. در هر دو حالت، اگر xterm نتواند یک مسیر مطلق ایجاد کند، این بررسی با شکست مواجه میشود.
- اگر آن بررسی با شکست مواجه شود (یا اگر چنین پارامتری داده نشده باشد)، xterm در مرحله بعد متغیر “SHELL” را بررسی میکند. اگر آن متغیر یک فایل اجرایی را مشخص کرده باشد، xterm برای اجرای آن تلاش خواهد کرد. با این حال، xterm علاوه بر این معتبر بودن پوسته را بررسی کرده، و در صورتی که معتبر نباشد مقدار “SHELL” را لغو (unset) خواهد کرد.
- اگر “SHELL” به یک فایل اجرایی اشاره نداشته باشد، xterm تلاش میکند تا از برنامه پوسته مشخصشده در مدخل فایل گذرواژه کاربر استفاده کند. همانند قبل، xterm بررسی میکند که آیا این پوسته معتبر است یا خیر.
- در نهایت، اگر مدخل فایل گذرواژه نیز پوسته معتبری را مشخص نکند، xterm از /bin/sh استفاده میکند.
گزینه -e نمیتواند همراه با این پارامتر استفاده شود چرا که تمامی پارامترهای پس از گزینه را مصرف میکند.
Xterm برنامههای پوسته را با یافتن نام مسیر آنها در فایل متنی /etc/shells اعتبارسنجی میکند. این برنامه با متغیر محیطی “SHELL” رفتاری ویژه دارد زیرا (مانند “TERM”))، xterm این متغیر را هم میخواند و هم بهروزرسانی میکند، و همچنین به این دلیل که برنامه اجرا شده توسط xterm لزوماً یک پوسته نیست.
گزینههای دیگر برای کنترل ظاهر و رفتار استفاده میشوند. لزوماً تمام گزینهها در نسخه نصبشده xterm شما پیکربندی نشدهاند:
- -132
- به طور معمول، توالی گریز DECCOLM مربوط به VT102 که بین حالت ۸۰ و ۱۳۲ ستونی جابهجا میشود نادیده گرفته میشود. این گزینه باعث شناسایی توالی گریز DECCOLM میشود، و پنجره xterm به طور متناسب تغییر اندازه خواهد داد.
- -ah
- این گزینه نشان میدهد که xterm باید همیشه مکاننمای متن را برجسته نگه دارد. به طور پیشفرض، هر زمان که فوکوس از دست برود یا اشارهگر پنجره را ترک کند، xterm یک مکاننمای متن توخالی را نمایش میدهد..TP 8 +ah این گزینه مشخص میکند که xterm باید برجستهسازی مکاننمای متن را بر اساس فوکوس انجام دهد.
- -ai
- این گزینه در صورتی که پشتیبانی از آیکون فعال در xterm کامپایل شده باشد، آن را غیرفعال میکند. این معادل تنظیم ریسورس vt100 یعنی activeIcon روی “false” است.
- +ai
- این گزینه در صورتی که پشتیبانی از آیکون فعال در xterm کامپایل شده باشد، آن را فعال میکند. این معادل تنظیم ریسورس vt100 یعنی activeIcon روی “true” است.
- -aw
- این گزینه مشخص میکند که شکستن خودکار خط (auto-wraparound) باید مجاز باشد، و معادل تنظیم ریسورس vt100 یعنی autoWrap روی “true” است.
- شکستن خودکار خط به مکاننما اجازه میدهد هنگامی که در راستترین موقعیت یک خط قرار دارد و متنی نمایش داده میشود، بهطور خودکار به ابتدای خط بعدی منتقل شود.
- +aw
- این گزینه مشخص میکند که شکستن خودکار خط نباید مجاز باشد، و معادل تنظیم ریسورس vt100 یعنی autoWrap روی “false” است.
- -b number
- این گزینه اندازهٔ حاشیهٔ داخلی (فاصلهٔ بین لبهٔ بیرونی نویسهها و حاشیهٔ پنجره) را برحسب پیکسل مشخص میکند. این همان ریسورس internalBorder در vt100 است. مقدار پیشفرض “2” است.
- -barc
- این گزینه، متناظر با ریسورس cursorBar، مکاننما را بهجای جعبهای به شکل خط/میله درمیآورد.
- +barc
- این گزینه، متناظر با ریسورس cursorBar، مکاننما را بهجای خط/میله به شکل جعبهای درمیآورد.
- -baudrate number
- سرعت خط (line-speed) را تعیین میکند، که برای آزمایش رفتار برنامههایی به کار میرود که هنگام بهینهسازی خروجی خود روی صفحه نمایش از سرعت خط استفاده میکنند. مقدار پیشفرض “38400” است.
- -bc
- چشمکزدن مکاننمای متن را روشن میکند. این گزینه بر ریسورس cursorBlink مقدم است.
- +bc
- چشمکزدن مکاننمای متن را خاموش میکند. این گزینه بر ریسورس cursorBlink مقدم است.
- -bcf milliseconds
- مدت زمانی را که مکاننمای متن در هنگام چشمکزدن خاموش میماند از طریق ریسورس cursorOffTime تنظیم میکند.
- -bcn milliseconds
- مدت زمانی را که مکاننمای متن در هنگام چشمکزدن روشن میماند از طریق ریسورس cursorOnTime تنظیم میکند.
- -bdc
- ریسورس colorBDMode در vt100 را روی “false” تنظیم میکند، و نمایش نویسههای دارای ویژگی توپر (bold) بهصورت رنگی را غیرفعال میسازد.
- +bdc
- ریسورس colorBDMode در vt100 را روی “true” تنظیم میکند، و نمایش نویسههای دارای ویژگی توپر (bold) را بهجای توپر بودن بهصورت رنگی فعال میسازد.
- -cb
- ریسورس cutToBeginningOfLine در vt100 را روی “false” تنظیم میکند.
- +cb
- ریسورس cutToBeginningOfLine در vt100 را روی “true” تنظیم میکند.
- -cc characterclassrange:value[, ...]
- کلاسهای مشخصشده با بازههای دادهشده را برای استفاده در انتخاب کلمهای تعیین میکند (بخش CHARACTER CLASSES و ریسورس charClass را ببینید).
- -cjk_width
- ریسورس cjkWidth را روی “true” تنظیم میکند. هنگامی که فعال باشد، نویسههای دارای دستهبندی مبهم آسیای شرقی (A) در UTR 11 دارای پهنای ستونی ۲ خواهند بود. در غیر این صورت، دارای پهنای ستونی ۱ هستند. این قابلیت ممکن است برای برخی برنامههای متنی قدیمی پایانهای CJK که فرض میکنند جعبهکشیها (box drawings) و موارد دیگر دارای پهنای ستونی ۲ هستند مفید باشد. همچنین هنگامی که یک فونت TrueType دونرخهٔ CJK (عرض دوگانه / تکفاصله) را با -fa در خط فرمان یا از طریق ریسورس faceName مشخص میکنید، باید فعال شود. پیشفرض “false” است.
- +cjk_width
- ریسورس cjkWidth را بازنشانی میکند.
- -class string
- این گزینه به شما امکان میدهد کلاس ریسورس xterm را بازنویسی کنید. بهطور عادی این مقدار “XTerm” است، اما میتوان آن را روی کلاس دیگری مانند “UXTerm” تنظیم کرد تا ریسورسهای مشخصی بازنویسی شوند.
- X Toolkit ویژگی WM_CLASS را با استفاده از نام نمونه (instance name) و مقدار این کلاس تنظیم میکند.
- -cm
- این گزینه شناسایی دنبالههای گریز تغییر رنگ ANSI را غیرفعال میکند. این گزینه ریسورس colorMode را روی “false” تنظیم میکند.
- +cm
- این گزینه شناسایی دنبالههای گریز تغییر رنگ ANSI را فعال میکند. این همان ریسورس colorMode در vt100 است.
- -cn
- این گزینه مشخص میکند که در گزینشهای حالت خطی، خطوط جدید نباید بریده/کپی شوند. این گزینه ریسورس cutNewline را روی “false” تنظیم میکند.
- +cn
- این گزینه مشخص میکند که در گزینشهای حالت خطی، خطوط جدید باید بریده/کپی شوند. این گزینه ریسورس cutNewline را روی “true” تنظیم میکند.
- -cr color
- این گزینه رنگ مورد استفاده برای مکاننمای متن را تعیین میکند. پیشفرض استفاده از همان رنگ پیشزمینهای است که برای متن به کار میرود. این گزینه ریسورس cursorColor را مطابق با پارامتر مربوطه تنظیم میکند.
- -cu
- این گزینه مشخص میکند که xterm باید ایراد موجود در برنامهٔ more(1) را که باعث میشود خطوطی با پهنای دقیقاً به اندازهٔ پنجره که بلافاصله پس از آنها خطی با نویسهٔ تب (tab) شروع میشود به اشتباه نمایش یابند (تبهای ابتدایی نمایش داده نمیشوند)، دور بزند. نام این گزینه به این دلیل انتخاب شده است که در ابتدا تصور میشد این باگ در بستهٔ حرکت مکاننمای curses(3x) است.
- +cu
- این گزینه مشخص میکند که xterm نباید باگ برنامهٔ more(1) را که در بالا ذکر شد دور بزند.
- -dc
- این گزینه دنبالهٔ گریز برای تغییر رنگهای پویا را غیرفعال میکند: رنگهای پیشزمینه و پسزمینهٔ vt100، رنگ مکاننمای متن آن، رنگهای پیشزمینه و پسزمینهٔ مکاننمای اشارهگر، رنگهای پیشزمینه و پسزمینهٔ شبیهساز Tektronix، رنگ مکاننمای متن آن و رنگ برجستهسازی. این گزینه، گزینهٔ dynamicColors را روی “false” تنظیم میکند.
- +dc
- این گزینه دنبالهٔ گریز برای تغییر رنگهای پویا را فعال میکند. این گزینه، گزینهٔ dynamicColors را روی “true” تنظیم میکند.
- -e program [ arguments ... ]
- این گزینه برنامه (و آرگومانهای خط فرمان آن) را برای اجرا در پنجرهٔ xterm تعیین میکند. اگر هیچیک از گزینههای -T یا -n در خط فرمان داده نشده باشند، عنوان پنجره و نام آیکون را نیز برابر با نام پایهٔ (basename) برنامهٔ در حال اجرا قرار میدهد.
- نکته: این باید آخرین گزینه در خط فرمان باشد.
- -emoji_width
- ریسورس emojiWidth را روی “true” تنظیم میکند. هنگامی که فعال باشد، انتخابکنندههای گونهٔ یونیکد VS15 و VS16 تفسیر شده و تعداد سلولهای نویسهٔ Emoji بلافاصله قبلی را بازنویسی میکنند. پیشفرض “false” است..TP 8 +emoji_width منبع emojiWidth را بازنشانی میکند.
- -en encoding
- این گزینه کدگذاریای که xterm با آن اجرا میشود را مشخص میکند. این گزینه منبع locale را تنظیم میکند. کدگذاریهای غیر از UTF-8 با استفاده از luit پشتیبانی میشوند. در سیستمهایی با پشتیبانی از locale، به جای -en باید از گزینهٔ -lc استفاده شود.
- -fa pattern
- این گزینه الگوی قلمهای انتخابشده از کتابخانهٔ FreeType را در صورتی که پشتیبانی از آن کتابخانه در xterm کامپایل شده باشد، تنظیم میکند. این گزینه متناظر با منبع faceName است. هنگامی که یک قلم دو-عرضی (double-width) برای CJK مشخص میشود، باید منبع cjkWidth را نیز فعال کنید.
- اگر هم -fa و هم گزینهٔ -fn از X Toolkit را مشخص کنید، تنظیمات -fa بر دومی اولویت خواهد داشت.
- همچنین به منبع renderFont مراجعه کنید، که همراه با این گزینه تعیین میکند آیا قلمهای FreeType در ابتدا فعال باشند یا خیر.
- -fb font
- این گزینه قلم مورد استفاده برای نمایش متن درشت (bold) را مشخص میکند. این گزینه منبع boldFont را تنظیم میکند.
- این قلم باید ارتفاع و عرضی یکسان با قلم معمولی داشته باشد، در غیر این صورت نادیده گرفته میشود. اگر تنها یکی از قلمهای معمولی یا درشت مشخص شده باشد، به عنوان قلم معمولی استفاده خواهد شد و قلم درشت با چاپ دوباره روی همان قلم (overstriking) ایجاد میشود.
- همچنین توضیحات مربوط به منابع boldMode و alwaysBoldMode را ببینید.
- -fbb
- این گزینه مشخص میکند که xterm باید کادرهای محصورکننده (bounding boxes) قلمهای معمولی و درشت را مقایسه کند تا از سازگاری آنها اطمینان حاصل شود. این گزینه منبع freeBoldBox را برابر “false” قرار میدهد.
- +fbb
- این گزینه مشخص میکند که xterm نباید کادرهای محصورکننده قلمهای معمولی و درشت را برای اطمینان از سازگاری آنها مقایسه کند. این گزینه منبع freeBoldBox را برابر “true” قرار میدهد.
- -fbx
- این گزینه مشخص میکند که xterm نباید فرض کند قلمهای معمولی و درشت دارای نویسههای خطکشی VT100 هستند. اگر هر یک از آنها موجود نباشد، xterm نویسهها را مستقیماً رسم خواهد کرد. این گزینه منبع forceBoxChars را برابر “false” قرار میدهد.
- +fbx
- این گزینه مشخص میکند که xterm باید فرض کند قلمهای معمولی و درشت دارای نویسههای خطکشی VT100 هستند. این گزینه منبع forceBoxChars را برابر “true” قرار میدهد.
- -fc fontchoice
- قلم اولیهٔ انتخابشده از منوی قلم را مشخص میکند. مقدار این گزینه متناظر با منبع initialFont است.
- -fd pattern
- این گزینه الگوی قلمهای دو-عرضی انتخابشده از کتابخانهٔ FreeType را در صورتی که پشتیبانی از آن کتابخانه در xterm کامپایل شده باشد، تنظیم میکند. این متناظر با منبع faceNameDoublesize است.
- -fi font
- این گزینه قلم نمادهای (icon) فعال را در صورتی که این ویژگی در xterm کامپایل شده باشد، تنظیم میکند.
- همچنین توضیحات مربوط به منبع iconFont را ببینید.
- -fs size
- این گزینه اندازهٔ قلم بر حسب پوینت (pointsize) را برای قلمهای انتخابشده از کتابخانهٔ FreeType، در صورتی که پشتیبانی از آن کتابخانه در xterm کامپایل شده باشد، تنظیم میکند. این متناظر با منبع faceSize است.
- -fullscreen
- این گزینه مشخص میکند که xterm باید از مدیر پنجره درخواست کند تا کل صفحه را برای نمایش در اختیار آن بگذارد، برای مثال بدون تزئینات پنجره. این گزینه منبع fullscreen را برابر “true” قرار میدهد.
- +fullscreen
- این گزینه مشخص میکند که xterm نباید از مدیر پنجره درخواست کند تا کل صفحه را برای نمایش در اختیار آن بگذارد. این گزینه منبع fullscreen را برابر “false” قرار میدهد.
- -fw font
- این گزینه قلم مورد استفاده برای نمایش متن عریض (wide) را مشخص میکند. بهطور پیشفرض، تلاش خواهد کرد از قلمی با دو برابر عرض قلمی که برای رسم متن معمولی به کار میرود استفاده کند. اگر قلم دو-عرضی یافت نشود، با کشیدن قلم معمولی وضعیت را مدیریت میکند. این متناظر با منبع wideFont است.
- -fwb font
- این گزینه قلم مورد استفاده برای نمایش متن درشت و عریض را مشخص میکند. بهطور پیشفرض، تلاش خواهد کرد از قلمی با دو برابر عرض قلمی که برای رسم متن درشت به کار میرود استفاده کند. اگر قلم دو-عرضی یافت نشود، با کشیدن قلم درشت وضعیت را مدیریت میکند. این متناظر با منبع wideBoldFont است.
- -fx font
- این گزینه قلم مورد استفاده برای نمایش رشتهٔ پیشویرایش (preedit) را در روش ورودی “OverTheSpot” مشخص میکند.
- همچنین توضیحات مربوط به منبع ximFont را ببینید.
- -hc color
- (گزینهٔ -selbg را ببینید).
- -hf
- این گزینه مشخص میکند که برای کلیدهای تابعی باید کدهای گریز کلید تابعی HP تولید شوند. این گزینه منبع hpFunctionKeys را برابر “true” قرار میدهد.
- +hf
- این گزینه مشخص میکند که برای کلیدهای تابعی نباید کدهای گریز کلید تابعی HP تولید شوند. این گزینه منبع hpFunctionKeys را برابر “false” قرار میدهد.
- -hm
- به xterm اعلام میکند که از highlightTextColor و highlightColor برای بازنویسی رنگهای معکوس پیشزمینه/پسزمینه در یک انتخاب (selection) استفاده کند. این گزینه منبع highlightColorMode را برابر “true” قرار میدهد.
- +hm
- به xterm اعلام میکند که از highlightTextColor و highlightColor برای بازنویسی رنگهای معکوس پیشزمینه/پسزمینه در یک انتخاب استفاده نکند. این گزینه منبع highlightColorMode را برابر “false” قرار میدهد.
- -hold
- منبع hold را فعال میکند؛ بدین معنی که xterm پنجرهٔ خود را بلافاصله پس از اتمام فرمان شل نابود نخواهد کرد. تا زمانی که از مدیر پنجره برای بستن/کشتن پنجره استفاده کنید، یا از موارد منو که سیگنالی ارسال میکنند (مانند HUP یا KILL) استفاده نمایید، منتظر میماند.
- +hold
- منبع hold را غیرفعال میکند؛ بدین معنی که xterm پنجرهٔ خود را بلافاصله پس از اتمام فرمان شل نابود خواهد کرد.
- -ie
- منبع ptyInitialErase را فعال میکند؛ بدین معنی که از برداشت شبهترمینال از مقدار پاککردن (erase) در stty(1) استفاده میکند.
- +ie
- منبع ptyInitialErase را غیرفعال میکند؛ یعنی در صورت موجود بودن، مقدار پاککردن stty را با استفاده از رشتهٔ kb از مدخل termcap به عنوان مرجع تنظیم میکند.
- -im
- منبع useInsertMode را فعال میکند، که استفاده از حالت درج (insert mode) را با افزودن ورودیهای مناسب به متغیر محیطی TERMCAP اجباری میکند. (این گزینه در بیشتر سیستمها نادیده گرفته میشود، زیرا از TERMCAP استفاده نمیشود).
- +im
- منبع useInsertMode را غیرفعال میکند.
- -into windowId
- با دریافت یک شناسهٔ پنجرهٔ X (یک عدد صحیح که بسته به اینکه با "0x"، "0" یا هیچکدام آغاز شود، میتواند هگزادسیمال، اکتال یا دهدهی باشد)، xterm والد ویجت شل سطح بالای خود را به آن پنجره تغییر میدهد (reparent میکند). این قابلیت برای تعبیه کردن xterm در برنامههای دیگر استفاده میشود.
- برای نمونه، اسکریپتهایی برای Tcl/Tk و Gtk وجود دارند که میتوانند برای نمایش این قابلیت استفاده شوند. هنگام استفاده از Gtk، محدودیتی در آن جعبهابزار وجود دارد که نیازمند فعال بودن منبع allowSendEvents در xterm است.
- -itc
- منبع colorITMode مربوط به vt100 را برابر “false” قرار میدهد، و نمایش نویسههای دارای ویژگی خوابیده (italic) به صورت رنگی را غیرفعال میکند..TP 8 +itc منبع vt100 به نام colorITMode را برابر “true” قرار میدهد که نمایش نویسهها با مشخصه ایتالیک (italic) را به جای ایتالیک، به صورت رنگی فعال میکند.
- -j
- این گزینه مشخص میکند که xterm باید از پیمایش جهشی (jump scrolling) استفاده کند. این مورد متناظر با منبع jumpScroll است. به طور معمول، متن خط به خط پیمایش میشود؛ این گزینه به xterm اجازه میدهد چندین خط را در یک زمان جابهجا کند تا از جریان ورودی عقب نماند. استفاده از آن اکیداً توصیه میشود زیرا سرعت xterm را هنگام پیمایش حجم زیادی از متن بسیار بیشتر میکند. توالیهای گریز VT100 برای فعال و غیرفعال کردن پیمایش روان (smooth scroll) و همچنین منوی VT Options میتوانند برای روشن یا خاموش کردن این ویژگی به کار روند.
- +j
- این گزینه مشخص میکند که xterm نباید از پیمایش جهشی استفاده کند.
- -jf
- هنگام انجام پیمایش جهشی یا نمایهسازی مرتبط (مانند carriage returns)، xterm برای بهبود سرعت، اعمال بهروزرسانیهای صفحه را به تعویق میاندازد. این گزینه متناظر با منبع fastScroll است.
- +jf
- هنگام انجام پیمایش جهشی یا نمایهسازی مرتبط (مانند carriage returns)، xterm اعمال بهروزرسانیهای صفحه را برای بهبود سرعت به تعویق نمیاندازد. این گزینه متناظر با منبع fastScroll است.
- -k8
- این گزینه منبع allowC1Printable را تنظیم میکند. هنگامی که allowC1Printable تنظیم شده باشد، xterm نگاشت نویسههای کنترلی C1 (کدهای 128–159) را نادیده گرفته و با آنها به عنوان نویسههای قابل چاپ رفتار میکند.
- +k8
- این گزینه منبع allowC1Printable را بازنشانی میکند.
- -kt keyboardtype
- این گزینه منبع keyboardType را تنظیم میکند. مقادیر ممکن عبارتند از: “unknown”، “default”، “legacy”، “hp”، “sco”، “sun”، “tcap” و “vt220”.
- مقدار “unknown”، باعث نادیده گرفته شدن منبع مربوطه میشود.
- مقدار “default”، منابع مرتبط را غیرفعال کرده
- hpFunctionKeys،
scoFunctionKeys،
sunFunctionKeys،
tcapFunctionKeys،
oldXtermFKeys و
sunKeyboard، - و از چیدمان صفحهکلید Sun/PC استفاده میکند.
- -l
- ثبت گزارش (logging) را روشن میکند، مگر اینکه توسط منبع logInhibit غیرفعال شده باشد.
- برخی از نسخههای xterm ممکن است ثبت گزارش را به طور پیشفرض فعال داشته باشند. با این حال، معمولاً به دلیل نگرانیهای امنیتی در اوایل دهه ۱۹۹۰، ثبت گزارش پشتیبانی نمیشود. این مشکل در X11R4 xterm (سال ۱۹۸۹) وجود داشت که با یک وصله در اواخر سال ۱۹۹۳ در X11R5 برطرف شد. X11R6 این اصلاحات را شامل شد. نسخههای قدیمیتر (هنگام اجرا با امتیازات root) فایل گزارش را با استفاده از امتیازات root ایجاد میکردند. دلیل اینکه xterm با امتیازات root اجرا میشد، باز کردن شبهترمینالها (pseudo-terminals) بود. این امتیازات اکنون تنها در سامانههای بسیار قدیمی مورد نیاز است: شبهترمینالهای Unix98 طرح BSD را غیرضروری کردند.
- مگر در مواردی که توسط گزینه -lf یا منبع logFile لغو شده باشد:
- اگر نام فایل برابر با “-” باشد، ثبت گزارش به خروجی استاندارد ارسال میشود.
- در غیر این صورت یک نام فایل ایجاد میشود و فایل گزارش در دایرکتوریای که xterm از آن فراخوانی شده است نوشته میشود.
- نام فایل
تولید شده
به فرم زیر
است:
XtermLog.XXXXXX
- یا
Xterm.log.hostname.yyyy.mm.dd.hh.mm.ss.XXXXXX
- بسته به این که xterm چگونه ساخته شده باشد.
- +l
- ثبت گزارش را خاموش میکند.
- -lc
- پشتیبانی از کدگذاریهای گوناگون را بر اساس تنظیمات لوکال (locale) کاربر، یعنی متغیرهای محیطی LC_ALL، LC_CTYPE یا LANG فعال میکند. این کار با فعالسازی حالت UTF-8 و فراخوانی luit برای تبدیل بین کدگذاریهای لوکال و UTF-8 انجام میشود. (luit در لوکالهای UTF-8 فراخوانی نمیشود.) این مورد متناظر با منبع locale است.
- فهرست واقعی کدگذاریهای پشتیبانیشده توسط luit تعیین میشود. برای جزئیات بیشتر به صفحه راهنمای luit مراجعه کنید.
- همچنین به بخش مربوط به گزینه -u8 که از لوکالهای UTF-8 پشتیبانی میکند مراجعه کنید.
- +lc
- پشتیبانی از انتخاب خودکار کدگذاریهای لوکال را خاموش میکند. حالت معمولی ۸ بیتی یا، در لوکالهای UTF-8 یا با گزینه -u8، حالت UTF-8 استفاده خواهد شد.
- -lcc path
- نام فایل برای مبدل کدگذاری از/به کدگذاریهای لوکال و UTF-8 که همراه با گزینه -lc یا منبع locale استفاده میشود. این مورد متناظر با منبع localeFilter است.
- -leftbar
- نوار پیمایش (scrollbar) را مجبور میکند در سمت چپ صفحه VT100 قرار گیرد. این حالت پیشفرض است، مگر اینکه منبع rightScrollBar را تنظیم کرده باشید.
- -lf filename
- نام فایل گزارش را مشخص میکند. این گزینه منبع logFile را تنظیم میکند. اگر روی “-” تنظیم شود، xterm گزارش خود را در خروجی استاندارد مینویسد. گزینه -l را ببینید.
- -ls
- این گزینه مشخص میکند که پوسته آغاز شده در پنجره xterm یک پوسته ورود (login shell) خواهد بود (یعنی اولین نویسه argv[0] یک خط تیره خواهد بود که به پوسته نشان میدهد باید فایل .login یا .profile کاربر را بخواند).
- پرچم -ls و منبع loginShell در صورتی که -e نیز داده شده باشد نادیده گرفته میشوند، زیرا xterm نمیداند چگونه پوسته را وادار کند پس از هر آنچه در زمان پوسته ورود انجام میدهد، دستور داده شده را آغاز کند - به هر حال پوسته انتخابی کاربر لزوماً نباید یک Bourne shell باشد. همچنین، xterm -e قرار است عملکردی یکپارچه برای برنامههای دیگری که نیاز دارند برنامههای حالت متنی را در یک پنجره اجرا کنند فراهم سازد، و اگر loginShell نادیده گرفته نمیشد، نتایج ~/.profile ممکن بود با آن تداخل پیدا کند.
- اگر
میخواهید
اثر -ls و -e را
به طور
همزمان
داشته
باشید،
میتوانید
از دستوری
شبیه به این
استفاده
کنید:
xterm -e /bin/bash -l -c "my command here"
- در نهایت، -ls کاملاً نادیده گرفته نمیشود، زیرا xterm -ls -e یک مدخل wtmp مینویسد (در صورتی که برای انجام این کار پیکربندی شده باشد)، در حالی که xterm -e این کار را نمیکند.
- +ls
- این گزینه مشخص میکند که پوسته راهاندازیشده نباید یک پوسته ورود باشد (یعنی یک “subshell” عادی خواهد بود).
- -maximized
- این گزینه مشخص میکند که xterm باید در هنگام راهاندازی، از مدیر پنجره (window manager) بخواهد که چیدمان آن را بیشینه کند. این مورد متناظر با منبع maximized است..IP بزرگنمایی معکوسِ کمینهسازی به شمایل (iconifying) نیست؛ در برخی از مدیرهای پنجره انجام همزمان هر دو مورد امکانپذیر است.
- +maximized
- این گزینه مشخص میکند که xterm باید در هنگام راهاندازی از مدیر پنجره درخواست کند که چیدمان آن را بزرگنمایی نکند.
- -mb
- این گزینه مشخص میکند هنگامی که کاربر در نزدیکی انتهای سمت راست سطر تایپ میکند، xterm باید زنگ حاشیه (margin bell) را به صدا درآورد.
- +mb
- این گزینه مشخص میکند که زنگ حاشیه نباید به صدا درآید.
- -mc milliseconds
- این گزینه حداکثر زمان مجاز بین کلیکهای چندگانه برای انتخاب را مشخص میکند.
- -mesg
- منبع messages را خاموش میکند، یعنی دسترسی نوشتن به ترمینال را غیرمجاز میسازد.
- +mesg
- منبع messages را روشن میکند، یعنی دسترسی نوشتن به ترمینال را مجاز میسازد.
- -mk_width
- منبع mkWidth را روی “true” تنظیم میکند. این کار باعث میشود که xterm از نسخهٔ داخلی محاسبهٔ پهنای نویسههای عریض (wide-character) استفاده کند. پیشفرض “false” است.
- +mk_width
- منبع mkWidth را بازنشانی میکند.
- -ms color
- این گزینه رنگ مورد استفاده برای نشانگر مکاننما را تعیین میکند. پیشفرض استفاده از رنگ پیشزمینه است. این گزینه منبع pointerColor را تنظیم میکند.
- -nb number
- این گزینه تعداد نویسهها از انتهای سمت راست سطر را مشخص میکند که در صورت فعال بودن، زنگ حاشیه در آن نقطه به صدا درمیآید. پیشفرض “10” است.
- -nomap
- این گزینه نگاشت اولیه (mapping) پنجرهٔ ترمینال را غیرفعال میکند. نگاشت یک پنجره در X، در صورتی که مدیریتشده (managed) باشد، آن را نمایان میسازد. پیشفرض “false” است زیرا پنجرهٔ xterm معمولاً در هنگام راهاندازی نمایش داده میشود.
- پس از راهاندازی، یک پنجرهٔ نگاشتنشدهٔ xterm را میتوان با شناسایی شناسهٔ پنجره (window-id) آن، مثلاً با استفاده از xwininfo(1) یا xlsclients(1)، و سپس بهکارگیری برنامهای دیگر مانند xdotool(1) برای درخواست از مدیر پنجره جهت نمایان ساختن آن، نگاشت کرد.
- اگر پنجرهٔ xterm نمایان باشد (یعنی نگاشت شده باشد)، منوها و کُنشهای xterm (مانند set-visibility) امکان انتخاب نمایش پنجرههای VT100 یا Tek4014 را فراهم میکنند.
- +nomap
- این گزینه نگاشت اولیه (mapping) پنجرهٔ ترمینال را فعال میکند. این رفتار پیشفرض است.
- -nul
- این گزینه نمایش زیرخط (underlining) را غیرفعال میکند.
- +nul
- این گزینه نمایش زیرخط (underlining) را فعال میکند.
- -pc
- این گزینه استفاده از رنگهای برجسته به شیوهٔ رایانههای شخصی (PC-style) را فعال میکند (منبع boldColors را ببینید).
- +pc
- این گزینه استفاده از رنگهای برجسته به شیوهٔ رایانههای شخصی را غیرفعال میکند.
- -pf font
- این گزینه قلم مورد استفاده برای اشارهگر را مشخص میکند. نام منبع متناظر pointerFont است. مقدار پیشفرض این منبع cursor است.
- -pob
- این گزینه مشخص میکند که با دریافت هر Control-G پنجره باید بالا آورده شود (raise).
- +pob
- این گزینه مشخص میکند که با دریافت Control-G پنجره نباید بالا آورده شود.
- -rca
- این گزینه تنظیم موقعیت مکاننما در حین تغییر اندازه را فعال میکند. هنگامی که عرض ترمینال کاهش مییابد، مکاننما در عرض جدید محدود میشود. با این گزینه (که پیشفرض است)، حرکات مکاننما در حالت کوچکشده ردیابی میشوند و هنگام بزرگ شدن مجدد، موقعیت مکاننما برای همگام ماندن با شل تنظیم میشود.
- +rca
- تنظیم موقعیت مکاننما را غیرفعال میکند. هنگامی که اندازهٔ ترمینال افزایش مییابد، مکاننما در موقعیت بصری خود باقی میماند، اما ممکن است دستورهای شل پس از تغییر اندازه و حرکت مکاننما رفتاری ناهماهنگ داشته باشند.
- -report-charclass
- گزارشی را در خروجی استاندارد چاپ میکند که اطلاعات مربوط به ردهنویسههایی (character-classes) را که میتوان با استفاده از منبع charClass تغییر داد، نشان میدهد.
- -report-colors
- گزارشی را در خروجی استاندارد چاپ میکند که اطلاعات مربوط به رنگها را هنگام تخصیص آنها توسط xterm نشان میدهد. این گزینه با منبع reportColors مطابقت دارد.
- -report-fonts
- گزارشی را در خروجی استاندارد چاپ میکند که اطلاعات مربوط به قلمهای بارگذاریشده را نشان میدهد. این گزینه با منبع reportFonts مطابقت دارد.
- -report-icons
- گزارشی را در خروجی استاندارد چاپ میکند که اطلاعات مربوط به شمایلهای پیکسلی (pixmap-icons) بارگذاریشده را نشان میدهد. این گزینه با منبع reportIcons مطابقت دارد.
- -report-xres
- گزارشی را در خروجی استاندارد چاپ میکند که پس از پایان مقداردهی اولیه، مقادیر منابع بولی، عددی یا رشتهای X را برای ویجت VT100 نشان میدهد. این گزینه با منبع reportXRes مطابقت دارد.
- -rightbar
- میلهٔ پیمایش (scrollbar) را اجباراً در سمت راست صفحهٔ VT100 قرار میدهد.
- -rvc
- این گزینه نمایش نویسههای دارای ویژگی معکوس (reverse) را به صورت رنگی غیرفعال میکند.
- +rvc
- این گزینه نمایش نویسههای دارای ویژگی معکوس (reverse) را به صورت رنگی فعال میکند.
- -rw
- این گزینه مشخص میکند که بازگشت خودکار به سطر قبل (reverse-wraparound) باید مجاز باشد. این کار به مکاننما اجازه میدهد تا از چپترین ستون یک سطر به راستترین ستون سطر پیشین بازگردد. این قابلیت برای ویرایش خطفرمانهای طولانی در شل بسیار سودمند بوده و توصیه میشود. این گزینه را میتوان از منوی VT Options فعال یا غیرفعال کرد.
- +rw
- این گزینه مشخص میکند که بازگشت خودکار به سطر قبل (reverse-wraparound) نباید مجاز باشد.
- -s
- این گزینه مشخص میکند که xterm میتواند به صورت ناهمگام (asynchronously) پیمایش کند؛ به این معنا که نیازی نیست صفحه هنگام پیمایش کاملاً بهروز نگه داشته شود. این کار باعث میشود در مواردی که تاخیر شبکه بسیار بالا است xterm سریعتر عمل کند و بهطور معمول هنگام کار در بستر اینترنتهای بسیار بزرگ یا از میان دروازههای (gateways) متعدد سودمند است.
- +s
- این گزینه مشخص میکند که xterm باید به صورت همگام (synchronously) پیمایش کند.
- -samename
- در صورتی که درخواست تغییری ایجاد نکند (نام تغییر نکرده باشد)، درخواستهای تغییر عنوان و نام شمایل را ارسال نمیکند. مزیت این کار جلوگیری از پرش تصویر (flicker) و عیب آن نیاز به یک رفت و برگشت اضافی (round trip) به سرور جهت دریافت مقدار پیشین است. در عمل این مورد هیچگاه نباید مشکلی ایجاد کند.
- +samename
- همیشه درخواستهای تغییر عنوان و نام شمایل را ارسال میکند.
- -sb
- این گزینه مشخص میکند تعدادی از سطرهایی که با پیمایش از بالای پنجره خارج میشوند باید ذخیره گردند و یک میلهٔ پیمایش نمایش داده شود تا امکان مشاهدهٔ آن سطرها فراهم گردد. این گزینه میتواند از طریق منوی VT Options فعال و غیرفعال شود.
- +sb
- این گزینه مشخص میکند که میلهٔ پیمایش نباید نمایش داده شود..TP 8 -selbg color این گزینه رنگ پسزمینه متن انتخابشده را مشخص میکند. در صورت مشخص نشدن، از نگاتیو تصویر (reverse video) استفاده میشود. بحث مربوط به منبع highlightColor را ببینید.
- -selfg color
- این گزینه رنگ متن انتخابشده را مشخص میکند. در صورت مشخص نشدن، از نگاتیو تصویر استفاده میشود. بحث مربوط به منبع highlightTextColor را ببینید.
- -sf
- این گزینه مشخص میکند که برای کلیدهای تابع (function keys)، کدهای گریز (escape codes) کلید تابع Sun تولید شود.
- +sf
- این گزینه مشخص میکند که برای کلیدهای تابع، کدهای گریز استاندارد تولید شود.
- -sh number
- مقادیر ارتفاع خط (line-height) را با عدد دادهشده مقیاسبندی میکند. بحث مربوط به منبع scaleHeight را ببینید.
- -si
- این گزینه مشخص میکند که خروجی ارسالی به پنجره نباید بهطور خودکار موقعیت صفحه را به پایین ناحیه پیمایش بازگرداند. این گزینه را میتوان از منوی VT Options فعال یا غیرفعال کرد.
- +si
- این گزینه مشخص میکند که خروجی ارسالی به پنجره باید باعث پیمایش آن به انتها شود.
- -sk
- این گزینه مشخص میکند که فشردن یک کلید هنگام استفاده از نوار پیمایش برای مرور خطوط قبلی متن، باید باعث بازگشت خودکار پنجره به موقعیت عادی در پایین ناحیه پیمایش شود.
- +sk
- این گزینه مشخص میکند که فشردن یک کلید هنگام استفاده از نوار پیمایش نباید باعث تغییر موقعیت پنجره شود.
- -sl number
- این گزینه تعداد خطوط خارجشده از بالای صفحه در اثر پیمایش را که باید ذخیره شوند، مشخص میکند. این مقدار با منبع saveLines متناظر است. مقدار پیشفرض “1024” است.
- -sm
- این گزینه که با منبع sessionMgt متناظر است، مشخص میکند که xterm باید فراخوانهای بازگشتی (callbacks) مدیر نشست را راهاندازی کند.
- +sm
- این گزینه مشخص میکند که xterm نباید فراخوانهای بازگشتی مدیر نشست را راهاندازی کند.
- -sp
- این گزینه مشخص میکند که صفحهکلید Sun/PC باید فرض شود، که نگاشت کلید عددی “+” به “,”، و CTRL-F1 به F13، CTRL-F2 به F14 و غیره را فراهم میسازد.
- +sp
- این گزینه مشخص میکند که کدهای گریز استاندارد باید برای کلیدهای عددی (keypad) و کلیدهای تابع تولید شوند.
- -t
- این گزینه مشخص میکند که xterm باید بهجای حالت VTxxx، در حالت Tektronix شروع به کار کند. جابهجایی بین این دو پنجره با استفاده از منوهای “Options” انجام میشود.
- مدخلهای پایگاهداده ترمینال (terminfo (5) یا termcap (5)) که با xterm کار میکنند عبارتند از:
- “tek4014”,
“tek4015”,
“tek4012”,
“tek4013”,
“tek4010”, و
“dumb”. - Xterm بهطور خودکار پایگاهداده ترمینال را به همین ترتیب برای یافتن این مدخلها جستجو کرده و سپس متغیر “TERM” (و در صورت مرتبط بودن، متغیر محیطی “TERMCAP”) را مقداردهی میکند.
- +t
- این گزینه مشخص میکند که xterm باید در حالت VTxxx شروع به کار کند.
- -tb
- این گزینه که با منبع toolBar متناظر است، مشخص میکند که xterm باید یک نوار ابزار (یا نوار منو) را در بالای پنجره خود نمایش دهد. دکمههای موجود در نوار ابزار با منوهای جهنده (popup) متناظر هستند؛ مانند control/کلیک چپ/موشواره برای Main Options.
- +tb
- این گزینه مشخص میکند که xterm نباید نوار ابزاری راهاندازی کند.
- -ti term_id
- نام مورد استفاده توسط xterm را برای انتخاب پاسخ صحیح به پرسوجوهای شناسه ترمینال (terminal ID) مشخص میکند. این گزینه همچنین سطح شبیهسازی را تعیین میکند که برای تعیین نوع پاسخ به یک دنباله کنترلی DA بهکار میرود. مقادیر معتبر شامل vt52، vt100، vt101، vt102، vt220 و vt240 هستند (عبارت “vt” اختیاری است). مقدار پیشفرض “vt420” است. آرگومان term_id شناسه ترمینال مورد استفاده را مشخص میکند. (این مقدار معادل منبع decTerminalID است).
- -tm string
- این گزینه مجموعهای از کلیدواژههای تنظیمات ترمینال و بهدنبال آن نویسههایی که باید به آن توابع متصل شوند را مشخص میکند، مشابه برنامه stty(1). کلیدواژهها و مقادیر آنها بهطور مفصل در منبع ttyModes شرح داده شدهاند.
- -tn name
- این گزینه نام نوع ترمینال را برای تنظیم در متغیر محیطی TERM مشخص میکند. این گزینه با منبع termName متناظر است. این نوع ترمینال باید در پایگاهداده ترمینال (بسته به نحوه ساخت xterm، termcap یا terminfo) وجود داشته باشد و باید دارای مدخلهای li# و co# باشد. اگر نوع ترمینال یافت نشود، xterm از فهرست داخلی “xterm”، “vt102” و غیره استفاده میکند.
- -u8
- این گزینه منبع utf8 را فعال میکند. هنگامی که utf8 فعال باشد، xterm دادههای ورودی را بهصورت UTF-8 تفسیر میکند. این امر بهعنوان یک اثر جانبی، منبع wideChars را نیز تنظیم میکند، اما حالت UTF-8 فعالشده با این گزینه، مانع از خاموش شدن آن میشود. اگر نیاز دارید که کدگذاری UTF-8 را روشن و خاموش کنید، بهجای گزینه -u8، از گزینه -wc یا منبع متناظر wideChars استفاده نمایید.
- این گزینه و منبع utf8 توسط گزینههای -lc و -en و منبع locale بازنویسی (override) میشوند. بدین معنا که اگر xterm برای پشتیبانی از luit کامپایل شده باشد و منبع locale برابر با “false” نباشد، این گزینه نادیده گرفته میشود. توصیه میکنیم هنگامی که سیستمعامل شما از لوکال پشتیبانی میکند، از گزینه -lc یا منبع “locale: true” در لوکالهای UTF-8 استفاده کنید، یا در صورتی که سیستمعامل از لوکال پشتیبانی نمیکند، گزینه -en UTF-8 یا منبع “locale: UTF-8” را بهکار ببرید.
- +u8
- این گزینه منبع utf8 را بازنشانی میکند.
- -uc
- این گزینه که با منبع cursorUnderLine متناظر است، مکاننما را بهجای یک جعبه، بهصورت خط زیرین (underline) درمیآورد.
- +uc
- این گزینه که با منبع cursorUnderLine متناظر است، مکاننما را بهجای خط زیرین، بهصورت یک جعبه درمیآورد.
- -ulc
- این گزینه نمایش نویسههای دارای ویژگی زیرخطدار را بهصورت رنگی بهجای خط زیرین غیرفعال میکند.
- +ulc
- این گزینه نمایش نویسههای دارای ویژگی زیرخطدار را بهصورت رنگی بهجای خط زیرین فعال میکند.
- -ulit
- این گزینه که با منبع italicULMode متناظر است، نمایش نویسههای دارای ویژگی زیرخطدار را بهصورت خوابیده (italic) بهجای خط زیرین غیرفعال میکند.
- +ulit
- این گزینه که با منبع italicULMode متناظر است، نمایش نویسههای دارای ویژگی زیرخطدار را بهصورت خوابیده بهجای خط زیرین فعال میکند..TP 8 -ut این گزینه نشان میدهد که xterm نباید رکوردی در فایل گزارش utmp سیستم بنویسد.
- +ut
- این گزینه نشان میدهد که xterm باید رکوردی در فایل گزارش utmp سیستم بنویسد.
- -vb
- این گزینه نشان میدهد که زنگ دیداری به زنگ شنیداری ترجیح داده میشود. به جای به صدا درآوردن زنگ ترمینال در هر بار دریافت Control-G، پنجره چشمک خواهد زد.
- +vb
- این گزینه نشان میدهد که زنگ دیداری نباید استفاده شود.
- -wc
- این گزینه منبع wideChars را تنظیم میکند.
- هنگامی که wideChars تنظیم شده باشد، xterm ساختارهای داخلی را برای نویسههای ۱۶ بیتی نگهداری میکند. اگر xterm در حالت UTF-8 راهاندازی نشده باشد (یا اگر این منبع تنظیم نشده باشد)، در ابتدا این ساختارها را برای پشتیبانی از نویسههای ۸ بیتی نگهداری میکند. بعداً میتوان Xterm را با استفاده از یک گزینه در منو یا یک توالی کنترلی تغییر وضعیت داد، که باعث بازتخصیص آن ساختارها برای پشتیبانی از نویسههای ۱۶ بیتی میشود.
- پیشفرض “false” است.
- +wc
- این گزینه منبع wideChars را بازنشانی میکند.
- -wf
- این گزینه نشان میدهد که xterm باید پیش از شروع زیرپردازش، برای نخستین بار منتظر نگاشت شدن (mapped) پنجره بماند تا تنظیمات اولیه اندازه ترمینال و متغیرهای محیطی صحیح باشند. دریافت تغییرات بعدی اندازه ترمینال بر عهده برنامه است.
- +wf
- این گزینه نشان میدهد که xterm نباید پیش از شروع زیرپردازش منتظر بماند.
- -ziconbeep percent
- مشابه منبع zIconBeep. اگر درصد غیرصفر باشد، xtermهایی که در وضعیت آیکونشده خروجی تولید میکنند، صدایی با XBell در حجم صدای مشخصشده ایجاد خواهند کرد و عبارت “***” به ابتدای عنوان آیکون آنها اضافه خواهد شد. بیشتر مدیر پنجرهها این تغییر را بلافاصله تشخیص میدهند و به شما نشان میدهند کدام پنجره خروجی دارد. (قابلیت مشابهی در x10 xterm وجود داشت.)
- -C
- این گزینه نشان میدهد که این پنجره باید خروجی کنسول را دریافت کند. این قابلیت در همه سیستمها پشتیبانی نمیشود. برای دریافت خروجی کنسول، شما باید مالک دستگاه کنسول باشید و مجوز خواندن و نوشتن روی آن را داشته باشید. اگر X را تحت xdm روی صفحه کنسول اجرا میکنید، ممکن است لازم باشد برنامههای راهاندازی و بازنشانی نشست به طور صریح مالکیت دستگاه کنسول را تغییر دهند تا این گزینه کار کند.
- -Sccn
- این گزینه
اجازه
میدهد xterm
به عنوان یک
کانال
ورودی و
خروجی برای
یک برنامه
موجود
استفاده
شود و گاهی
در
برنامههای
کاربردی
تخصصی به
کار میرود.
مقدار
گزینه، چند
حرف پایانی
نام یک
شبهترمینال
را برای
استفاده در
حالت برده
(slave)، به همراه
شماره
توصیفگر
فایل به ارث
رسیده مشخص
میکند. اگر
گزینه حاوی
نویسه “/”
باشد، این
نویسه نام
شبهترمینال
را از
توصیفگر
فایل جدا
میکند. در
غیر این
صورت،
دقیقاً دو
نویسه از
گزینه برای
نام
شبهترمینال
استفاده
میشود و
باقیمانده،
توصیفگر
فایل است.
مثالها (دو
مورد اول
معادل
هستند زیرا
توصیفگر
پس از آخرین
“/” میآید):
-S/dev/pts/123/45 -S123/45 -Sab34
- توجه داشته باشید که xterm هیچ توصیفگر فایلی را که برای استفاده خودش باز نکرده باشد، نمیبندد. این امکان وجود دارد (هرچند شاید انتقالپذیر نباشد) که برنامهای یک توصیفگر فایل باز را پس از مقداردهی اولیه یا گزینه -S به پردازشی که درون xterm در حال اجراست تحویل دهد..SS "گزینههای قدیمی (Old Options)" آرگومانهای خط فرمان زیر برای سازگاری با نسخههای قدیمیتر ارائه شدهاند. ممکن است در انتشار بعدی پشتیبانی نشوند، زیرا X Toolkit گزینههای استانداردی ارائه میدهد که همین کار را انجام میدهند.
- %geom
- این گزینه اندازه و موقعیت ترجیحی پنجره Tektronix را مشخص میکند. این یک نام خلاصه برای تعیین منبع “tekGeometry” است.
- #geom
- این گزینه موقعیت ترجیحی پنجره آیکون را مشخص میکند. این یک نام خلاصه برای تعیین منبع “iconGeometry” است.
- -T string
- این گزینه عنوان پنجرههای xterm را مشخص میکند. معادل -title است.
- -n string
- این گزینه نام آیکون را برای پنجرههای xterm مشخص میکند. این یک نام خلاصه برای تعیین منبع “iconName” است. توجه داشته باشید که این با گزینه -name در X Toolkit یکسان نیست. نام پیشفرض آیکون، نام برنامه است.
- اگر آیکون مناسبی یافت نشود، xterm از یک نقشه بیتی (pixmap) داخلی کامپایلشده استفاده میکند.
- X Toolkit ویژگی WM_ICON_NAME را با استفاده از این مقدار تنظیم میکند.
- -r
- این گزینه نشان میدهد که حالت ویدیوی معکوس (reverse video) باید با جابجایی رنگهای پیشزمینه و پسزمینه شبیهسازی شود. معادل -rv است.
- -w number
- این گزینه عرض کادر پیرامون پنجره را بر حسب پیکسل مشخص میکند. معادل -borderwidth یا -bw است.
گزینههای X Toolkit (X Toolkit Options)
آرگومانهای خط فرمان استاندارد X Toolkit زیر معمولاً به همراه xterm استفاده میشوند:
- -bd color
- این گزینه رنگ مورد استفاده برای کادر پنجره را مشخص میکند. نام منبع متناظر borderColor است. Xterm از مقدار پیشفرض X Toolkit استفاده میکند که “XtDefaultForeground” است.
- پنجره VT100 در Xterm دارای دو کادر است: کادر داخلی (internalBorder) و کادر خارجی (borderWidth) که توسط X Toolkit مدیریت میشود.
- بهطور معمول xterm کادر داخلی را با استفاده از رنگ پسزمینه پنجره VT100 پر میکند. اگر منبع colorInnerBorder فعال باشد، آنگاه xterm ممکن است کادر داخلی را با استفاده از منبع borderColor پر کند.
- -bg color
- این گزینه رنگ مورد استفاده برای پسزمینه پنجره را مشخص میکند. نام منبع متناظر background است. پیشفرض آن “XtDefaultBackground” است.
- -bw number
- این گزینه عرض کادر پیرامون پنجره را بر حسب پیکسل مشخص میکند.
- به نظر میرسد این مورد از انتشارهای قدیمیتر X به جا مانده باشد. این گزینه منبع borderWidth مربوط به ویجت شل (shell widget) را تنظیم میکند، و ممکن است پیشنهادی به مدیر پنجره شما برای تنظیم ضخامت قاب پنجره ارائه دهد. بیشتر مدیران پنجره از این اطلاعات استفاده نمیکنند. گزینه -b را ببینید که کادر داخلی پنجره xterm را کنترل میکند.
- -display display
- این گزینه کارساز X (سرور X) مورد نظر برای اتصال را مشخص میکند؛ X(1) را ببینید.
- -fg color
- این گزینه رنگ مورد استفاده برای نمایش متن را مشخص میکند. نام منبع متناظر foreground است. پیشفرض آن “XtDefaultForeground” است.
- -fn font
- این گزینه قلم (فونت) مورد استفاده برای نمایش متن عادی را مشخص میکند. نام منبع متناظر font است. مقدار پیشفرض این منبع fixed است.
- گزینه -fn در Xterm فهرستی جداشده با کاما را همانند -fa برای ویجت VT100 میپذیرد و از اولین قلم بیتی (و نادیده گرفتن قلمهای اضافی) استفاده میکند. با این حال، ویجتهای دیگر (مانند نوار ابزار) با این کار دچار سردرگمی شده و هشدار میدهند.
- -font font
- این مشابه -fn است.
- -geometry geometry
- این گزینه اندازه و موقعیت ترجیحی پنجره VTxxx را مشخص میکند؛ X(1) را ببینید.
- مشخصات هندسه معمولی را میتوان با پسوند @ و به دنبال آن مشخصه صفحه Xinerama تعیین کرد؛ این مقدار میتواند g برای صفحه سراسری (پیشفرض)، c برای صفحه جاری، یا شماره یک صفحه نمایش باشد.
- -iconic
-
این گزینه نشان میدهد که xterm باید از مدیر پنجره درخواست کند که آن را به جای پنجره عادی، بهصورت یک آیکون اجرا کند. نام منبع متناظر iconic است. - -name name
- این گزینه نام برنامهای را مشخص میکند که منابع باید تحت آن دریافت شوند، به جای اینکه از نام پیشفرض فایل اجرایی استفاده شود. Name نباید شامل نویسههای “.” یا “*” باشد.
- -rv
- این گزینه نشان میدهد که ویدیوی معکوس باید با جابجایی رنگهای پیشزمینه و پسزمینه شبیهسازی شود. نام منبع متناظر reverseVideo است.
- +rv
- غیرفعال کردن شبیهسازی ویدیوی معکوس از طریق جابجایی رنگهای پیشزمینه و پسزمینه.
- -title string
- این گزینه رشته عنوان پنجره را مشخص میکند که در صورت تمایل کاربر ممکن است توسط مدیران پنجره نمایش داده شود. این یک نام خلاصه برای تعیین منبع “title” است. عنوان پیشفرض، خط فرمان مشخصشده پس از گزینه -e (در صورت وجود) است، وگرنه نام برنامه خواهد بود.
- X Toolkit ویژگی WM_NAME را با استفاده از این مقدار تنظیم میکند.
- -xrm resourcestring
- این گزینه یک رشته منبع را برای استفاده مشخص میکند. این ویژگی بهویژه برای تنظیم منابعی مفید است که گزینههای جداگانه خط فرمان ندارند.
X Toolkit نامهای جایگزینی را برای برخی از این گزینهها میپذیرد، مانند:
- -background
- برای “-bg”
- -bordercolor
- برای “-bc”
- -borderwidth
- برای “-bw”
- -font
-
برای “-fn” - -foreground
- برای “-fg”
- -reverse
- برای “-rv”
گزینههای مخفف نیز پشتیبانی میشوند، مانند “-v” برای “-version.” Xterm تمام نامها و کلاسهای منابع اصلی X Toolkit را درک میکند. همچنین از انواع منابع X Toolkit (مانند بولیها، رنگها، قلمها، اعداد صحیح، و رشتهها) به همراه مبدلهای مربوط به هرکدام استفاده میکند. این انواع منابع همیشه کافی نیستند:
بولیهای گسترشیافته (Extended Booleans)
منابع بولی X Toolkit مفید هستند، اما داشتن بیش از دو مقدار به پیکربندیپذیری کمک میکند. Xterm با بررسی مقادیر اضافی در چندین مورد، مقدار یک منبع (معمولاً) بولی را گسترش میدهد:
فهرستهای جداشده با کاما (Comma-separated Lists)
Xterm برای منابع خاصی که ویژگیهای قابل فعال یا غیرفعالسازی را مشخص میکنند، از فهرستهای جداشده با کاما استفاده میکند:
انواع منابع X Toolkit شامل فهرستها نمیشوند. Xterm برای منبع از یک رشته استفاده کرده و آن را تجزیه میکند.
- موارد موجود در این فهرستها ویژگیهایی برای فعال یا غیرفعال کردن هستند.
- موارد فهرست، نامها (یا برای disallowedWindowOps اعداد صحیح دهدهی) هستند.
- موارد فهرست بدون در نظر گرفتن بزرگی و کوچکی حروف مطابقت داده میشوند. Xterm همچنین استفاده از نویسههای عام (wildcards) را در نامها مجاز میداند، یعنی “*” و “?” همانند اسکریپتهای شل.
- هر مورد میتواند با یک پیشوند “~” (تیلدا) مشخص شود تا نشان دهد که این ویژگی بهجای فعالشدن باید غیرفعال شود.
Xterm همچنین برای ایجاد جدولها، برای چند منبع دیگر نیز از فهرستهای جداشده با کاما استفاده میکند. این موارد، نامها را بدون حساسیت به بزرگی و کوچکی حروف مطابقت میدهند و میتوان آنها را بهصورت مخفف به کار برد، اما از نویسههای عام پشتیبانی نمیکنند:
در نهایت، این منابع فهرستهایی از دادهها هستند که با کاما جدا شدهاند:
منابع (RESOURCES)
منابع ویژهٔ برنامه (مانند “XTerm.NAME”) در ادامه آمدهاند.
منابع برنامه (Application Resources)
- backarrowKeyIsErase (class BackarrowKeyIsErase)
- منابع VTxxx backarrowKey و ptyInitialErase را با تنظیم وضعیت DECBKM بر اساس اینکه آیا نویسهٔ erase اولیه یک نویسهٔ پسبر (8) یا حذف (127) است، به یکدیگر پیوند میدهد. مقدار “false” این ویژگی را غیرفعال میکند. پیشفرض “False” است.
- در اینجا جدولهایی آورده شده است که نشان میدهد چگونه تنظیمات اولیه برای
- backarrowKeyIsErase (BKIE)،
- backarrowKey (BK)، و
- ptyInitialErase (PIE)، به همراه
- نویسهٔ erase در stty (^H برای backspace، ^? برای delete)
- بر DECBKM تأثیر میگذارند. ابتدا، xterm نویسهٔ erase اولیه را به دست میآورد:
- مقدار داخلی xterm برابر ^H است
- xterm مقداری را که stty(1) نشان میدهد از سیستمعامل استعلام میکند
- منبع ttyModes ممکن است erase را بازنویسی کند
- اگر ptyInitialErase نادرست (false) باشد، xterm در پایگاهدادهٔ ترمینال جستجو خواهد کرد
- خلاصهٔ آن
به صورت یک
جدول:
PIE stty database erase false ^H ^H ^H false ^H ^? ^? false ^? ^H ^H false ^? ^? ^? true ^H ^H ^H true ^H ^? ^H true ^? ^H ^? true ^? ^? ^? - با استفاده از آن نویسهٔ erase، xterm انتخابهای بیشتری را فراهم میکند:
- اگر backarrowKeyIsErase درست (true) باشد، xterm از نویسهٔ erase برای وضعیت اولیهٔ DECBKM استفاده میکند
- اگر backarrowKeyIsErase نادرست (false) باشد، xterm مقدار DECBKM را روی 2 (داخلی) تنظیم میکند. این کار backarrowKey و دنبالهٔ کنترلی برای DECBKM را به یکدیگر پیوند میدهد.
- برنامهها میتوانند یک دنبالهٔ کنترلی برای تنظیم/بازنشانی مجموعهٔ کنترلی DECBKM ارسال کنند
- گزینهٔ منوی “Backarrow Key (BS/DEL)” وضعیت DECBKM را تغییر میدهد
- خلاصهٔ
جزئیات
مقداردهی
اولیه:
erase BKIE BK DECBKM result ^? false false 2 ^H ^? false true 2 ^? ^? true false 0 ^? ^? true true 1 ^? ^H false false 2 ^H ^H false true 2 ^? ^H true false 0 ^H ^H true true 1 ^H
- buffered (class Buffered)
- بهطور معمول xterm با پشتیبانی از بافر دوگانه (double-buffer) ساخته میشود. این منبع میتواند برای فعال یا غیرفعال کردن آن استفاده شود. تنظیم این منبع روی “true” بافر دوگانه را فعال میکند. مقدار پیشفرض “False” است.
- bufferedFPS (class BufferedFPS)
- هنگامی که xterm با پشتیبانی از بافر دوگانه ساخته شده باشد، این منبع حداکثر تعداد فریم/ثانیه را تعیین میکند. پیشفرض “40” است و به بازهٔ 1 تا 100 محدود شده است.
- cursorTheme (class CursorTheme)
- کتابخانهٔ Xcursor(1) روشی را برای تغییر شکل و اندازهٔ نشانگر فراهم میکند. کتابخانهٔ X11 از این کتابخانه برای گسترش فراخوانیهای مکاننمای قلم و گلیف که توسط برنامههایی مانند xterm استفاده میشود بهره میبرد تا فایلهای خارجی را جایگزین مکاننماهای داخلی “core” ارائهشده توسط X کند.
- Xterm از منبع pointerShape برای انتخاب شکل مکاننمای X استفاده میکند. بیشتر مجموعههای موجود برای پوستههای مکاننما، مجموعهای ناقص از مکاننماهای “core” را ارائه میدهند (در حالی که احتمالاً مکاننماهای دیگری را میافزایند). به دلیل این محدودیت، xterm این ویژگی را بهطور پیشفرض غیرفعال میکند.
- ویژگی پوستهٔ مکاننما میتواند سودمند باشد زیرا مکاننماهای X مقیاسپذیر نیستند و در نمایشگرهایی با وضوح بالا، مکاننماها به سختی پیدا میشوند. برخی از پوستههای مکاننما شامل مکاننماهای بزرگتری هستند تا این محدودیت را دور بزنند:
- مکاننماهای اصلی پیشفرض 8x8 پیکسل هستند؛
- برخی پوستههای مکاننما شامل مکاننماهایی تا سقف 64x64 پیکسل برای کارساز X هستند.
- مقدار پیشفرض “none” است. سایر مقادیر (از جمله “default”) با تنظیم متغیر محیطی XCURSOR_THEME، برای انتخاب پوستهٔ مکاننما به کتابخانهٔ Xcursor ارسال میشوند.
- fullscreen (class Fullscreen)
- مشخص میکند که آیا xterm در هنگام راهاندازی باید از مدیر پنجره درخواست چیدمان تمامصفحه کند یا خیر. Xterm یک کلمهٔ کلیدی (بدون حساسیت به بزرگی و کوچکی حروف) یا عدد نشاندادهشده در پرانتز را میپذیرد:
- false (0)
- چیدمان تمامصفحه در ابتدا استفاده نمیشود، اما ممکن است بعداً از طریق انتخاب منو یا دنبالهٔ کنترلی فعال شود.
- true (1)
- چیدمان تمامصفحه در ابتدا استفاده میشود، اما ممکن است بعداً از طریق انتخاب منو یا دنبالهٔ کنترلی غیرفعال شود.
- always (2)
- چیدمان تمامصفحه در ابتدا استفاده میشود، و نمیتوان آن را بعداً از طریق انتخاب منو یا دنبالهٔ کنترلی غیرفعال کرد.
- never (3)
- چیدمان تمامصفحه استفاده نمیشود، و نمیتوان آن را بعداً از طریق انتخاب منو یا دنبالهٔ کنترلی فعال کرد.
- پیشفرض “false” است.
- hold (class Hold)
- اگر درست (true) باشد، هنگامی که فرمان شل پایان مییابد، xterm بلافاصله پنجرهاش را نابود نخواهد کرد. این برنامه منتظر میماند تا شما با استفاده از مدیر پنجره پنجره را ببندید/نابود کنید، یا از گزینههای منو که سیگنالی مانند HUP یا KILL میفرستند استفاده کنید. میتوانید به عقب پیمایش کنید، متن انتخاب کنید و غیره تا بیشتر عملیاتهای گرافیکی را انجام دهید. با این حال، تغییر اندازهٔ صفحه موجب از بین رفتن دادهها میشود، چرا که این عمل مستلزم تعامل با شلی است که دیگر در حال اجرا نیست.
- hpFunctionKeys (class HpFunctionKeys)
- مشخص میکند که آیا کدهای گریز کلیدهای کارکرد HP باید برای کلیدهای تابعی تولید شوند یا خیر. پیشفرض “false” است، یعنی این ویژگی غیرفعال است.
- منبع keyboardType سازوکار ارجح برای انتخاب این حالت است..TP 8 iconGeometry (class IconGeometry) اندازه و مکان ترجیحی برنامه را هنگام آیکون شدن مشخص میکند. این مورد لزوماً توسط همهٔ مدیران پنجره رعایت نمیشود.
- iconHint (class IconHint)
- آیکونی را مشخص میکند که به اشارههای (hints) مدیر پنجره اضافه خواهد شد. Xterm هیچ مقدار پیشفرضی ارائه نمیدهد.
- این منبع را روی “none” تنظیم کنید تا این اشاره کاملاً نادیده گرفته شود و تصمیمگیری به مدیر پنجره واگذار گردد.
- اگر منبع iconHint داده شده باشد (یا از طریق گزینهٔ -n تنظیم شده باشد)، در صورتی که منبع یک مسیر مطلق را مشخص نکند، xterm به دنبال یک فایل pixmap با آن نام در دایرکتوری جاری و همچنین در /usr/share/pixmaps میگردد. در هر حالت، xterm پس از امتحان کردن بدون این پسوندها، “_48x48” و/یا “.xpm” را به نام فایل اضافه میکند. اگر قادر به بارگذاری فایل باشد، xterm اشارهٔ مدیر پنجره را برای icon-pixmap تنظیم میکند. این pixmapها همراه با xterm توزیع میشوند و میتوانند به صورت اختیاری به صورت درونی کامپایل شوند:
- mini.xterm_16x16, mini.xterm_32x32, mini.xterm_48x48
- filled-xterm_16x16, filled-xterm_32x32, filled-xterm_48x48
- xterm_16x16, xterm_32x32, xterm_48x48
- xterm-color_16x16, xterm-color_32x32, xterm-color_48x48
- در هر دو حالت، xterm امکان اضافه کردن “_48x48” را برای تعیین بزرگترین pixmap به عنوان پیشفرض فراهم میکند. یعنی “mini.xterm” همانند “mini.xterm_48x48” است.
- اگر هیچ منبع صریح iconHint مشخص نشده باشد (یا اگر هیچیک از نامهای کامپایلشده مطابقت نداشته باشد)، xterm از “mini.xterm” استفاده میکند (که همیشه به صورت درونی کامپایل شده است).
- منبع iconHint هیچ تأثیری بر فایلهای “desktop”، از جمله “panel” و “menu” ندارد. این موارد معمولاً از طریق یک فایل “.desktop” تنظیم میشوند؛ xterm نمونههایی را برای خود (و اسکریپت uxterm) ارائه میدهد. محیطهای رومیزی توانمندتر اجازه میدهند آیکون بر مبنای هر کاربر تغییر کند.
- iconName (class IconName)
- برچسبی را برای xterm هنگام آیکون شدن مشخص میکند. Xterm هیچ مقدار پیشفرضی ارائه نمیدهد؛ برخی از مدیران پنجره ممکن است نام برنامه، مثلاً “xterm” را در نظر بگیرند.
- تنظیم منبع iconName برچسب آیکون را تعیین میکند، مگر اینکه توسط zIconBeep یا توالیهای کنترلی که برچسبهای پنجره و آیکون را تغییر میدهند لغو شود.
- keyboardType (class KeyboardType)
- یکی (یا هیچکدام) از منابع مختلف نوع صفحهکلید را فعال میکند: hpFunctionKeys، scoFunctionKeys، sunFunctionKeys، tcapFunctionKeys، oldXtermFKeys و sunKeyboard.
- مقدار این منبع باید به ترتیب یکی از رشتههای متناظر “hp”، “sco”، “sun”، “tcap”، “legacy” یا “vt220” باشد.
- منابع اختصاصی برای پشتیبانی از سیستمهای قدیمی ارائه شدهاند؛ استفاده از این منبع سادهتر است. Xterm فقط از یک نوع صفحهکلید استفاده خواهد کرد، اما اگر چندین منبع تنظیم شده باشند، هشدار میدهد و از آخرین موردی که بررسی میکند استفاده مینماید.
- مقدار پیشفرض “unknown” است، یعنی هیچیک از منابع وابسته از طریق این منبع تنظیم نشدهاند.
- maxBufSize (class MaxBufSize)
- حداکثر اندازهٔ بافر ورودی را مشخص میکند. مقدار پیشفرض “32768” است. شما نمیتوانید این مقدار را به مقداری کمتر از منبع minBufSize تنظیم کنید. در صورت نیاز افزایش مییابد تا این مقدار بر آن بخشپذیر باشد.
- در برخی سیستمها ممکن است بخواهید یک یا هر دو مقدار منابع maxBufSize و minBufSize را برای دستیابی به عملکرد بهتر افزایش دهید، در صورتی که سیستمعامل اندازههای بافر بزرگتر را ترجیح دهد.
- maximized (class Maximized)
- مشخص میکند که آیا xterm هنگام راهاندازی باید از مدیر پنجره درخواست بزرگنمایی (maximize) چیدمان خود را داشته باشد یا خیر. مقدار پیشفرض “false” است.
- ارتفاع نوار ابزار را مشخص میکند، که ممکن است بسته به اندازهٔ قلم مورد استفاده، توسط ویجت Layout مربوط به X Toolkit افزایش یابد. مقدار پیشفرض “25” است.
- محلیسازی (locale) مورد استفاده برای محاسبات مجموعه نویسهها را هنگام بارگذاری منوهای پاپآپ مشخص میکند. از این گزینه برای بهبود عملکرد راهاندازی منوهای پاپآپ Athena استفاده کنید، که ممکن است قلمهای غیرضروری (و بسیار حجیم) را بارگذاری کنند، مثلاً در یک locale با کدگذاری UTF-8. مقدار پیشفرض “C” (POSIX) است.
- برای استفاده از locale جاری (تنها در صورتی مفید است که تنظیمات منبع را برای مدخلهای منو بومیسازی کرده باشید)، این منبع را روی یک رشتهٔ خالی تنظیم کنید.
- messages (class Messages)
- مشخص میکند که آیا دسترسی نوشتن به ترمینال در ابتدا مجاز است یا خیر. ببینید: mesg(1). مقدار پیشفرض “true” است.
- minBufSize (class MinBufSize)
- حداقل اندازهٔ بافر ورودی، یعنی مقدار دادهای که xterm در هر خواندن درخواست میکند را مشخص میکند. مقدار پیشفرض “4096” است. شما نمیتوانید این مقدار را کمتر از 64 تنظیم کنید.
- omitTranslation (class OmitTranslation)
- بهطور انتخابی یک یا چند بخش از نگاشتهای (translations) پیشفرض xterm را در زمان راهاندازی حذف میکند. مقدار این منبع فهرستی از کلمات کلیدی جداشده با کاما است که میتوان آنها را به صورت مخفف نیز نوشت:
- default
- رویدادهای فشردن دکمه (ماوس) را که توسط سایر نگاشتها مدیریت نشدهاند نادیده میگیرد
- fullscreen
- یک کلید میانبر را به عمل fullscreen() اختصاص میدهد.
- keypress
- فشردن کلیدها را بهطور پیشفرض به عملیات insert-seven-bit() و insert-eight-bit() اختصاص میدهد.
- paging
- کلیدهای میانبر را به عملیات scroll-back() و scroll-forw() اختصاص میدهد.
- pointer
- رویدادهای motion و button اشارهگر را به ترتیب به عملیات pointer-motion() و pointer-button() اختصاص میدهد.
- دکمههای ماوس را همراه با کلید تبدیل control به منوهای پاپآپ اختصاص میدهد.
- reset
- دکمهٔ ۲ ماوس را همراه با کلید تبدیل meta به عمل clear-saved-lines اختصاص میدهد.
- scroll-lock
- یک کلید میانبر را به عمل scroll-lock() اختصاص میدهد.
- block-select
- قابلیتی اختیاری (در زمان کامپایل) برای پشتیبانی از گزینشهای مستطیلی. بهطور پیشفرض، این به Meta button one مقید است.
- select
- ترکیبهای ماوس و فشردن کلید را به عملیاتی که گزینش را دستکاری میکنند اختصاص میدهد..IP همچنین Xterm از این کنشها برای دریافت رویدادهای دکمه و حرکت ماوس که میتوانند توسط توالیهای کنترلی پروتکل ماوس دستکاری شوند، استفاده میکند. اگر نگاشتهای select حذف شوند، آنگاه pointer-motion و pointer-button به جای آن این توالیهای کنترلی پروتکل ماوس را مدیریت میکنند.
- shift-fonts
- کلیدهای میانبر را به کنشهای larger-vt-font() و smaller-vt-font() اختصاص میدهد.
- wheel-mouse
- دکمههای ۴ و ۵ را با کلیدهای تبدیل مختلف به کنشهای scroll-back() و scroll-forw() اختصاص میدهد.
- ptyHandshake (class PtyHandshake)
- اگر “true” باشد، xterm در طول مقداردهی اولیه دستتکانی (handshaking) انجام میدهد تا مطمئن شود که فرایندهای والد و فرزند وضعیت utmp و stty(1) را بهروزرسانی میکنند.
- همچنین نگاه کنید به waitForMap که منتظر درک شبهترمینال از اندازهٔ صفحه میماند، و ptySttySize که اندازهٔ صفحه را پس از اتمام دیگر مقداردهیهای اولیهٔ ترمینال بازنشانی میکند. پیشفرض “true” است.
- ptyInitialErase (class PtyInitialErase)
- اگر “true” باشد، xterm از درک شبهترمینال از مقدار پاککردن (erase) در stty استفاده میکند. اگر “false” باشد، xterm مقدار پاککردن stty را طوری تنظیم میکند که با پیکربندی خودش مطابقت داشته باشد، و در صورت موجود بودن از رشتهٔ kb مدخل termcap به عنوان مرجع استفاده میکند.
- در هر دو حالت، در صورتی که سیستم از TERMCAP استفاده کند، نتیجه بر روی متغیر TERMCAP که توسط xterm تنظیم میشود اعمال خواهد شد.
- همچنین منبع ttyModes را ببینید که ممکن است این مقدار را بازنویسی کند. پیشفرض “False” است.
- ptySttySize (class PtySttySize)
- اگر “true” باشد، xterm پس از اتمام مقداردهی اولیهٔ ترمینال، اندازهٔ صفحه را بازنشانی میکند. این ویژگی برای برخی سیستمها که شبهترمینالهای آنها قادر به انتشار مشخصههای ترمینال نیستند لازم است. در جاهایی که نیازی به آن نیست، میتواند با روشهای دیگر تنظیم اندازهٔ اولیهٔ صفحه، مثلاً از طریق تعامل با مدیر پنجره، تداخل ایجاد کند.
- همچنین نگاه کنید به waitForMap که منتظر یک پیام دستتکانی میماند که درک شبهترمینال از اندازهٔ صفحه را گزارش میدهد. پیشفرض در سیستمهای Linux و macOS مقدار “false” و در غیر این صورت “true” است.
- reportColors (class ReportColors)
- اگر true باشد، xterm هنگام تخصیص رنگها خلاصهای از آنها را در خروجی استاندارد چاپ میکند. پیشفرض “false” است.
- reportFonts (class ReportFonts)
- اگر true باشد، xterm هنگام بارگذاری هر قلم، خلاصهای از معیارهای آن (اندازه، تعداد گلیفها، غیره) را در خروجی استاندارد چاپ میکند. پیشفرض “false” است.
- reportIcons (class ReportIcons)
- اگر true باشد، xterm هنگام بارگذاری هر آیکون pixmap خلاصهای از آن را در خروجی استاندارد چاپ میکند. پیشفرض “false” است.
- reportXRes (class ReportXRes)
- اگر true باشد، xterm پس از مقداردهی اولیه فهرستی از منابع X بولی، عددی و رشتهای مربوط به ویجت VT100 را در خروجی استاندارد چاپ میکند. پیشفرض “false” است.
- sameName (class SameName)
- اگر مقدار این منبع “true” باشد، هنگامی که درخواست تغییری ایجاد نکند (نام تغییر نکرده باشد)، xterm درخواستهای تغییر عنوان و نام آیکون را ارسال نمیکند. این کار این مزیت را دارد که از پرش تصویر (flicker) جلوگیری میکند و عیب آن نیز نیاز به یک رفت و برگشت اضافی به کارگزار برای فهمیدن مقدار قبلی است. در عمل این مورد هرگز نباید مشکلی ایجاد کند. پیشفرض “true” است.
- scaleHeight (class ScaleHeight)
- مقادیر ارتفاع سطر (line-height) را با مقدار این منبع مقیاسبندی میکند، که محدود به بازهٔ “0.9” تا “1.5” است. مقدار پیشفرض “1.0” است.
- گرچه این منبع هم برای قلمهای bitmap و هم TrueType اعمال میشود، هدف اصلی آن کمک به دور زدن تغییرات ناسازگار در معیارهای قلم کتابخانهٔ Xft است. Xterm معیارهای قلم را بررسی میکند تا ببیند کتابخانه چه کادرهای محاطیای (bounding boxes) را برای هر گلیف (نویسه) اعلام میکند. با این حال، برخی از ویژگیهای Xft (مانند autohinter) میتوانند باعث شوند که گلیفها بزرگتر از کادرهای محاطی مقیاسبندی شده و بخشی از آنها توسط سطر بعدی رونویسی شوند.
- برای منبع مرتبط، useClipping را ببینید.
- scoFunctionKeys (class ScoFunctionKeys)
- مشخص میکند که آیا کدهای گریز کلیدهای تابع SCO باید برای کلیدهای تابع تولید شوند یا خیر. پیشفرض “false” است، یعنی این ویژگی غیرفعال است.
- منبع keyboardType سازوکار ارجح برای انتخاب این حالت است.
- sessionMgt (class SessionMgt)
- اگر مقدار این منبع “true” باشد، xterm فراخوانیهای بازگشتی مدیر نشست را برای XtNdieCallback و XtNsaveCallback برپا میکند. پیشفرض “true” است.
- sunFunctionKeys (class SunFunctionKeys)
- مشخص میکند که آیا کدهای گریز کلیدهای تابع Sun باید برای کلیدهای تابع تولید شوند یا خیر. پیشفرض “false” است، یعنی این ویژگی غیرفعال است.
- منبع keyboardType سازوکار ارجح برای انتخاب این حالت است.
- sunKeyboard (class SunKeyboard)
- Xterm نویسههای کلیدهای خاصی را بر اساس فرضیات خود در مورد صفحهکلید شما ترجمه میکند. این منبع مشخص میکند که آیا طرحبندی صفحهکلید Sun/PC (یعنی صفحه کلید عددیِ صفحهکلید PC همراه با ۱۲ کلید تابع) به جای DEC VT220 باید فرض شود یا خیر. این باعث میشود کلید “+” در صفحه کلید عددی به “,” و بسته به تنظیم منبع ctrlFKeys، کلیدهای CTRL F1-F10 به F11-F20 نگاشت شوند، تا xterm یک DEC VT220 را با دقت بیشتری شبیهسازی کند. در غیر این صورت (پیشفرض، با تنظیم sunKeyboard بر روی “false”))، xterm از نگاشتهای سبک PC برای کلیدهای تابع و صفحه کلید عددی استفاده میکند.
- نگاشتهای سبک PC از کلیدهای Shift، Alt، Control و Meta به عنوان کلیدهای تبدیل برای کلیدهای تابع و صفحه کلید عددی استفاده میکنند (برای جزئیات به Xterm Control Sequences مراجعه کنید). نگاشتهای سبک PC شبیه به PCTerm هستند، اما یکسان نیستند. بهطور معمول این نگاشتها با استفاده از کلید Meta همانطور که برای منبع eightBitInput شرح داده شده تداخل پیدا نمیکنند. در صورت تداخل، توجه داشته باشید که نگاشتهای سبک PC ابتدا ارزیابی میشوند.
- همچنین منبع keyboardType را ببینید.
- tcapFunctionKeys (class TcapFunctionKeys)
- مشخص میکند که آیا کدهای گریز کلیدهای تابع خواندهشده از مدخل termcap/terminfo متناظر با متغیر محیطی TERM باید برای کلیدهای تابع تولید شوند یا کدهای پیکربندیشده با استفاده از sunKeyboard و keyboardType. پیشفرض “false” است، یعنی این ویژگی غیرفعال است.
- منبع keyboardType سازوکار ارجح برای انتخاب این حالت است.
- termName (class TermName)
- نام نوع ترمینال را برای تنظیم در متغیر محیطی TERM مشخص میکند.
- title (class Title)
- رشتهای را مشخص میکند که ممکن است توسط مدیر پنجره هنگام نمایش این برنامه استفاده شود.
- toolBar (class ToolBar)
- مشخص میکند که آیا نوار ابزار باید نمایش داده شود یا خیر. پیشفرض “true” است.
- ttyModes (class TtyModes)
- رشتهای
شامل
کلیدواژههای
تنظیمات
ترمینال را
مشخص
میکند. به
جز در
مواردی که
ذکر شده،
آنها ممکن
است به
نویسهها
مقید شوند.
کلیدواژههای
دیگر
حالتها
را تنظیم
میکنند.
تمام
کلیدواژهها
بر روی یک
سیستم معین
پشتیبانی
نمیشوند.
کلیدواژههای
مجاز
عبارتند
از:.sp
کلیدواژه (Keyword) POSIX؟ توضیحات brk خیر CHAR ممکن است علاوهبر پایان دادن به خط ورودی، یک سیگنال “interrupt” نیز ارسال کند. dsusp خیر CHAR پس از تخلیه ورودی، یک سیگنال “stop” پایانه ارسال خواهد کرد. eof بله CHAR به ورودی خاتمه میدهد (یعنی پایان فایل). eol بله CHAR به خط پایان میدهد. eol2 خیر CHAR جایگزین برای پایان دادن به خط. erase بله CHAR آخرین نویسه تایپشده را پاک میکند. erase2 خیر CHAR جایگزین برای پاک کردن آخرین نویسه ورودی. flush خیر CHAR باعث دور ریخته شدن خروجی میشود تا زمانی که نویسه flush دیگری تایپ شود. intr بله CHAR یک سیگنال “interrupt” ارسال خواهد کرد. kill بله CHAR خط جاری را پاک میکند. lnext خیر CHAR نویسه بعدی را بهصورت نقلشده وارد میکند. quit بله CHAR یک سیگنال “quit” ارسال خواهد کرد. rprnt خیر CHAR خط جاری را دوباره ترسیم میکند. start بله CHAR خروجی را پس از متوقف کردن آن، از نو آغاز میکند. status خیر CHAR باعث چاپ یک خط وضعیت تولیدشده توسط سیستم میشود. stop بله CHAR خروجی را متوقف میکند. susp بله CHAR یک سیگنال “stop” پایانه ارسال خواهد کرد. swtch خیر CHAR به یک لایه پوسته دیگر تغییر وضعیت میدهد. tabs بله Mode گسترش تبها (tab-expansion) را غیرفعال میکند. -tabs بله Mode گسترش تبها (tab-expansion) را فعال میکند. weras خیر CHAR آخرین کلمه تایپشده را پاک میکند.
- نویسههای کنترلی را میتوان بهصورت ^char (مانند ^c یا ^u) مشخص کرد و از ^? میتوان برای اشاره به delete (کد ۱۲۷) استفاده نمود. از ^- برای مشخص کردن undef استفاده کنید. از \034 برای نشان دادن ^\ استفاده کنید، زیرا یک بکاسلش لفظی در یک منبع X، نویسه بعدی را فراردهی (escape) میکند.
- این کار برای بازنویسی تنظیمات پیشفرض پایانه، بدون نیاز به اجرای هر بارهٔ stty(1) هنگام راهاندازی یک xterm بسیار سودمند است. با این حال، توجه داشته باشید که برنامه stty در یک میزبان ممکن است از کلیدواژههای متفاوتی استفاده کند؛ جدول xterm توکار است. ستون POSIX در جدول مشخص میکند که کدام کلیدواژهها توسط یک برنامه استاندارد stty پشتیبانی میشوند.
- اگر منبع ttyModes مقداری را برای erase تعیین کند، آن مقدار تنظیمات منبع ptyInitialErase را لغو میکند، بدین معنا که xterm پایانه را مطابق با آن مقدار مقداردهی اولیه مینماید.
- useInsertMode (class UseInsertMode)
- اجبار به استفاده از حالت درج (insert mode) با افزودن مدخلهای مناسب به متغیر محیطی TERMCAP. این گزینه در صورتی که termcap سیستم معیوب باشد مفید است. (این منبع در بیشتر سیستمها نادیده گرفته میشود، زیرا از TERMCAP استفاده نمیشود). مقدار پیشفرض “false” است.
- utmpDisplayId (class UtmpDisplayId)
- مشخص میکند که آیا xterm باید تلاش کند علاوه بر نام میزبان (hostname)، شناسه نمایشگر (شماره نمایشگر و شماره صفحه) را نیز در فایل لاگ utmp سیستم ثبت کند یا خیر. مقدار پیشفرض “true” است.
- utmpInhibit (class UtmpInhibit)
- مشخص میکند که آیا xterm باید پایانه کاربر را در فایل لاگ utmp سیستم ثبت کند یا خیر. در صورت درست بودن (true)، xterm تلاشی برای ثبت آن نخواهد کرد. مقدار پیشفرض “false” است.
- validShells (class ValidShells)
- هنگام تصمیمگیری در مورد تنظیم متغیر محیطی “SHELL” در زمان اجرای یک برنامه مشخص، مواردی را به فایل /etc/shells سیستم میافزاید.
- مقدار این منبع، فهرستی از خطهاست (که با خط جدید از یکدیگر جدا شدهاند). هر خط شامل یک مسیر است. Xterm پس از حذف فاصلههای خالی ابتدا و انتهای هر خط، خطوطی را که با “#” آغاز میشوند نادیده میگیرد.
- مقدار پیشفرض یک رشته خالی است.
- waitForMap (class WaitForMap)
- مشخص میکند که آیا xterm باید پیش از شروع زیرفرآیند، منتظر نگاشت اولیه پنجره (initial window map) بماند یا خیر. این بخشی از منطق ptyHandshake است. هنگامی که به xterm دستور داده میشود به این صورت منتظر بماند، اندازه پایانه را از سمت نمایشگر شبهپایانه به اتصال ورودی/خروجی پایانه منتقل میکند؛ برای مثال با استفاده از اندازهای که توسط مدیر پنجره تعیین شده است. در غیر این صورت، از اندازه دادهشده در مقادیر منابع یا گزینه خط فرمان -geometry استفاده میکند. مقدار پیشفرض “false” است.
- zIconBeep (class ZIconBeep)
- مشابه با آرگومان خط فرمان -ziconbeep است. اگر مقدار این منبع غیرصفر باشد، پنجرههای xterm که در وضعیت کوچکشده به نماد (iconified) خروجی تولید میکنند، صدایی از نوع XBell با بلندی مشخصشده پخش خواهند کرد و عبارت “*** ” به ابتدای عنوان نماد آنها اضافه خواهد شد. بیشتر مدیران پنجره این تغییر را بلافاصله تشخیص داده و پنجرهای را که دارای خروجی است به شما نشان میدهند. (قابلیت مشابهی در x10 xterm وجود داشت). مقدار پیشفرض “false” است.
- zIconTitleFormat (class ZIconTitleFormat)
- امکان سفارشیسازی رشته مورد استفاده در قابلیت zIconBeep را فراهم میکند. مقدار پیشفرض “*** %s” است.
- اگر مقدار این منبع حاوی یک “%s” باشد، آنگاه xterm بهجای چسباندن رشته به ابتدای عنوان نماد، عنوان نماد را در همان نقطه درج میکند. (تنها از نخستین “%s” استفاده میشود). منابع زیر به عنوان بخشی از ویجت vt100 (کلاس VT100) مشخص میشوند. آنها با الگوهایی مانند “XTerm.vt100.NAME” تعیین میگردند.
اگر xterm شما برای پشتیبانی از “toolbar” (نوار ابزار) پیکربندی شده باشد، آنگاه این الگوها به یک سطح اضافی برای ویجت form که نوار ابزار و ویجت vt100 را نگه میدارد نیاز دارند. یک نویسه عمومی (wildcard) بین سطح بالای “XTerm” و ویجت “vt100” باعث میشود تنظیمات منابع برای هر دو حالت کار کند، مانند “XTerm*vt100.NAME”.
- activeIcon (class ActiveIcon)
- مشخص میکند که آیا پنجرههای آیکون فعال هنگام کوچکسازی (iconified) پنجرهٔ xterm استفاده شوند یا خیر، در صورتی که این ویژگی در xterm کامپایل شده باشد. آیکون فعال یک نمایش مینیاتوری از محتوای پنجره است و با تغییر محتوا بهروزرسانی میشود. همهٔ مدیرهای پنجره لزوماً از پنجرههای آیکون برنامه پشتیبانی نمیکنند. برخی از مدیرهای پنجره به شما اجازه میدهند تا کلیدها را در پنجرهٔ آیکون فعال وارد کنید. مقدار پیشفرض “default” است.
- Xterm یک کلمه کلیدی (بدون حساسیت به بزرگی و کوچکی حروف) یا عدد نشاندادهشده در پرانتز را میپذیرد:
- false (0)
- هیچ آیکون فعالی نشان داده نمیشود.
- true (1)
- آیکون فعال نشان داده میشود. اگر از twm استفاده میکنید، از این تنظیم برای فعال کردن آیکونهای فعال استفاده کنید.
- default (2)
- Xterm هنگام راهاندازی بررسی میکند و آیکون فعال را تنها برای مدیرهای پنجرهای نشان میدهد که میتواند آنها را شناسایی کند و شناخته شده است که از این ویژگی پشتیبانی میکنند. این موارد عبارتند از fvwm (پشتیبانی کامل) و window maker (محدود). تعداد کمی از مدیرهای پنجره دیگر (مانند twm و ctwm) از آیکونهای فعال پشتیبانی میکنند، اما از افزونههایی که به xterm امکان میدهند مدیر پنجره را شناسایی کند، پشتیبانی نمیکنند.
- allowBoldFonts (class AllowBoldFonts)
- هنگامی که روی “false” تنظیم شود، xterm از قلمهای توپر (bold) استفاده نخواهد کرد. این گزینه بر هر دو منبع alwaysBoldMode و boldMode اولویت دارد و آنها را بازنویسی میکند.
- allowC1Printable (class AllowC1Printable)
- اگر true باشد، نگاشت کنترلهای C1 (کدهای 128–159) را لغو کرده و به xterm میگوید به آنها به عنوان نویسههای قابل چاپ بنگرد. گرچه این امر با هیچ استاندارد خاصی مطابقت ندارد، برخی از کاربران اصرار دارند که این رفتار VT100 است. مقدار پیشفرض “false” است.
- صرفاً علامتگذاری کنترلهای C1 به عنوان قابل چاپ، تضمین نمیکند که xterm یک نویسه را نمایش دهد. این امر به قلم استفادهشده بستگی دارد. هنگامی که قلم برای آن کدها گلیفی (glyph) ارائه نکند، xterm ممکن است بسته به تنظیمات منبع forceBoxChars، به جای آن یک جعبه خطچین یا یک فضای خالی نشان دهد.
- هنگامی که xterm از کدگذاری UTF-8 استفاده میکند، بایتهای C1 را به عنوان نویسههای کنترلی تفسیر نمیکند:
- Xterm نویسهها را در هر سلول روی صفحه ذخیره میکند (به جای توالی بایتهایی که یک نویسه را تشکیل میدهند). هنگامی که allowC1Printable روی on باشد، کدهای نویسهٔ ذخیرهشده با مقادیر بایت مطابقت دارند.
- هنگامی که allowC1Printable روی off باشد، xterm همان بایتها را به عنوان نویسههای جایگزین یونیکد (U+FFFD) ذخیره میکند، زیرا یک توالی UTF-8 نمیتواند با آن بایتها شروع شود.
- کدگذاری UTF-8 میتواند کدهای نویسه در محدودهٔ 128–159 را با استفاده از دو بایت (آغاز با 0xC2) تولید کند. Xterm هنگامی که allowC1Printable خاموش باشد، آن نویسههای دو بایتی را به عنوان کنترلهای C1 تفسیر نمیکند؛ بلکه صرفاً آنها را نادیده میگیرد.
- allowColorOps (class AllowColorOps)
- مشخص میکند که آیا توالیهای کنترلی تنظیمکننده یا پرسوجوکنندهٔ رنگهای پویا باید مجاز باشند یا خیر. رنگهای ANSI تحت تأثیر این تنظیم منبع قرار نمیگیرند. مقدار پیشفرض “true” است.
- allowFontOps (class AllowFontOps)
- مشخص میکند که آیا توالیهای کنترلی تنظیمکننده یا پرسوجوکنندهٔ قلم باید مجاز باشند یا خیر. مقدار پیشفرض “true” است.
- allowMouseOps (class AllowMouseOps)
- مشخص میکند که آیا توالیهای کنترلی که به xterm امکان ارسال توالیهای فرار (escape sequences) به میزبان در هنگام کلیک و حرکت ماوس را میدهند، باید مجاز باشند یا خیر. مقدار پیشفرض “true” است.
- allowPasteControls (class AllowPasteControls)
- اگر true باشد، اجازه میدهد نویسههای کنترلی مانند BEL و CAN جایگذاری (paste) شوند. نویسههای قالببندی (tab، newline) معمولاً مجاز هستند، مگر اینکه از طریق منبع disallowedPasteControls منع شده باشند. سایر نویسههای کنترلی C0 منع میشوند مگر اینکه این منبع فعال شده باشد. مجموعهٔ دقیق نویسههای کنترلی (C0 و C1) بستگی به این دارد که آیا از کدگذاری UTF-8 استفاده میشود یا خیر، و همچنین به منابع allowC1Printable و disallowedPasteControls وابسته است. مقدار پیشفرض “false” است.
- allowScrollLock (class AllowScrollLock)
- مشخص میکند که آیا توالیهای کنترلی تنظیمکننده یا پرسوجوکنندهٔ کلید Scroll Lock باید مجاز باشند یا خیر، و همچنین آیا کلید Scroll Lock به فشردن کلید توسط کاربر پاسخ میدهد یا نه. مقدار پیشفرض “false” است.
- هنگامی که این ویژگی فعال باشد، xterm هر بار که فوکوس را به دست میآورد، وضعیت کلید Scroll Lock را بررسی میکند. فشردن کلید Scroll Lock وضعیت درونی xterm را تغییر میدهد و همچنین وضعیت LED مربوطه را تغییر وضعیت میدهد. در حالی که Scroll Lock فعال است، xterm تلاش میکند تا درگاه نمایش (viewport) را روی همان مجموعه از خطوط نگه دارد. اگر درگاه نمایش فعلی فراتر از حد تعیینشده توسط منبع saveLines پیمایش شود، آنگاه Scroll Lock تأثیر دیگری نخواهد داشت.
- دلیل قرار دادن مقدار پیشفرض روی “false” جلوگیری از غافلگیری کاربر است. این کلید عموماً در پیکربندیهای صفحهکلید بدون استفاده است، و حتی زمانی که به آن شیوه استفاده میشود نیز معنای استانداردی پیدا نکرده است. در نتیجه، کاربران آن را برای اهداف موردی و خاص (ad hoc) اختصاص دادهاند.
- همچنین منبع autoScrollLock را ببینید.
- allowSendEvents (class AllowSendEvents)
- مشخص میکند که آیا رویدادهای کلید و دکمهٔ ساختگی (تولیدشده با استفاده از درخواست SendEvent در پروتکل X) باید تفسیر شوند یا دور انداخته شوند. مقدار پیشفرض “false” است که به معنای دور انداختن آنهاست. توجه داشته باشید که مجاز کردن چنین رویدادهایی یک رخنهٔ امنیتی بسیار بزرگ ایجاد میکند، بنابراین فعال کردن این منبع به اجبار منابع allowXXXOps را غیرفعال میسازد. مقدار پیشفرض “false” است.
- allowTcapOps (class AllowTcapOps)
- مشخص میکند که آیا توالیهای کنترلی که برداشت ترمینال از رشتههای کلیدهای تابعی آن را به عنوان قابلیتهای termcap یا terminfo استعلام میکنند، باید مجاز باشند یا خیر. مقدار پیشفرض “true” است.
- تعداد کمی از برنامهها، مانند vim، از این ویژگی برای به دست آوردن توصیفی دقیق از قابلیتهای ترمینال، مستقل از تنظیمات termcap/terminfo استفاده میکنند:
- Xterm میتواند به برنامهٔ پرسوجوکننده بگوید از چند رنگ پشتیبانی میکند. این یک مقدار ثابت است که به نحوهٔ کامپایل آن بستگی دارد، معمولاً 16. با تغییر تنظیمات منابع، مثلاً منبع boldColors، تغییر نمیکند.
- Xterm میتواند به برنامهٔ پرسوجوکننده بگوید چه رشتههایی توسط کلیدهای تابعی و صفحه کلید عددی (keypad) با تبدیلکنندهها (shift-، control-، alt-) ارسال میشوند. گزارش کلیدهای تبدیلکنندهٔ control- و alt- ویژگیای است که بر نامگذاری گسترشیافتهٔ ncurses متکی است.
- allowTitleOps (class AllowTitleOps)
- مشخص میکند که آیا توالیهای کنترلی تغییردهندهٔ عنوان پنجره یا نام آیکون باید مجاز باشند یا خیر. مقدار پیشفرض “true” است.
- allowWindowOps (class AllowWindowOps)
- مشخص میکند که آیا توالیهای کنترلی گسترشیافتهٔ پنجره (همانگونه که در dtterm استفاده میشود) باید مجاز باشند یا خیر. اینها شامل چندین توالی کنترلی هستند که اندازه یا موقعیت پنجره را دستکاری کرده و همچنین این مقادیر و عنوان پنجره یا نام آیکون را گزارش میدهند. از هر یک از این موارد میتوان در یک اسکریپت سوءاستفاده کرد؛ جالب اینجاست که اکثر شبیهسازهای ترمینال که این قابلیتها را پیادهسازی کردهاند، تنها بخش کوچکی از این مجموعه را محدود میسازند. برای تنظیم دقیقتر، disallowedWindowOps را ببینید. مقدار پیشفرض “false” است..TP 8 altIsNotMeta (کلاس AltIsNotMeta) اگر “true” باشد، با کلید Alt طوری رفتار میشود که گویی کلید Meta است. ممکن است صفحهکلید شما بهگونهای پیکربندی شده باشد که این دو یکسان باشند. اما اگر چنین نیستند، این گزینه به شما امکان میدهد تا همان عملیات پیشوندی و تبدیل (shifting) را با کلید Alt درست مانند کلید Meta به کار ببرید. altSendsEscape و metaSendsEscape را ببینید. پیشفرض “false” است.
- altSendsEscape (کلاس AltSendsEscape)
- این یک عملیات اضافی صفحهکلید است که ممکن است پس از منطقِ metaSendsEscape پردازش شود. این ویژگی تنها در صورتی در دسترس است که منبع altIsNotMeta تنظیم شده باشد.
- اگر “true” باشد، نویسههای Alt (نویسهای که با کلید تبدیل مرتبط با کلیدهای Alt چپ/راست ترکیب شده است) به یک دنبالهٔ دو نویسهای تبدیل میشوند که پیش از خود نویسه، ESC قرار میگیرد. این مورد همچنین برای دنبالههای کنترلی کلیدهای تابع اعمال میشود، مگر اینکه xterm ببیند که Alt در نگاشتهای کلید (translations) شما استفاده شده است.
- اگر “false” باشد، نویسههای Alt ورودی از صفحهکلید باعث تبدیل به نویسههای ۸ بیتی میشوند (درست مانند metaSendsEscape). با ترکیب کلیدهای تبدیل Alt و Meta، میتوانید ترکیبهای متناظری از پیشوند ESC و نویسههای ۸ بیتی ایجاد کنید.
- پیشفرض “False” است. Xterm گزینهای در منو برای تغییر وضعیت این منبع ارائه میدهد.
- alternateScroll (کلاس ScrollCond)
- اگر “true” باشد، کنشهای scroll-back و scroll-forw هنگامی که xterm در حال نمایش صفحهٔ جایگزین است، کلیدهای مکاننما به بالا و پایین (cursor-up و cursor-down) را ارسال میکنند. پیشفرض “false” است.
- وضعیت alternateScroll را میتوان با استفاده از یک دنبالهٔ کنترلی نیز تنظیم کرد.
- alwaysBoldMode (کلاس AlwaysBoldMode)
- مشخص
میکند که
آیا xterm باید
قبل از
تصمیمگیری
دربارهٔ
استفاده از
چاپ روی هم
(overstriking) برای
شبیهسازی
قلمهای
پررنگ،
متمایز
بودن قلم
عادی و
پررنگ را
بررسی کند
یا خیر. اگر
این منبع true
باشد، xterm
هنگام
تصمیمگیری
دربارهٔ
نحوهٔ
مدیریت
منبع boldMode،
متمایز
بودن
قلمها را
بررسی
نمیکند.
پیشفرض
“false” است.
boldMode alwaysBoldMode Comparison Action false false ignored use font false true ignored use font true false same overstrike true false different use font true true ignored overstrike
این منبع فقط برای قلمهای نقشبیتی (bitmap fonts) استفاده میشود:
- هنگام استفاده از قلمهای نقشبیتی، این احتمال وجود دارد که کارساز قلم (font server) قلم پررنگ را با تغییر مقیاس آن از اندازهٔ قلمی متفاوت از آنچه انتظار میرفت، تقریب بزند. منبع alwaysBoldMode به کاربر امکان میدهد قلم پررنگ حاصل (که گاهی نامطلوب است) را با چاپ روی هم یا overstriking (که دستکم یکدست است) جایگزین کند.
- این مشکل در قلمهای TrueType رخ نمیدهد (اگرچه ممکن است مسائل غیرضروری دیگری مانند تفاوت در پوشش نویسههای قلم عادی و پررنگ وجود داشته باشد).
- بهعنوان یک جایگزین، تنظیم منبع allowBoldFonts روی false، هر دو منبع alwaysBoldMode و boldMode را باطل میکند.
- alwaysHighlight (کلاس AlwaysHighlight)
- مشخص میکند که آیا xterm باید همیشه یک مکاننمای متن برجسته (توپُر) را نمایش دهد یا خیر. بهطور پیشفرض (اگر این منبع false باشد)، هرگاه نشانگر از پنجره خارج شود یا پنجره تمرکز ورودی (input focus) را از دست بدهد، یک مکاننمای متن توخالی نمایش داده میشود. پیشفرض “false” است.
- alwaysUseMods (کلاس AlwaysUseMods)
- منبع numLock را لغو کرده و به xterm اعلام میکند که از کلیدهای تبدیل Alt و Meta برای ساخت پارامترهای دنبالههای کلید تابع استفاده کند، حتی اگر این کلیدهای تبدیل در منبع translations آمده باشند. بهطور معمول xterm بررسی میکند که آیا Alt یا Meta در نگاشتی استفاده شدهاند که با کلیدهای تبدیل کلید تابع تداخل داشته باشد، و در آن حالت خاص، این کلیدهای تبدیل را نادیده میگیرد. پیشفرض “false” است.
- answerbackString (کلاس AnswerbackString)
- رشتهای را مشخص میکند که xterm در پاسخ به نویسهٔ ENQ (یا control/E) از سوی میزبان ارسال میکند. پیشفرض یک رشتهٔ خالی است، یعنی “”. یک ترمینال سختافزاری VT100 این ویژگی را بهصورت یک گزینهٔ راهاندازی (setup) پیادهسازی میکند.
- appcursorDefault (کلاس AppcursorDefault)
- اگر “true” باشد، کلیدهای مکاننما در ابتدا در حالت کاربرد (application mode) هستند. این همانند حالت اختصاصی DECCKM در VT102 است. پیشفرض “false” است.
- appkeypadDefault (کلاس AppkeypadDefault)
- اگر “true” باشد، کلیدهای صفحه کلید عددی (keypad) در ابتدا در حالت کاربرد (application mode) هستند. پیشفرض “false” است.
- assumeAllChars (کلاس AssumeAllChars)
- اگر “true” باشد، یک حالت خاص را در قلمهای نقشبیتی فعال میکند تا به کارساز قلم اجازه دهد نحوهٔ نمایش علامتهای نگارشی (glyphs) ناموجود را انتخاب کند. پیشفرض “true” است.
- دلیل وجود این منبع، کمک به برخی قلمهای شبهخودکار تولیدشده (مانند کدگذاری ISO-10646-1 قلم Terminus) است که معیارهای قلمی (font-metrics) نادرستی دارند.
- autoScrollLock (کلاس AutoScrollLock)
- اگر “true” باشد، xterm هنگام نمایش تاریخچهٔ پیمایش (scrollback)، محدودهٔ دید (viewport) خطوط نمایشدادهشده را حفظ خواهد کرد؛ گویی allowScrollLock فعال بوده و کلید Scroll Lock فشرده شده است. پیشفرض “false” است. این قابلیت تنها در صورتی کاربرد دارد که منبع scrollTtyOutput روی “false” تنظیم شده باشد.
- autoWrap (کلاس AutoWrap)
- مشخص میکند که آیا سطرشکنی خودکار (auto-wraparound) باید فعال باشد یا خیر. این معادل DECAWM در VT102 است. پیشفرض “true” است.
- awaitInput (کلاس AwaitInput)
- مشخص میکند که آیا xterm از یک مهلت زمانی ۵۰ میلیثانیهای برای انتظار ورودی استفاده کند یا خیر (یعنی برای پشتیبانی از نوار پیمایش پیکاندار Xaw3d). پیشفرض “false” است.
- backarrowKey (کلاس BackarrowKey)
- مشخص میکند که آیا کلید پیکان بازگشت (backarrow) نویسهٔ backspace (8) یا delete (127) را ارسال کند. این با دنبالهٔ کنترلی DECBKM مطابقت دارد. مقدار “true” مشخصکنندهٔ backspace است. پیشفرض “True” است. فشردن کلید کنترل این رفتار را تغییر میدهد.
- background (کلاس Background)
- رنگ مورد استفاده برای پسزمینهٔ پنجره را مشخص میکند. پیشفرض “XtDefaultBackground” است.
- bellIsUrgent (کلاس BellIsUrgent)
- مشخص میکند که آیا هنگام به صدا درآمدن زنگ، نشانهٔ فوریت (Urgency hint) برای مدیر پنجره تنظیم شود یا خیر. پیشفرض “false” است.
- bellOnReset (کلاس BellOnReset)
- مشخص میکند که آیا هنگام بازنشانی سختافزاری (hard reset) زنگ به صدا درآید یا خیر. پیشفرض “true” است.
- bellSuppressTime (کلاس BellSuppressTime)
- تعداد میلیثانیهها پس از ارسال فرمان زنگ که طی آن زنگهای اضافی فروخورده خواهند شد. پیشفرض 200 است. اگر مقداری غیر از صفر تنظیم شود، زنگهای اضافی همچنین تا زمانی که کارساز گزارش دهد پردازش زنگ نخست به پایان رسیده است فروخورده خواهند شد؛ این ویژگی بیشترین کاربرد را در زنگ بصری (visible bell) دارد.
- boldColors (کلاس ColorMode)
- مشخص میکند که آیا ویژگی پررنگ با رنگها همانند IBM PC ترکیب شود یا خیر؛ یعنی نگاشت رنگهای 0 تا 7 به رنگهای 8 تا 15. این رنگها معمولاً نسخههای روشنتر ۸ رنگ نخست هستند و از این رو پررنگ (bold) نامیده میشوند. پیشفرض “true” است.
- boldFont (کلاس BoldFont)
- نام قلم پررنگ مورد استفاده به جای چاپ روی هم (overstriking) را مشخص میکند. هیچ پیشفرضی برای این منبع وجود ندارد..IP این قلم باید ارتفاع و پهنایی یکسان با قلم عادی داشته باشد، در غیر این صورت نادیده گرفته میشود. اگر فقط یکی از قلمهای عادی یا پررنگ (bold) مشخص شده باشد، به عنوان قلم عادی استفاده خواهد شد و قلم پررنگ با رویهمنویسی (overstriking) بر روی این قلم تولید میشود.
- همچنین بحث پیرامون منابع boldMode و alwaysBoldMode را ببینید.
- boldMode (class BoldMode)
- مشخص میکند در صورتی که قلم پررنگِ تعیینشده با قلم عادی یکسان باشد، آیا متن دارای مشخصهٔ پررنگ باید با رویهمنویسی برای شبیهسازی قلمهای پررنگ بازنویسی شود یا خیر. هنگامی که از رنگ برای مشخصهٔ پررنگ استفاده میشود، ممکن است غیرفعال کردن قلمهای پررنگ مطلوب باشد.
- توجه داشته باشید که xterm یک قلم پررنگ دارد که میتوانید آن را به صورت صریح تعیین کنید. Xterm تلاش میکند برای سایر گزینشهای قلم (font1 تا font7) یک قلم پررنگ مشتق کند. اگر نتواند قلم پررنگی پیدا کند، از قلم عادی استفاده خواهد کرد. در هر حالت (چه منبع صریح و چه قلم مشتقشده)، اگر قلمهای عادی و پررنگ متمایز باشند، این منبع هیچ اثری ندارد. پیشفرض “true” است.
- منبع alwaysBoldMode را ببینید که میتواند رفتار این منبع را تغییر دهد.
- اگرچه xterm
تلاش
میکند
برای سایر
گزینشهای
قلم یک قلم
پررنگ مشتق
کند، اما
ممکن است
کارگزار
قلم (font server)
همکاری
نکند. از
زمان X11R6،
قلمهای
نقشبیتی (bitmap)
مقیاسبندی
شدهاند.
کارگزار
قلم ادعا
میکند قلم
پررنگی را
که xterm
درخواست
میکند
ارائه
میدهد،
اما نتیجه
همیشه
خوانا نیست.
XFree86 قابلیتی
را معرفی
کرد که
میتوان از
آن برای
مهار کردن
این
مقیاسبندی
استفاده
کرد. در
فایل
پیکربندی
کارگزار X
(مانند “/etc/X11/XFree86”
یا “/etc/X11/xorg.conf”)،
میتوانید
“:unscaled” را به
انتهای
مسیر
مشخصشده
برای
قلمهای
“misc” اضافه
کنید، که
شامل
قلمهای با
عرض ثابتی
هستند که
توسط xterm
استفاده
میشوند.
برای نمونه
FontPath "/usr/lib/X11/fonts/misc/"
- تبدیل
میشود به
FontPath "/usr/lib/X11/fonts/misc/:unscaled"
- بسته به پیکربندی شما، کارگزار قلم ممکن است فایل پیکربندی جداگانهای برای خود داشته باشد. همین عبارت “:unscaled” را میتوان به انتهای مسیر مشخصشده برای “misc” در فایل پیکربندی آن نیز افزود.
- قابلیت مقیاسبندی نقشبیتی همچنین توسط xterm برای پیادهسازی نویسههای با عرض دوبرابر و ارتفاع دوبرابر VT102 استفاده میشود.
- brokenCopyArea (class BrokenCopyArea)
- اگر true باشد، xterm از یک روش جایگزین برای جبران حذف شتابدهندهٔ سختافزاری در کارگزارهای X اخیر استفاده میکند.
- brokenLinuxOSC (class BrokenLinuxOSC)
- اگر true باشد، xterm یک راهکار ترمیمی برای نادیده گرفتن توالیهای کنترلی بدشکل که ممکن است یک اسکریپت لینوکس ارسال کند، اعمال میکند. توالیهای کنترلی پالت رنگ مستند شده در console_codes را با ECMA-48 مقایسه کنید. پیشفرض “true” است.
- brokenSelections (class BrokenSelections)
- اگر true باشد، xterm در حالت ۸ بیتی، گزینشهای STRING را به گونهای تفسیر میکند که حاوی متنی با رمزگذاری محلی (locale) کنونی هستند. به طور معمول گزینشهای STRING متن رمزگذاریشده با ISO-8859-1 را انتقال میدهند. تنظیم این منبع روی “true” استانداردهای ICCCM را نقض میکند؛ با این حال ممکن است برای تعامل با برخی کلاینتهای معیوب X مفید باشد. پیشفرض “false” است.
- brokenStringTerm (class BrokenStringTerm)
- یک راهکار ترمیمی برای برخی از مسیریابهای ISDN فراهم میکند که یک رشتهٔ کنترلی برنامه را بدون تکمیل کردن آن آغاز میکنند. اگر به نظر میرسد xterm هنگام اتصال متوقف (فریز) میشود، این را روی “true” تنظیم کنید. پیشفرض “false” است.
- تجزیهگر وضعیت Xterm چندین نوع رشتهٔ کنترلی را که میتوانند شامل متن باشند، شناسایی میکند؛ از جمله:
DCS (Device Control String)،
OSC (Operating System Command)،
PM (Privacy Message)، و
SOS (Start of String)،
- هر یک باید با یک پایاندهندهٔ رشته (string-terminator، نویسهای ویژه که نمیتواند در این رشتهها ظاهر شود) به پایان برسند. نویسههای کنترلی عادی که درون رشته یافت میشوند نادیده گرفته نمیشوند؛ آنها بدون تداخل در روند گردآوری محتوای رشتهٔ کنترلی پردازش میشوند. Xterm این کنترلها را در تمامی حالتها تشخیص میدهد، اگرچه ممکن است برخی از عملکردها پس از تجزیهٔ کنترل متوقف شوند.
- هنگام فعال بودن، این ویژگی به کاربر امکان میدهد در صورت یافتن هر یک از این نویسههای کنترلی عادی، از یک رشتهٔ کنترلی پایاننیافته خارج شود:
control/H (پسبر یا backspace)،
control/I (برگهگذاری یا tab-feed)،
control/J (تغذیهٔ سطر یا سطر جدید)،
control/K (برگهٔ عمودی یا vertical tab)،
control/L (تغذیهٔ فرم یا form feed)،
control/M (بازگشت به سر سطر یا carriage return)،
control/N (shift-out)،
control/O (shift-in)،
control/Q (XOFF)،
control/X (لغو یا cancel)
- c132 (class C132)
- مشخص میکند که آیا توالی گریز DECCOLM در VT102، که برای جابهجایی میان ۸۰ و ۱۳۲ ستون به کار میرود، باید رعایت شود یا خیر. پیشفرض “false” است.
- cacheDoublesize (class CacheDoublesize)
- مشخص میکند که آیا قلمهای با اندازهٔ دوبرابر توسط xterm در حافظهٔ نهان (کَش) نگهداری شوند یا خیر. برای غیرفعال کردن کامل قلمهای با اندازهٔ دوبرابر، این مقدار را روی صفر قرار دهید.
- cdXtraScroll (class CdXtraScroll)
- مشخص میکند که آیا xterm هنگام پاک کردن کل صفحه باید به صفحهای جدید پیمایش کند یا خیر. مانند tiXtraScroll، هدف این گزینه ارائهٔ تصویری از صفحهٔ نمایش برنامهٔ تمامصفحه در تاریخچهٔ پیمایش (scrollback) پیش از پاک شدن متن است.
- Xterm یک کلمه کلیدی (بدون حساسیت به بزرگی و کوچکی حروف) یا عدد نشاندادهشده در پرانتز را میپذیرد:
- false (0)
- چیزی به تاریخچهٔ پیمایش افزوده نمیشود.
- true (1)
- صفحهٔ کنونی به تاریخچهٔ پیمایش افزوده میشود.
- trim (2)
- صفحهٔ کنونی به تاریخچهٔ پیمایش افزوده میشود، اما خطوط خالی تکراری کوتاه میشوند (به یک خط خالی تقلیل مییابند).
- پیشفرض این منبع “false” است.
- charClass (class CharClass)
- فهرستهایی
جداشده با
کاما از
انتسابهای
ردههای
نویسه را به
قالب زیر
مشخص
میکند:
low[-high][:value].
- این موارد در تعیین این که هنگام برش و چسباندن (cut and paste) با کدام مجموعههای نویسه رفتاری یکسان صورت گیرد، استفاده میشوند. بخش CHARACTER CLASSES را ببینید.
- checksumExtension (class ChecksumExtension)
- مدلهای DEC VT420 و بالاتر از توالی کنترلی DECRQCRA که جمع مقابلهای (checksum) نویسههای درون یک مستطیل را گزارش میدهد، پشتیبانی میکنند. Xterm با افزونههایی که میتوان با بیتهای checksumExtension پیکربندی کرد، از این قابلیت پشتیبانی میکند: 0 نتیجه نقیض نشود.
- 1
- مشخصههای تصویری VT100 گزارش نشوند.
- 2
- چکسام برای فاصلههای خالی حذف نشود.
- 3
- چکسام برای خانههایی که صریحاً مقداردهی اولیه نشدهاند حذف شود.
- 4
- مقدار خانه به ۸ بیت ماسک نشود و نویسههای ترکیبی نادیده گرفته نشوند.
- 5
- مقدار خانه به ۷ بیت ماسک نشود.
- با مقدار پیشفرض (0)، xterm با رفتار پایانههای DEC مطابقت دارد. برای استفاده از همهٔ افزونهها، تمام بیتها را تنظیم کنید، برای مثال “-1”.
- cjkWidth (class CjkWidth)
- مشخص میکند که آیا xterm باید از قرارداد سنتی پهنای آسیای شرقی پیروی کند یا خیر. در صورت فعال بودن، نویسههای با ردهٔ East Asian Ambiguous (A) در UTR 11 دارای پهنای ستونی ۲ خواهند بود. اگر برخی برنامههای قدیمی مبتنی بر پایانهٔ آسیای شرقی را دارید که فرض میکنند نویسههای خطکشی دارای پهنای ستونی ۲ هستند، ممکن است لازم باشد این گزینه را روی “true” تنظیم کنید. اگر این منبع false باشد، منبع mkWidth انتخاب بین wcwidth(3) سیستم و جدولهای توکار xterm را کنترل میکند. پیشفرض “false” است.
- color0 (class Color0)
- color1 (class Color1)
- color2 (class Color2)
- color3 (class Color3)
- color4 (class Color4)
- color5 (class Color5)
- color6 (class Color6)
- color7 (class Color7)
- اینها رنگهای افزونهٔ ISO-6429 را مشخص میکنند. مقادیر پیشفرض بهترتیب عبارتند از: black، red3، green3، yellow3، یک آبی تیرهٔ سفارشیپذیر، magenta3، cyan3 و gray90. طیفهای رنگی پیشفرض بهگونهای انتخاب شدهاند که اجازه دهند از رنگهای 8–15 بهعنوان نسخههای روشنتر استفاده شود.
- color8 (class Color8)
- color9 (class Color9)
- color10 (class Color10)
- color11 (class Color11)
- color12 (class Color12)
- color13 (class Color13)
- color14 (class Color14)
- color15 (class Color15)
- اینها رنگهای افزونهٔ ISO-6429 را در صورتی که مشخصهٔ bold (برجسته) نیز فعال باشد مشخص میکنند. مقادیر پیشفرض منبع بهترتیب عبارتند از: gray50، red، green، yellow، یک آبی روشن سفارشی، magenta، cyan و white.
- color16 (class Color16)
- تا
- color255 (class Color255)
- اینها رنگهای افزونهٔ ۲۵۶ رنگ را مشخص میکنند. مقادیر پیشفرض منبع عبارتند از:
- رنگهای 16 تا 231 برای ایجاد یک مکعب رنگی 6x6x6، و
- رنگهای 232 تا 255 برای ایجاد یک طیف خاکستری (grayscale ramp).
- منابع پس از color15 بهصورت یک گزینه در زمان کامپایل در دسترس هستند. بهدلیل یک محدودیت ثابت (hardcoded) در کتابخانههای X روی تعداد کل منابع (تا ۴۰۰ عدد)، منابع مربوط به ۲۵۶ رنگ در صورت فعال بودن پشتیبانی از نویسههای عریض و luit حذف میشوند. علاوه بر رفتار ناسازگار در صورت مجاز بودن تنها بخشی از منابع، تعیین حد دقیق قطع دشوار است و کتابخانههای X در صورت فراتر رفتن تعداد منابع از این محدودیت، مستعد کرش کردن هستند. پالت رنگ همچنان با همان مقادیر پیشفرض مقداردهی اولیه میشود و از طریق توالیهای کنترلی قابل تغییر است.
- از سوی دیگر، این محدودیت منابع اجازه میدهد که کل محدوده برای ۸۸ رنگ گنجانده شود.
- colorAttrMode (class ColorAttrMode)
- مشخص میکند که آیا colorBD، colorBL، colorRV و colorUL باید رنگهای ANSI را لغو کنند (بر آنها اولویت داشته باشند) یا خیر. در غیر این صورت، این موارد تنها زمانی نمایش داده میشوند که هیچ رنگ ANSI برای موقعیت مربوطه تنظیم نشده باشد. پیشفرض “false” است.
- colorBD (class ColorBD)
- رنگی را مشخص میکند که در صورت فعال بودن منبع “colorBDMode” برای نمایش نویسههای برجسته (bold) استفاده میشود. پیشفرض “XtDefaultForeground” است.
- همچنین منبع veryBoldColors را ببینید که امکان ترکیب برجستگی و رنگ را فراهم میکند.
- colorBDMode (class ColorAttrMode)
- مشخص میکند که آیا نویسههای دارای مشخصهٔ bold باید بهصورت رنگی یا بهصورت نویسههای برجسته نمایش داده شوند. توجه داشته باشید که غیرفعال کردن colorMode تمام رنگها، از جمله bold را غیرفعال میکند. پیشفرض “false” است.
- colorBL (class ColorBL)
- رنگی را مشخص میکند که در صورت فعال بودن منبع “colorBLMode” برای نمایش نویسههای چشمکزن (blink) استفاده میشود. پیشفرض “XtDefaultForeground” است.
- همچنین منبع veryBoldColors را ببینید که امکان ترکیب زیرخط (underline) و رنگ را فراهم میکند.
- colorBLMode (class ColorAttrMode)
- مشخص میکند که آیا نویسههای دارای مشخصهٔ blink باید بهصورت رنگی نمایش داده شوند یا خیر. توجه داشته باشید که غیرفعال کردن colorMode تمام رنگها، از جمله این یکی را غیرفعال میکند. پیشفرض “false” است.
- colorEvents (class ColorEvents)
- کدهای کنترلی OSC را مشخص میکند که میتوانند از پیامهای کلاینت با نوع XTERM_CONTROL پردازش شوند. این رویدادها ممکن است با استفاده از درخواست SendEvent پروتکل X ایجاد شوند. مقدار این منبع، فهرستی از کدهای مجاز است که با کاما از هم جدا شدهاند. پیشفرض، رشتهٔ خالی است که تمامی پردازشها را غیرمجاز میکند.
- نامها در زیر فهرست شدهاند. Xterm بزرگی و کوچکی حروف را نادیده میگیرد، اما آنها برای وضوح بیشتر با حروف کوچک و بزرگ ترکیبی نشان داده شدهاند. میتوان از یک نام یا یک عدد استفاده کرد.
- TEXT_FG (10)
- پیشزمینهٔ متن
- TEXT_BG (11)
- پسزمینهٔ متن
- TEXT_CURSOR (12)
- مکاننمای متن
- MOUSE_FG (13)
- پیشزمینهٔ ماوس.TP 5 MOUSE_BG (14) پسزمینه ماوس
- TEK_FG (15)
- پیشزمینه tektronix
- TEK_BG (16)
- پسزمینه tektronix
- HIGHLIGHT_BG (17)
- پسزمینه برجستهسازی
- TEK_CURSOR (18)
- مکاننمای tektronix
- HIGHLIGHT_FG (19)
- پیشزمینه برجستهسازی
- به عنوان
مثال، اگر
پیامها
برای رنگ
متن فعال
باشند،
برای نمونه
با تنظیم
منبع بر روی
text_fg, text_bg
- رنگ
پیشزمینه
متن را
میتوان با
ارسال
پیامی با
این محتوا
به رنگ سیاه
تنظیم کرد:
10;#000000
- colorIT (class ColorIT)
- این گزینه رنگ مورد استفاده برای نمایش نویسههای مورب (italic) را در صورت فعال بودن منبع “colorITMode” مشخص میکند. مقدار پیشفرض “XtDefaultForeground” است.
- همچنین منبع veryBoldColors را ببینید که امکان ترکیب ویژگیها و رنگ را فراهم میکند.
- colorITMode (class ColorAttrMode)
- مشخص میکند که آیا نویسههای دارای صفت مورب (italic) باید رنگی نمایش داده شوند یا به صورت نویسههای مورب. مقدار پیشفرض “false” است.
- توجه داشته باشید که:
- خاموش کردن colorMode تمام رنگها، از جمله مورب را غیرفعال میکند.
- منبع italicULMode بر colorITMode اولویت دارد (آن را بازنویسی میکند).
- colorInnerBorder (class ColorInnerBorder)
- در حالت عادی، xterm کادر داخلی پنجره VT100 را با استفاده از رنگ پسزمینه پر میکند.
- اگر منبع colorInnerBorder فعال باشد، در هنگام راهاندازی xterm رنگ borderColor و رنگ پسزمینه پنجره را مقایسه میکند. اگر متفاوت باشند، xterm از منبع borderColor برای پر کردن کادر داخلی استفاده خواهد کرد. در غیر این صورت، از رنگ پسزمینه پنجره استفاده میکند.
- مقدار پیشفرض “false” است.
- colorMode (class ColorMode)
- مشخص میکند که آیا شناسایی توالیهای گریز تغییر رنگ ANSI (ISO-6429) فعال باشد یا خیر. مقدار پیشفرض “true” است.
- colorRV (class ColorRV)
- این گزینه رنگ مورد استفاده برای نمایش نویسههای معکوس (reverse) را در صورت فعال بودن منبع “colorRVMode” مشخص میکند. مقدار پیشفرض “XtDefaultForeground” است.
- همچنین منبع veryBoldColors را ببینید که امکان ترکیب معکوسسازی و رنگ را فراهم میکند.
- colorRVMode (class ColorAttrMode)
- مشخص میکند که آیا نویسههای دارای صفت معکوس (reverse) باید رنگی نمایش داده شوند یا خیر. توجه داشته باشید که خاموش کردن colorMode تمام رنگها، از جمله این مورد را غیرفعال میکند. مقدار پیشفرض “false” است.
- colorUL (class ColorUL)
- این گزینه رنگ مورد استفاده برای نمایش نویسههای زیرخطدار (underlined) را در صورت فعال بودن منبع “colorULMode” مشخص میکند. مقدار پیشفرض “XtDefaultForeground” است.
- همچنین منبع veryBoldColors را ببینید که امکان ترکیب زیرخط و رنگ را فراهم میکند.
- colorULMode (class ColorAttrMode)
- مشخص میکند که آیا نویسههای دارای صفت زیرخط (underline) باید رنگی نمایش داده شوند یا به صورت نویسههای زیرخطدار. توجه داشته باشید که خاموش کردن colorMode تمام رنگها، از جمله زیرخطدار کردن را غیرفعال میکند. مقدار پیشفرض “false” است.
- combiningChars (class CombiningChars)
- تعداد نویسههای پهن (wide-characters) را که میتوان در یک سلول برای ترکیب شدن (همپوشانی) با نویسهٔ پایهٔ آن سلول ذخیره کرد، مشخص میکند. این مقدار میتواند در محدوده 0 تا 5 تنظیم شود. مقدار پیشفرض “2” است.
- ctrlFKeys (class CtrlFKeys)
- در حالت صفحهکلید VT220 (منبع sunKeyboard را ببینید)، مقداری را که کلیدهای F1-F12 با دریافت کلید تبدیل کنترلی (CTRL) جابهجا میشوند، مشخص میکند. این قابلیت به شما امکان میدهد نمادهای کلیدی برای F10-F20 را بر روی یک صفحهکلید Sun/PC تولید کنید. مقدار پیشفرض “10” است، به این معنی که ترکیب CTRL و F1 نماد کلیدی مربوط به F11 را تولید میکند.
- curses (class Curses)
- مشخص میکند که آیا باگی که در آخرین ستون more(1) وجود دارد باید دور زده شود یا خیر. برای جزئیات بیشتر گزینه -cu را ببینید. مقدار پیشفرض “false” است.
- cursorBar (class CursorBar)
- مشخص میکند که آیا مکاننما به شکل یک خط عمودی چپ یا یک جعبه باشد، مگر اینکه منبع cursorUnderLine تنظیم شده باشد. مقدار پیشفرض “false” است.
- cursorBlink (class CursorBlink)
- مشخص میکند که آیا مکاننما چشمک بزند یا خیر. Xterm یک کلمه کلیدی (بدون حساسیت به بزرگی و کوچکی حروف) یا عدد نمایش داده شده در پرانتز را میپذیرد:
- false (0)
- مکاننما چشمک نخواهد زد، اما ممکن است بر اساس منبع cursorBlinkXOR با توالیهای گریز ترکیب شود.
- true (1)
- مکاننما چشمک خواهد زد، اما ممکن است بر اساس منبع cursorBlinkXOR با توالیهای گریز ترکیب شود.
- always (2)
- مکاننما بدون توجه به توالیهای گریز همیشه چشمک خواهد زد. گزینهٔ منو غیرفعال خواهد شد.
- never (3)
- مکاننما بدون توجه به توالیهای گریز هرگز چشمک نخواهد زد. گزینهٔ منو غیرفعال خواهد شد.
- مقدار پیشفرض “false” است.
- cursorBlinkXOR (class CursorBlinkXOR)
- Xterm برای تعیین اینکه مکاننما چشمک بزند یا خیر از دو ورودی استفاده میکند:
- منبع cursorBlink (که میتواند با یک ورودی منو تغییر داده شود).
- توالیهای کنترلی (حالت خصوصی 12 و DECSCUSR).
- منبع cursorBlinkXOR نحوهٔ ترکیب این ورودیها را مشخص میکند:
- مقدار پیشفرض “true” است.
- cursorColor (class CursorColor)
- رنگ مورد استفاده برای مکاننمای متن را مشخص میکند. مقدار پیشفرض “XtDefaultForeground” است. به طور پیشفرض، xterm تلاش میکند تا مانع از همرنگ شدن این مقدار با رنگ پسزمینه شود، زیرا مکاننما را با پر کردن پسزمینهٔ یک سلول متنی رسم میکند. همین محدودیت برای توالیهای کنترلی که ممکن است این رنگ را تغییر دهند نیز اعمال میشود..IP تنظیم این منبع بر بیشتر تنظیمات xterm برای رنگ مکاننما اولویت دارد. با این حال همچنان برای جلوگیری از برخی حالتها، مانند مکاننمای سیاه در پسزمینه سیاه، از تصویر معکوس (reverse-video) استفاده خواهد کرد.
- cursorOffTime (class CursorOffTime)
- مدت زمان بخش «خاموش» چرخه چشمکزدن مکاننما را بر حسب میلیثانیه مشخص میکند. همین زمانسنج برای چشمکزدن متن نیز استفاده میشود. پیشفرض “300” است.
- cursorOnTime (class CursorOnTime)
- مدت زمان بخش «روشن» چرخه چشمکزدن مکاننما را بر حسب میلیثانیه مشخص میکند. همین زمانسنج برای چشمکزدن متن نیز استفاده میشود. پیشفرض “600” است.
- cursorUnderLine (class CursorUnderLine)
- مشخص میکند که مکاننما زیرخطدار باشد یا جعبهای. اگر تنظیم نشده باشد (false)، منبع cursorBar ممکن است شکل مکاننما را تعیین کند. پیشفرض “false” است.
- cutNewline (class CutNewline)
- اگر “false” باشد، سهبار کلیک کردن برای انتخاب یک سطر شامل newline در انتهای سطر نمیشود. اگر “true” باشد، خط جدید انتخاب میشود. پیشفرض “true” است.
- cutToBeginningOfLine (class CutToBeginningOfLine)
- اگر “false” باشد، سهبار کلیک کردن برای انتخاب یک سطر، تنها از کلمه فعلی به جلو را انتخاب میکند. اگر “true” باشد، کل سطر انتخاب میشود. پیشفرض “true” است.
- decGraphicsID (class DecGraphicsID)
- امکان ترکیب قابلیت گرافیکی برخی پایانههای DEC (۱۲۵، ۲۴۰، ۲۴۱، ۳۳۰، ۳۴۰ یا ۳۸۲) را با سایر سطوح شبیهسازی که این قابلیت گرافیکی را ارائه نمیدادند، فراهم میکند. همانند decTerminalID، نویسههای غیرعددی ابتدایی نادیده گرفته میشوند؛ برای نمونه، “vt340” و “340” یکسان هستند.
- اگر مقدار منبع غیرصفر باشد، xterm هنگام مقداردهی اولیه ناحیه رسم و رمزگشایی توالیهای کنترلی برای رسم گرافیک، از آن سطح شبیهسازی استفاده میکند.
- پیشفرض “0” است.
- decTerminalID (class DecTerminalID)
- سطح شبیهسازی را مشخص میکند (۱۰۰=VT100، ۲۲۰=VT220، و غیره) که برای تعیین نوع پاسخ به یک توالی کنترلی DA استفاده میشود. نویسههای غیرعددی ابتدایی نادیده گرفته میشوند؛ برای نمونه، “vt100” و “100” یکسان هستند. پیشفرض “420” است.
- defaultString (class DefaultString)
- نویسه (یا رشتهای) را مشخص میکند که xterm هنگام چسباندن متنی که شامل نویسهای غیرقابل نمایش در کدگذاری فعلی است، جایگزین خواهد کرد. برای نمونه، چسباندن متن UTF-8 در صفحهای با نویسههای ISO-8859-1 تنها قادر به نمایش کدهای 0–255 خواهد بود، در حالی که متن UTF-8 میتواند مقادیر یونیکد بالاتر از ۲۵۵ را شامل شود. پیشفرض “#” (یک علامت مربع یا هش تکی) است.
- اگر متن غیرقابل نمایش دارای پهنای دوگانه (double-width) باشد، xterm یک فاصله پس از نویسه “#” اضافه میکند تا تقریباً همان چیدمان متن اصلی بر روی صفحه نمایش حفظ شود.
- deleteIsDEL (class DeleteIsDEL)
- مشخص میکند که کلید Delete روی صفحه کلید ویرایشی هنگام فشرده شدن چه چیزی باید ارسال کند. مقدار این منبع یک رشته است که پس از راهاندازی به عنوان یک مقدار بولی ارزیابی میشود. Xterm آن را در ترکیب با منبع keyboardType استفاده میکند:
- اگر نوع صفحهکلید “default” یا “vt220” باشد و منبع برابر با “true” یا “maybe” باشد، توالی گریز Remove به سبک VT220 ارسال میشود. در غیر این صورت، DEL (127) ارسال میشود.
- اگر نوع صفحهکلید “legacy” باشد و منبع برابر با “true” باشد، DEL ارسال میشود. در غیر این صورت، توالی Remove ارسال میشود.
- در غیر این صورت، اگر نوع صفحهکلید هیچیک از این موارد خاص نباشد، DEL (127) ارسال میشود.
- پیشفرض “Maybe” است. این منبع مجاز است مقداری غیربولی مانند “maybe” داشته باشد تا گزینه Delete is DEL در منوی جهنده، نوع صفحهکلید را بازنویسی نکند.
- directColor (class DirectColor)
- مشخص میکند که توالیهای کنترلی direct-color با استفاده از رنگهای موجود سرور X مدیریت شوند، یا این که با استفاده از یک نقشه رنگ (color map) با ۲۵۶ ورودی تقریب زده شوند. مقدار “true” حالت اول را فعال میکند. پیشفرض “true” است.
- disallowedColorOps (class DisallowedColorOps)
- مشخص
میکند در
صورتی که
allowColorOps نادرست
(false) باشد،
کدام
قابلیتها
غیرفعال
شوند. این
گزینه یک
فهرست از
نامها است
که با کاما
از هم جدا
شدهاند.
مقدار
پیشفرض
عبارت است
از:
SetColor,GetColor,GetAnsiColor
- نامها در زیر فهرست شدهاند. Xterm بزرگی و کوچکی حروف را نادیده میگیرد، اما جهت وضوح به صورت ترکیبی از حروف بزرگ و کوچک نشان داده شدهاند.
- SetColor
- تنظیم یک رنگ پویای مشخص.
- GetColor
- گزارش تنظیم فعلی یک رنگ پویای دادهشده.
- GetAnsiColor
- گزارش تنظیم فعلی یک رنگ مشخص ANSI (در واقع هر یک از رنگهایی که از طریق کنترلهای سبک ANSI تنظیم شدهاند).
- disallowedFontOps (class DisallowedFontOps)
- مشخص
میکند در
صورتی که
allowFontOps نادرست
(false) باشد،
کدام
قابلیتها
غیرفعال
شوند. این
گزینه یک
فهرست از
نامها است
که با کاما
از هم جدا
شدهاند.
مقدار
پیشفرض
عبارت است
از:
SetFont,GetFont
- نامها در زیر فهرست شدهاند. Xterm بزرگی و کوچکی حروف را نادیده میگیرد، اما جهت وضوح به صورت ترکیبی از حروف بزرگ و کوچک نشان داده شدهاند.
- disallowedMouseOps (class DisallowedMouseOps)
- مشخص میکند در صورتی که allowMouseOps نادرست (false) باشد، کدام قابلیتها غیرفعال شوند. این گزینه یک فهرست از نامها است که با کاما از هم جدا شدهاند. مقدار پیشفرض “*” است که با تمام نامها مطابقت دارد. نامها در زیر فهرست شدهاند. Xterm بزرگی و کوچکی حروف را نادیده میگیرد، اما جهت وضوح به صورت ترکیبی از حروف بزرگ و کوچک نشان داده شدهاند.
- X10
- پروتکل اصلی ماوس X10.
- Locator
- حالت مکانیاب DEC.
- VT200Click
- فقط کلیکهای ماوس X11.
- VT200Hilite
- کلیکهای ماوس X11 و برجستهسازی متن.
- AnyButton
- حالت any-button در xterm برنامه XFree86، کلیکهای دکمه و همچنین رویدادهای حرکتی ماوس را در زمان فشرده بودن دکمه ارسال میکند.
- AnyEvent
- حالت any-event در xterm برنامه XFree86، کلیکهای دکمه و همچنین رویدادهای حرکتی ماوس را صرفنظر از فشرده بودن یا نبودن دکمه ارسال میکند.
- FocusEvent
- ارسال رویدادهای FocusIn/FocusOut..TP 5 Extended نخستین افزونه فراتر از پروتکل موشواره X11؛ این افزونه مختصات را در قالب UTF-8 کدگذاری میکند. استفاده از آن به نفع SGR منسوخ شده است، اما برای سازگاری ارائه میشود.
- SGR
- این افزونه توصیهشده برای مختصات موشواره است.
- URXVT
- مانند Extended، این مورد نیز برای سازگاری ارائه شده است.
- AlternateScroll
- این مقدار منبع alternateScroll را بازنویسی میکند.
- disallowedPasteControls (class DisallowedPasteControls)
- از این منبع برای جلوگیری از جایگذاری نویسههای کنترلی خاص C0 هنگامی که منبع allowPasteControls برابر false است (یعنی حالت پیشفرض)، استفاده کنید. این منبع مجموعهای از نویسههای کنترلی را مشخص میکند که جایگذاری آنها مجاز نیست و هر یک به فاصله تبدیل میشوند. سایر نویسههای کنترلی C0 بدون تغییر جایگذاری میشوند.
- مقدار این
منبع
فهرستی از
نامها است
که با
ویرگول از
هم جدا
شدهاند. Xterm
بزرگی و
کوچکی حروف
را نادیده
میگیرد.
مقدار
پیشفرض
عبارت است
از:
BS,DEL,ENQ,EOT,ESC,NUL,STTY
- نامها در زیر فهرست شدهاند:
- C0
- تمامی نویسههای کنترلی ASCII.
- Individual C0 characters
- NUL, SOH, STX, ETX, EOT, ENQ, ACK, BEL, BS, HT, LF, VT, FF, CR, SO, SI, DLE, DC1, DC2, DC3, DC4, NAK, SYN, ETB, CAN, EM, SUB, ESC, FS, GS, RS, US
- DEL
- نویسه حذف ASCII (delete).
- NL
- نویسه تغییر سطر ASCII (line-feed)، یعنی “newline” که معادل با LF است.
- STTY
- نویسههای ویژهای که با stty(1) تنظیم میشوند.
- disallowedTcapOps (class DisallowedTcapOps)
- مشخص
میکند در
صورتی که
allowTcapOps برابر false
باشد، کدام
ویژگیها
غیرفعال
شوند. این
مقدار
فهرستی از
نامهاست
که با
ویرگول از
هم جدا
شدهاند.
مقدار
پیشفرض
عبارت است
از:
SetTcap,GetTcap
- نامها در زیر فهرست شدهاند. Xterm بزرگی و کوچکی حروف را نادیده میگیرد، اما برای وضوح بیشتر، با ترکیب حروف بزرگ و کوچک نشان داده شدهاند.
- disallowedWindowOps (class DisallowedWindowOps)
- مشخص
میکند در
صورتی که
allowWindowOps برابر false
باشد، کدام
قابلیتها
غیرفعال
شوند. این
مقدار
فهرستی از
نامها، یا
(برای
کنترلهای
برگرفته از
dtterm) شماره
عملیات است
که با
ویرگول از
هم جدا
شدهاند.
مقدار
پیشفرض
عبارت است
از:
GetChecksum,GetIconTitle,GetSelection,GetWinTitle,SetSelection,SetXprop (یعنی به جز چند عملیات “خطرناک”، بقیه مجاز هستند).
- نامها در زیر فهرست شدهاند. Xterm بزرگی و کوچکی حروف را نادیده میگیرد، اما برای شفافیت، با حروف بزرگ و کوچک نشان داده شدهاند. در مواردی که میتوان از یک عدد به عنوان جایگزین استفاده کرد، آن عدد در پرانتز پس از نام آورده شده است.
- ColumnMode
- فعالسازی (یا غیرفعالسازی) جابهجایی میان حالتهای ۸۰ و ۱۳۲ ستونی. این مورد افزون بر منبع c132 است.
- GetChecksum
- گزارش مجموع وارسی (checksum) نویسهها در یک ناحیه مستطیلی.
- GetIconTitle (20)
- گزارش برچسب آیکون پنجره xterm به صورت یک رشته.
- GetScreenSizeChars (19)
- گزارش اندازه صفحه نمایش بر حسب نویسه به صورت عددی.
- GetSelection
- گزارش دادههای انتخابشده به صورت یک رشته base64.
- GetWinPosition (13)
- گزارش موقعیت پنجره xterm به صورت عددی.
- GetWinSizeChars (18)
- گزارش اندازه ناحیه متنی بر حسب نویسه به صورت عددی.
- GetWinSizePixels (14)
- گزارش اندازه پنجره xterm بر حسب پیکسل به صورت عددی.
- GetWinState (11)
- گزارش وضعیت پنجره xterm به صورت عددی.
- GetWinTitle (21)
- گزارش عنوان پنجره xterm به صورت یک رشته.
- LowerWin (6)
- انتقال پنجره xterm به پایینترین لایه در چیدمان پنجرهها (stacking order).
- MaximizeWin (9)
- بزرگنمایی پنجره (یعنی تغییر اندازه به ابعاد صفحه نمایش).
- FullscreenWin (10)
- استفاده از تمامصفحه (یعنی تغییر اندازه به ابعاد صفحه نمایش، بدون تزئینات پنجره).
- MinimizeWin (2)
- کمینهسازی پنجره (تبدیل به آیکون).
- PopTitle (23)
- برداشتن عنوان از پشته داخلی (pop).
- PushTitle (22)
- قرار دادن عنوان در پشته داخلی (push).
- RaiseWin (5)
- انتقال پنجره xterm به بالاترین لایه در چیدمان پنجرهها (stacking order).
- RefreshWin (7)
- تازهسازی پنجره xterm.
- RestoreWin (1)
- بازیابی پنجره از حالت کمینه.
- SetChecksum
- تغییر الگوریتم گزارش مجموع وارسی (checksum) نویسهها در یک ناحیه مستطیلی.
- SetSelection
- تنظیم دادههای انتخابشده.
- SetWinLines
- تغییر اندازه به تعداد سطرهای مشخصشده، حداقل ۲۴ سطر.
- SetWinPosition (3)
- انتقال پنجره به مختصات دادهشده.
- SetWinSizeChars (8)
- تغییر اندازه ناحیه متنی به ابعاد مشخصشده بر حسب نویسه.
- SetWinSizePixels (4)
- تغییر اندازه پنجره xterm به ابعاد مشخصشده بر حسب پیکسل.
- SetXprop
- تنظیم ویژگی X روی پنجره سطح بالا (top-level).
- StatusLine
- تغییر اندازه پنجره برای ارائه یک خط وضعیت به سبک VT320.
- dynamicColors (class DynamicColors)
- مشخص میکند که آیا توالیهای فرار برای تغییر رنگهای اختصاصیافته به صفتهای مختلف شناسایی شوند یا خیر.
- eightBitControl (class EightBitControl)
- مشخص میکند که آیا توالیهای کنترلی ارسالشده توسط ترمینال باید نویسههای هشتبیتی باشند یا توالیهای فرار. پیشفرض “false” است.
- eightBitInput (class EightBitInput)
- اگر “true” باشد، نویسههای Meta (یک نویسه تکبایتی همراه با کلید تبدیلگر Meta) ورودی از صفحهکلید به عنوان یک تکنویسه نمایش داده شده و مطابق با منبع eightBitMeta تغییر مییابند. اگر “false” باشد، نویسههای Meta به یک توالی دونوشهای تبدیل میشوند که در آن پیش از خود نویسه، ESC قرار میگیرد. پیشفرض “true” است..IP منابع metaSendsEscape و altSendsEscape ممکن است این ویژگی را بازنویسی کنند. بهطور کلی صفحهکلیدها کلیدی با برچسب “Meta” ندارند، اما کلیدهای “Alt” رایج هستند، و بهطور سنتی برای “Meta” به کار میروند. اگر آنها مترادف بودند، نامگذاری این منبع به “altSendsEscape” و معکوس کردن مفهوم آن منطقی بود. برای اطلاعات بیشتر در این زمینه، تابع meta(3x) را در curses ببینید.
- توجه داشته باشید که کلید Alt لزوماً همان تبدیلکننده (modifier) Meta نیست. ابزار xmodmap تبدیلکنندههای کلید شما را فهرست میکند. سامانه X تبدیلکنندههایی را برای shift، (caps) lock و control، و همچنین ۵ تبدیلکننده دیگر که معمولاً برای پیکربندی تبدیلکنندههای کلید استفاده میشوند، تعریف میکند. Xterm همین اطلاعات را بررسی میکند تا تبدیلکننده مرتبط با هر یک از کلیدهای Meta (چپ یا راست) را بیابد، و از آن کلید بهعنوان تبدیلکننده Meta استفاده میکند. همچنین کلید NumLock را جستجو میکند، تا تبدیلکننده مرتبط با آن را شناسایی کند.
- اگر پیکربندی xmodmap شما برای کلیدهای Alt و Meta از کدهای کلید یکسانی استفاده کند، xterm تنها تعاریف کلید Alt را خواهد دید، چرا که آنها پیش از کلیدهای Meta بررسی میشوند. کلید NumLock ابتدا بررسی میشود. مهم است که این کلیدها متمایز نگه داشته شوند؛ در غیر این صورت برخی از عملکردهای xterm در دسترس نخواهند بود.
- منبع eightBitInput در زمان راهاندازی بررسی میشود. اگر “true” باشد، xterm تلاش میکند ترمینال را در حالت ۸ بیتی قرار دهد. اگر “false” باشد، در هنگام راهاندازی، xterm تلاش میکند ترمینال را در حالت ۷ بیتی بگذارد. برای برخی پیکربندیها این اقدام ناموفق است؛ از شکست چشمپوشی میشود. پس از راهاندازی، xterm ترمینال را بین حالتهای ۸ بیتی و ۷ بیتی تغییر نمیدهد.
- همانطور که در اصل در X11 پیادهسازی شده بود، مقدار این منبع پس از راهاندازی تغییر نمیکرد. با این حال (از وصله ۲۱۶# در سال ۲۰۰۶) xterm میتواند eightBitInput را پس از راهاندازی از طریق یک توالی کنترلی تغییر دهد. قابلیتهای terminfo متناظر، یعنی smm (تنظیم حالت متا) و rmm (بازنشانی حالت متا) از مدتی پیش توسط bash شناخته شدهاند. جالب اینجاست که برداشت bash از “meta mode” با تعریف استاندارد (در کتابچه راهنمای terminfo)، که تغییر بیت هشتم یک نویسه را شرح میدهد، تفاوت دارد. در واقع bash مفهوم “meta mode” را بهصورت نویسه ESC میبیند که xterm هنگام فشرده شدن یک کلید متای خاص، پیش از یک نویسه قرار میدهد. مستندات اولیه bash درباره نویسه ESC صحبت میکنند و بیت هشتم را نادیده میگیرند.
- eightBitMeta (class EightBitMeta)
- نحوه تغییر بیت هشتم یک کلید تکبایتی را توسط xterm هنگام تنظیم بودن منبع eightBitInput کنترل میکند. پیشفرض “locale” است.
- مقدار این منبع یک رشته است که پس از راهاندازی بهعنوان بولی ارزیابی میشود.
- به جز انتخاب never، xterm از قابلیتهای terminfo شامل smm (تنظیم حالت متا) و rmm (بازنشانی حالت متا) پیروی میکند، و امکان روشن یا خاموش کردن پویای این ویژگی را فراهم میسازد.
- اگر eightBitMeta فعال باشد در حالی که لوکال از UTF-8 استفاده میکند، xterm مقدار را بهصورت UTF-8 کدگذاری میکند (از وصله ۱۸۳# در سال ۲۰۰۳).
- eightBitOutput (class EightBitOutput)
- مشخص میکند که آیا نویسههای هشت بیتی ارسالشده از میزبان باید به همان صورت پذیرفته شوند یا هنگام چاپ حذف شوند. پیشفرض “true” است، به این معنی که به همان صورت پذیرفته میشوند.
- eightBitSelectTypes (class EightBitSelectTypes)
- فهرست هدفِ انتخابِ پیشفرض xterm را (ببینید SELECT/PASTE) برای گزینشها در حالت عادی (ISO-8859-1) بازنویسی میکند. پیشفرض یک رشته خالی است، یعنی “”، که هیچ چیزی را بازنویسی نمیکند.
- emojiWidth (class EmojiWidth)
- مشخص میکند که آیا گزینشگرهای گونه یونیکد (variation selectors) VS15 و VS16 تفسیر شوند یا خیر. این گزینشگرها در صورتی که نویسه بلافاصله پیشین یک ایموجی باشد، عرض آن را به ترتیب به یک یا دو سلول بازنویسی میکنند. پیشفرض “false” است.
- eraseSavedLines (class EraseSavedLines)
- مشخص میکند که آیا به توالیهای کنترلی گسترشیافته ED/DECSED در xterm اجازه پاک کردن بافر خطوط ذخیرهشده داده شود یا خیر. پیشفرض “true” است.
- faceName (class FaceName)
- الگوی قلمهای مقیاسپذیرِ انتخابشده از کتابخانه FreeType را در صورتی که پشتیبانی از آن کتابخانه در xterm کامپایل شده باشد، مشخص میکند. هیچ مقدار پیشفرضی وجود ندارد.
- میتوان یک
یا چند قلم
را مشخص کرد
که با کاما
از یکدیگر
جدا
میشوند.
اگر پیشوند
“x:” یا “x11:”
داشته
باشد، این
مشخصات بر
منبع قلمِ XLFD
اعمال
میشود.
پیشوند “xft:”
پذیرفته
میشود اما
غیرضروری
است زیرا
نبود
پیشوند
برای faceName به
معنای
استفاده از
آن برای TrueType
است. برای
مثال،
XTerm*faceName: x:fixed,xft:Bitstream Vera Sans Mono
- به این صورت میتوان دو قلم TrueType را مشخص کرد. اولی قلم اصلی است؛ دومی بهعنوان یک بازنویسی دستی برای مجموعه قلمهای fontconfig عمل میکند.
- اگر هیچ منبع faceName مشخص نشده باشد، یا اگر هیچ تطابقی برای هر دو قلم معمولی و پررنگ (bold) در TrueType وجود نداشته باشد، xterm از منبع قلمِ XLFD (نقشهبیتی) و منابع مرتبط استفاده میکند.
- میتوان
قلمهای
نقشهبیتی
مناسب را با
استفاده از
اسکریپتی
مانند این
انتخاب کرد:
#!/bin/sh FONT=`xfontsel -print` test -n "$FONT" && xfd -fn "$FONT"
- با این حال
(اگرچه xfd
گزینه “-fa”
را برای
تعیین
قلمهای FreeType
میپذیرد)،
xfontsel به طور
مشابه
توسعه
نیافته است.
بهعنوان
یک راهکار،
میتوانید
دستور زیر
را امتحان
کنید
fc-list :scalable=true:spacing=mono: family
- تا فهرستی از قلمهای مقیاسپذیر با عرض ثابت (fixed-pitch) را پیدا کنید که میتوانند برای مقدار منبع faceName استفاده شوند.
- faceNameDoublesize (class FaceNameDoublesize)
- یک قلم مقیاسپذیر با عرض دوگانه را برای مواردی که یک برنامه کاربردی به آن نیاز دارد، مانند برنامههای CJK، مشخص میکند. هیچ مقدار پیشفرضی وجود ندارد.
- همانند منبع faceName، این منبع اجازه میدهد یک یا چند مشخصه قلم که با کاما جدا شدهاند، برای قلمهای عریض (wide) در TrueType یا XLFD اعمال شوند.
- اگر برنامه از نویسههای با عرض دوگانه استفاده کند و این منبع ارائه نشده باشد، xterm از یک نسخه مقیاسبندیشده از قلمِ ارائهشده توسط faceName استفاده خواهد کرد.
- faceSize (class FaceSize)
- اندازه نقطه (pointsize) را برای قلمهای انتخابشده از کتابخانه FreeType در صورتی که پشتیبانی از آن کتابخانه در xterm کامپایل شده باشد، تعیین میکند. پیشفرض “8.0” است. در منوی VT Fonts، این مورد با مدخل Default مطابقت دارد.
- اگرچه مقدار پیشفرض “8.0” است، این ممکن است با اندازه نقطه قلم نقشهبیتی پیشفرض، یعنی همان که با گزینه -fn یا منبع font اختصاص داده شده است، یکسان نباشد. مقدار پیشفرض faceSize طوری انتخاب شده است که با اندازه قلم “fixed” مطابقت داشته باشد، تا تعویض بین قلمهای نقشهبیتی و TrueType از طریق منوی قلم، اندازههای قابلمقایسهای را برای پنجره ایجاد کند. اگر گزینه -fn شما از اندازه نقطه دیگری استفاده میکند، ممکن است بخواهید منبع faceSize را برای مطابقت با آن تنظیم کنید.
- میتوانید اندازه نقطه را برای قلمهای TrueType انتخابشده با سایر ورودیهای منوی مربوط به اندازه مانند Medium، Huge و غیره، با استفاده از یکی از مقادیر منابع زیر مشخص کنید. اگر مقداری تعیین نکنید، پیشفرض آنها “0.0” خواهد بود، که باعث میشود xterm از نسبت اندازه قلمها از منابع قلم نقشهبیتی متناظر، برای بهدستآوردن اندازه نقطه TrueType استفاده کند..IP اگر تمام منابع faceSize تنظیم شده باشند، آنگاه xterm از این اطلاعات برای تعیین قلم TrueType کوچکتر/بزرگتر بعدی برای کنشهای larger-vt-font() و smaller-vt-font() استفاده خواهد کرد. اگر هر یک تنظیم نشده باشد، xterm فقط از مساحت قلمهای بیتمپ استفاده خواهد کرد.
- faceSize1 (class FaceSize1)
- اندازه پوینت (pointsize) نخستین قلم جایگزین را مشخص میکند.
- faceSize2 (class FaceSize2)
- اندازه پوینت دومین قلم جایگزین را مشخص میکند.
- faceSize3 (class FaceSize3)
- اندازه پوینت سومین قلم جایگزین را مشخص میکند.
- faceSize4 (class FaceSize4)
- اندازه پوینت چهارمین قلم جایگزین را مشخص میکند.
- faceSize5 (class FaceSize5)
- اندازه پوینت پنجمین قلم جایگزین را مشخص میکند.
- faceSize6 (class FaceSize6)
- اندازه پوینت ششمین قلم جایگزین را مشخص میکند.
- faceSize7 (class FaceSize7)
- اندازه پوینت هفتمین قلم جایگزین را مشخص میکند.
- faintIsRelative (class FaintIsRelative)
- رنگهای کمرنگ با مقیاسبندی مؤلفههای قرمز، سبز و آبی از رنگ فعلی متن، برای نمونه رنگهای ANSI، بهدست میآیند. از این منبع برای تعیین اینکه آیا این کار نسبت به رنگ پسزمینهٔ فعلی انجام شود یا بهصورت یک مقدار مطلق، استفاده کنید. پیشفرض “false” است.
- fastScroll (class FastScroll)
- تأثیر پیمایش جهشی (jumpScroll) را با جلوگیری از تازهسازیهای صفحه برای حالت خاصی که خروجی به صفحه، محتویات را بهطور کامل به بیرون از صفحه منتقل کرده است، تغییر میدهد. به همین ترتیب، تازهسازیهای صفحه برای کنشهای مرتبط، مثلاً بازگشت به ابتدای سطر (carriage return)، متوقف میشوند.
- برای نمونه، هدایت یک فایل حجیم با دستور cat به صفحه معمولاً منجر به تعداد زیادی تازهسازی صفحه میشود. با جلوگیری از تازهسازیهای متناظر، سرعت پیمایش بهبود مییابد.
- پیشفرض “true” است.
- font (class Font)
- نام قلم عادی را مشخص میکند. پیشفرض “fixed” است.
- توضیحات مربوط به منبع locale را ببینید، که چگونگی لغو و بازنویسی این قلم را شرح میدهد.
- نکته: برخی
از
فایلهای
منابع از
الگوهایی
استفاده
میکنند
مانند:
*font: fixed
- که بیش از
حد گسترده
هستند و هم
بر
xterm.vt100.font
- و هم بر
xterm.vt100.utf8Fonts.font
- تأثیر میگذارند، که احتمالاً مد نظر شما نبوده است.
- font1 (class Font1)
- نام نخستین قلم جایگزین را مشخص میکند، که متناظر با “Unreadable” در منوی استاندارد است.
- font2 (class Font2)
- نام دومین قلم جایگزین را مشخص میکند، که متناظر با “Tiny” در منوی استاندارد است.
- font3 (class Font3)
- نام سومین قلم جایگزین را مشخص میکند، که متناظر با “Small” در منوی استاندارد است.
- font4 (class Font4)
- نام چهارمین قلم جایگزین را مشخص میکند، که متناظر با “Medium” در منوی استاندارد است.
- font5 (class Font5)
- نام پنجمین قلم جایگزین را مشخص میکند، که متناظر با “Large” در منوی استاندارد است.
- font6 (class Font6)
- نام ششمین قلم جایگزین را مشخص میکند، که متناظر با “Huge” در منوی استاندارد است.
- font7 (class Font7)
- نام هفتمین قلم جایگزین را مشخص میکند، که متناظر با “Enormous” در منوی استاندارد است.
- fontDoublesize (class FontDoublesize)
- مشخص میکند که آیا xterm باید تلاش کند برای رسم نویسههای با اندازهٔ دوبرابر از مقیاسبندی قلم استفاده کند یا خیر. برخی کارسازهای قلم قدیمیتر نمیتوانند این کار را بهدرستی انجام دهند و معیارهای قلم گمراهکنندهای برمیگردانند. پیشفرض “true” است. در صورت غیرفعال بودن، xterm نویسههای با اندازهٔ دوبرابر را با رسم نویسههای عادی همراه با فاصله بین آنها شبیهسازی میکند.
- fontWarnings (class FontWarnings)
- مشخص میکند که آیا xterm در صورت عدم موفقیت در بارگذاری یک قلم باید خطایی را گزارش کند یا خیر:
- 0
- هرگز خطایی گزارش نشود (اگرچه ممکن است کتابخانههای X این کار را بکنند).
- 1
- در صورتی که نام قلم بهصورت یک تنظیم در منبع داده شده باشد، خطا گزارش شود.
- 2
- همیشه در صورت عدم موفقیت در بارگذاری یک قلم، خطا گزارش شود.
- پیشفرض “1” است.
- forceBoxChars (class ForceBoxChars)
- مشخص میکند که آیا xterm باید فرض کند قلمهای عادی و برجسته (bold) دارای نویسههای خطکشی VT100 هستند یا خیر:
- قلمهای با عرض ثابت (fixed-pitch) و با کدگذاری ISO-8859-* که توسط xterm استفاده میشوند معمولاً دارای نشانههای (glyphs) خطکشی VT100 در خانههای ۱–۳۱ هستند. سایر قلمهای با عرض ثابت ممکن است زیباتر باشند، اما فاقد این نشانهها هستند.
- هنگام استفاده از یک قلم ISO-10646-1 و زمانی که منبع wideChars برابر true باشد، xterm از نشانههای Unicode که با نشانههای خطکشی VT100 مطابقت دارند استفاده میکند.
- پیشفرض “false” است:
- •
- اگر “false” باشد، xterm وجود نشانههای ناموجود در قلم را بررسی میکند و در صورت نیاز نویسههای خطکشی را مستقیماً رسم میکند.
- هنگامی که “false” باشد، xterm همچنین در جاهایی که نشانههای در غیر این صورت قابلچاپ در قلم فعلی موجود نباشند، یک جای خالی نمایش میدهد.
- •
- اگر “true” باشد، xterm فرض میکند که قلم شامل نویسههای خطکشی نیست و آنها را مستقیماً رسم میکند.
- هنگامی که “true” باشد، xterm همچنین در جاهایی که نشانههای در غیر این صورت قابلچاپ در قلم فعلی موجود نباشند، کادر یک جعبهٔ خطچین را نشان میدهد.
- مجموعه
نویسههای
خطکشی VT100 (که
با نام DEC Special Character and
Line Drawing Set نیز
شناخته
میشود) در
این جدول
نشان داده
شده است.
این مجموعه
شامل چند
نویسهٔ
ویژه است
که برای
خطکشی
استفاده
نمیشوند:
خانه Unicode شرح 0 U+25AE مستطیل عمودی توپر 1 U+25C6 لوزی توپر 2 U+2592 سایه متوسط 3 U+2409 نماد تب افقی 4 U+240C نماد برگهخور (form feed) 5 U+240D نماد بازگشت به ابتدای سطر (carriage return) 6 U+240A نماد تغییر سطر (line feed) 7 U+00B0 علامت درجه 8 U+00B1 علامت مثبت-منفی 9 U+2424 نماد خط جدید (newline) 10 U+240B نماد تب عمودی 11 U+2518 ترسیم کادر: خط باریک بالا و چپ 12 U+2510 ترسیم کادر: خط باریک پایین و چپ 13 U+250C ترسیم کادر: خط باریک پایین و راست 14 U+2514 ترسیم کادر: خط باریک بالا و راست 15 U+253C ترسیم کادر: خط باریک عمودی و افقی 16 U+23BA ترسیم کادر: خط پویش ۱ 17 U+23BB ترسیم کادر: خط پویش ۳ 18 U+2500 ترسیم کادر: خط باریک افقی 19 U+23BC ترسیم کادر: خط پویش ۷ 20 U+23BD ترسیم کادر: خط پویش ۹ 21 U+251C ترسیم کادر: خط باریک عمودی و راست 22 U+2524 ترسیم کادر: خط باریک عمودی و چپ 23 U+2534 ترسیم کادر: خط باریک بالا و افقی 24 U+252C ترسیم کادر: خط باریک پایین و افقی 25 U+2502 ترسیم کادر: خط باریک عمودی 26 U+2264 کوچکتر یا مساوی 27 U+2265 بزرگتر یا مساوی 28 U+03C0 حرف کوچک یونانی پی 29 U+2260 نامساوی 30 U+00A3 علامت پوند 31 U+00B7 نقطه میانی 8 "forcePackedFont (class ForcePackedFont)" مشخص میکند که آیا xterm هنگام نمایش با استفاده از یک قلم بیتمپ باید از بیشینه یا کمینه عرض گلیف استفاده کند یا خیر. استفاده از بیشینه عرض به قلمهای متناسب کمک میکند. پیشفرض “true” است که نشاندهنده کمینه عرض میباشد. 8 "forceXftHeight (class ForceXftHeight)" مشخص میکند که آیا xterm باید از معیارهای قلم دادهشده برای قلمهای TrueType استفاده کند، یا صعود/فرود (ascent/descent) را به گونهای اصلاح کند که مجموع آنها از ارتفاع قلم دادهشده بیشتر نشود. این ویژگی اختیاری برای دور زدن ناهماهنگیها در محاسبات گرد کردن FreeType به کار میرود. پیشفرض “false” است که نشاندهنده معیارهای دادهشده میباشد. 8 "foreground (class Foreground)" رنگ مورد استفاده برای نمایش متن در پنجره را مشخص میکند. تنظیم نام کلاس بهجای نام نمونه روشی آسان است تا رنگ هر چیزی که بهطور معمول با رنگ متن نمایش مییابد تغییر کند. پیشفرض “XtDefaultForeground” است. 8 "formatCursorKeys (class FormatCursorKeys)" هنگامی که modifyCursorKeys برابر ۴ یا بیشتر باشد، برای کلیدهای مکاننما بهجای حالت مرسوم، از قالب اصلاحشده مانند formatOtherKeys استفاده میکند. پیشفرض “0” است. 8 "formatFunctionKeys (class FormatFunctionKeys)" هنگامی که modifyFunctionKeys برابر ۴ یا بیشتر باشد، برای کلیدهای تابعی بهجای حالت مرسوم، از قالب اصلاحشده مانند formatOtherKeys استفاده میکند. پیشفرض “0” است. 8 "formatKeypadKeys (class FormatKeypadKeys)" هنگامی که modifyKeypadKeys برابر ۴ یا بیشتر باشد، برای کلیدهای صفحهکلید عددی بهجای حالت مرسوم، از قالب اصلاحشده مانند formatOtherKeys استفاده میکند. پیشفرض “0” است. 8 "formatModifierKeys (class FormatModifierKeys)" هنگامی که modifyModifierKeys برابر ۴ یا بیشتر باشد، برای کلیدهای تغییردهنده بهجای حالت مرسوم، از قالب اصلاحشده مانند formatOtherKeys استفاده میکند. پیشفرض “0” است. 8 "formatOtherKeys (class FormatOtherKeys)" قالب دنباله گریز مورد استفاده برای گزارش کلیدهای اصلاحشده با منبع modifyOtherKeys را بازنویسی میکند. 3 0 ارسال کلیدهای اصلاحشده به عنوان پارامتر برای کلید تابعی ۲۷ (پیشفرض). 3 1 ارسال کلیدهای اصلاحشده به عنوان پارامتر برای CSI u. 8 "formatSpecialKeys (class FormatSpecialKeys)" هنگامی که modifySpecialKeys برابر ۴ یا بیشتر باشد، برای کلیدهای ویژه بهجای حالت مرسوم، از قالب اصلاحشده مانند formatOtherKeys استفاده میکند. پیشفرض “0” است. 8 "freeBoldBox (class FreeBoldBox)" مشخص میکند که آیا xterm باید فرض کند که کادرهای احاطهکننده (bounding boxes) برای قلمهای عادی و پررنگ (bold) سازگار هستند یا خیر. اگر “false” باشد، xterm آنها را مقایسه کرده و گزینههای قلم پررنگی را که با اندازه قلم عادی مطابقت ندارند رد میکند. پیشفرض “false” است، به این معنی که مقایسه انجام میشود. 8 "geometry (class Geometry)" اندازه و موقعیت ترجیحی پنجره VTxxx را مشخص میکند. هیچ پیشفرضی برای این منبع وجود ندارد. 8 "highlightColor (class HighlightColor)" رنگ مورد استفاده برای پسزمینه متن انتخابشده (برجستهشده) را مشخص میکند. اگر مشخص نشود (یعنی منطبق با پیشفرض رنگ پیشزمینه باشد)، ویدئوی معکوس به کار میرود. پیشفرض “XtDefaultForeground” است. 8 "highlightColorMode (class HighlightColorMode)" مشخص میکند که آیا xterm باید از highlightTextColor و highlightColor برای بازنویسی رنگهای معکوسشده پیشزمینه/پسزمینه در یک انتخاب استفاده کند یا خیر. پیشفرض نامشخص است: در هنگام راهاندازی، xterm بررسی میکند که آیا این منابع به چیزی غیر از رنگهای پیشفرض پیشزمینه و پسزمینه تنظیم شدهاند یا خیر. تنظیم این منبع، این بررسی را غیرفعال میکند. جدول زیر تعامل میان منابع برجستهسازی را نشان میدهد که برای جا گرفتن در این صفحه به شکل زیر کوتاه شدهاند: 3 HCM highlightColorMode 3 HR highlightReverse 3 HBG highlightColor 3 HFG highlightTextColor l l l l l _ _ _ _ _ l l l l l. HCM HR HBG false false default false false default false false set false false set false true default false true default false true set false true set true false default true false default true false set true false set true true default true true default true true set true true set default false default default false default default false set default false set default true default default true default default true set default true set
- highlightReverse (class HighlightReverse)
- مشخص میکند که آیا xterm هنگام انتخاب متن با صفت تصویر معکوس (reverse-video)، باید رنگهای پیشزمینه و پسزمینه انتخاب را معکوس کند یا خیر. این مورد تنها برای منابع highlightColor و highlightTextColor اعمال میشود، به عنوان مثال، برای مطابقت با طرح رنگی xwsh. اگر “true” باشد، xterm رنگها را معکوس میکند، اگر “false” باشد، xterm رنگها را معکوس نمیکند، پیشفرض “true” است.
- highlightSelection (class HighlightSelection)
- به xterm مشخص میکند که آیا همه موقعیتهای انتخابشده برجسته شوند یا فقط متن انتخابشده:
- اگر “false” باشد، انتخاب با ماوس تمامی موقعیتهای روی صفحه را بین ابتدای انتخاب و موقعیت فعلی برجسته میکند.
- اگر “true” باشد، xterm تنها موقعیتهایی را برجسته میکند که شامل متنی باشند که میتواند انتخاب شود.
- پیشفرض “false” است.
- بسته به روشی که برنامههای شما بر روی صفحه مینویسند، ممکن است فاصلههای خالی انتهایی در یک خط وجود داشته باشد. Xterm دادهها را همانگونه که روی صفحه نمایش داده میشوند ذخیره میکند. پاک کردن صفحه نمایش، وضعیت داخلی هر سلول را تغییر میدهد بهطوری که برای اهداف انتخاب، به عنوان یک فاصله خالی در نظر گرفته نمیشود. فاصلههای خالی نوشتهشده پس از آخرین پاکسازی قابل انتخاب هستند. اگر تمایلی به وجود فاصلههای خالی انتهایی در انتخاب ندارید، از منبع trimSelection استفاده کنید..TP 8 highlightTextColor (class HighlightTextColor) رنگ پیشزمینه متن انتخابشده (برجستهشده) را تعیین میکند. اگر مشخص نشود (یعنی منطبق با پسزمینه پیشفرض باشد)، از تصویر معکوس (reverse video) استفاده میشود. مقدار پیشفرض “XtDefaultBackground” است.
- hpLowerleftBugCompat (class HpLowerleftBugCompat)
- مشخص میکند که آیا ایراد (باگ) موجود در xdb شرکت HP دور زده شود یا خیر؛ برنامهای که termcap را نادیده گرفته و برای رفتن به گوشه پایین چپ همیشه ESC F ارسال میکند. مقدار “true” باعث میشود xterm دنباله ESC F را به عنوان درخواستی برای انتقال به گوشه پایین چپ صفحه تفسیر کند. مقدار پیشفرض “false” است.
- i18nSelections (class I18nSelections)
- اگر برابر با false باشد، xterm هدفهای COMPOUND_TEXT یا TEXT را درخواست نخواهد کرد. مقدار پیشفرض “true” است. برای دور زدن نقضهای استانداردهای ICCCM توسط سایر کلاینتهای X، میتوان آن را روی false تنظیم کرد.
- iconBorderColor (class BorderColor)
- در صورتی که این ویژگی در xterm کامپایل شده باشد، رنگ حاشیه پنجره آیکون فعال را تعیین میکند. همه مدیرهای پنجره حاشیه آیکون را مرئی نمیکنند.
- iconBorderWidth (class BorderWidth)
- در صورتی که این ویژگی در xterm کامپایل شده باشد، عرض حاشیه پنجره آیکون فعال را تعیین میکند. مقدار پیشفرض “2” است. همه مدیرهای پنجره حاشیه را مرئی نمیکنند.
- iconFont (class IconFont)
- در صورتی که این ویژگی در xterm کامپایل شده باشد، فونت پنجره بندانگشتی آیکون فعال را تعیین میکند. مقدار پیشفرض “nil2” است.
- incrementalGraphics (class IncrementalGraphics)
- هنگام نمایش گرافیکهای SIXEL، پس از پردازش هر سلول صفحه را بازآوری میکند. مقدار پیشفرض “false” است.
- indicatorFormat (class IndicatorFormat)
- هنگام نمایش خط وضعیت با استفاده از حالت indicator (یعنی انتخاب خط نوع ۱ در DECSSDT)، وضعیت را با استفاده از این منبع قالببندی میکند.
- مقدار
پیشفرض
این منبع،
نسخه xterm،
موقعیت
مکاننما و
زمان/تاریخ
را نمایش
میدهد:
“%{version%} %{position%} %{unixtime%}”
- اگر یک نشانگر “%” با هیچیک از سه توکن ویژه استفادهشده در مقدار پیشفرض منبع مطابقت نداشته باشد، xterm از تابع strftime(3) برای تفسیر آن استفاده میکند.
- initialFont (class InitialFont)
- تعیین میکند که در ابتدا از کدام فونتهای VT100 استفاده شود. مقادیر آن همانند مقادیر کنش set-vt-font هستند. مقدار پیشفرض “d” (یعنی “default”) است.
- inputMethod (class InputMethod)
- به xterm مشخص میکند که از چه نوع روش ورودی (input method) استفاده کند. هیچ روش پیشفرضی وجود ندارد.
- internalBorder (class BorderWidth)
- تعداد پیکسلهای بین نویسهها و حاشیه پنجره را مشخص میکند. مقدار پیشفرض “2” است.
- italicULMode (class ColorAttrMode)
- مشخص میکند که آیا نویسههای دارای ویژگی زیرخط (underline) باید با فونت کج (italic) نمایش داده شوند یا به صورت نویسههای زیرخطدار. این ویژگی تنها برای فونتهای TrueType پیادهسازی شده است.
- jumpScroll (class JumpScroll)
- مشخص میکند که آیا پیمایش جهشی (jump scroll) باید استفاده شود یا خیر. این متناظر با حالت خصوصی VT102 DECSCLM است. مقدار پیشفرض “true” است. برای گونهای دیگر از آن، fastScroll را ببینید.
- keepClipboard (class KeepClipboard)
- مشخص میکند که آیا وقتی به xterm دستور ارائه محتوای انتخابشده داده میشود، به جای درخواست محتوای فعلی کلیپبورد از دادههای انتخابی که قبلاً در کلیپبورد کپی کرده بود استفاده مجدد کند یا خیر. مقدار پیشفرض “false” است.
- اگر در xterm کامپایل شده باشد، مدخل منوی Keep Clipboard به شما اجازه میدهد این مقدار را در زمان اجرا تغییر دهید.
- keepSelection (class KeepSelection)
- مشخص میکند که آیا xterm حتی پس از اینکه ناحیه انتخابشده تحت تأثیر خروجی ارسالشده به ترمینال قرار گرفت، انتخاب را حفظ کند یا خیر. مقدار پیشفرض “true” است.
- مدخل منوی Keep Selection به شما اجازه میدهد این مقدار را در زمان اجرا تغییر دهید.
- keyboardDialect (class KeyboardDialect)
- گویش اولیه صفحهکلید و همچنین مقدار پیشفرض هنگام بازنشانی ترمینال را مشخص میکند. مقدار ارائهشده همان نویسه پایانی در دنبالههای کنترلی است که مجموعههای نویسه را تغییر میدهند. مقدار پیشفرض “B” است که متناظر با US ASCII میباشد.
- limitFontsets (class LimitFontsets)
- تعداد فونتهای جایگزین TrueType (یعنی fontset) قابل آزمایش را محدود میکند. مقدار پیشفرض “50” است. بیشتر از “255” مورد پویش نخواهد شد.
- این منبع، تعداد فونتهای جایگزینی را که xterm برای نمایش نویسهها استفاده میکند محدود میسازد. از آنجا که فونتهای TrueType معمولاً کوچک هستند، xterm ممکن است برای پوشش مناسب چندین فونت را باز کند و همچنین برای دریافت اطلاعات، فونتهای بیشتری بگشاید. با تنظیم متغیر محیطی XFT_DEBUG روی 3، میتوانید مشاهده کنید که xterm کدام فایلهای فونت را باز میکند. کتابخانه Xft و xterm این گزارش اشکالزدایی را در خروجی استاندارد مینویسند.
- برای غیرفعال کردن کامل فونتهای جایگزین، این مقدار را روی “0” تنظیم کنید.
- limitFontHeight (class LimitFontHeight)
- هنگام مقیاسبندی یک فونت TrueType برای فراهم کردن بخشهای مربوط به یک نویسه با ارتفاع دوبرابر، xterm فونت مقیاسشده را با نسخه اصلی مقایسه میکند تا مطمئن شود که بلندتر است.
- مقدار پیشفرض “10” (درصد) است.
- limitFontWidth (class LimitFontWidth)
- هنگام جستجو برای فونتهای جایگزین، xterm بررسی میکند که نویسه مورد نظر برای نمایش، همعرض فونت اصلی باشد. اگر نویسهای به خارج از کادر احاطهکننده (bounding box) فونت امتداد یابد، xterm آن را برش میدهد تا جا شود.
- این منبع مقدار امتداد مجاز نویسه به خارج از کادر احاطهکنندهاش را قبل از اینکه xterm به دنبال فونت بهتری بگردد، کنترل میکند.
- این منبع همچنین در مقیاسبندی فونتهای TrueType برای نویسههای با عرض دوبرابر استفاده میشود، مشابه limitFontHeight برای نویسههای با ارتفاع دوبرابر.
- مقدار پیشفرض “10” (درصد) است.
- limitResize (class LimitResize)
- تغییر اندازه صفحه از طریق دنبالههای کنترلی را به مضرب مشخصی از ابعاد نمایشگر محدود میکند. مقدار پیشفرض “1” است.
- limitResponse (class LimitResponse)
- اندازه بافر مورداستفاده را هنگامی که xterm به دنبالههای کنترلی گوناگون پاسخ میدهد، محدود میکند. مقدار پیشفرض “1024” است. حداقل مقدار مجاز “256” است.
- locale (class Locale)
- نحوه استفاده از luit(1)، مبدل کدگذاری بین UTF-8 و کدگذاریهای لوکال را مشخص میکند. مقدار این منبع (بدون در نظر گرفتن بزرگی و کوچکی حروف) میتواند موارد زیر باشد:
- true
- Xterm تا حد امکان از کدگذاری مشخصشده توسط لوکال LC_CTYPE کاربر (یعنی متغیرهای LC_ALL، LC_CTYPE یا LANG) استفاده خواهد کرد. این امر با فعالسازی همیشگی حالت UTF-8 و فراخوانی luit در لوکالهای غیر UTF-8 انجام میشود.
- medium
- Xterm تنها برای لوکالهای UTF-8، آسیای شرقی و تایلندی که در آنها کدگذاریها توسط حالت مرسوم 8-بیتی با تغییر فونت پشتیبانی نمیشد، از لوکال LC_CTYPE کاربر پیروی میکند. برای سایر لوکالها، xterm از حالت معمول 8-بیتی استفاده خواهد کرد.
- checkfont
- اگر mini-luit به همراه برنامه کامپایل شده باشد، xterm بررسی میکند که آیا فونت یونیکد مشخص شده است یا خیر. در صورت مشخص بودن، بررسی میکند که آیا کدگذاری نویسهها برای لوکال فعلی POSIX، Latin-1 یا Latin-9 است یا خیر، و برای پشتیبانی از آنها با فونت یونیکد از نگاشت مناسب استفاده میکند. برای سایر کدگذاریها، xterm فرض میکند که کدگذاری UTF-8 مورد نیاز است..TP false Xterm با توجه به منبع utf8 یا گزینهٔ -u8، از حالت مرسوم ۸ بیتی یا حالت UTF-8 استفاده خواهد کرد.
- هر مقدار دیگری، مثلاً “UTF-8” یا “ISO8859-2”، بهعنوان نام یک کدگذاری در نظر گرفته میشود؛ برای پشتیبانی از آن کدگذاری، luit فراخوانی خواهد شد. فهرست واقعی کدگذاریهای پشتیبانیشده به luit بستگی دارد. مقدار پیشفرض “medium” است.
- صرفنظر از محلیسازی (locale) و کدگذاری شما، برای نمایش نتیجه به یک قلم ISO-10646-1 نیاز دارید. پیکربندی شما ممکن است شامل این قلم نباشد، یا ممکن است نیازی به پشتیبانی محلیسازی توسط xterm نباشد.
- در هنگام راهاندازی، xterm از سازوکاری معادل با کنش load-vt-fonts(utf8Fonts,Utf8Fonts) برای بارگذاری زیرمنابع نام قلم در ویجت VT100 استفاده میکند. بدین معنا که الگوهای منبعی مانند “*vt100.utf8Fonts.font” بارگذاری خواهند شد، و (در صورت فعال بودن این منبع)، قلمهای عادی را بازنویسی میکنند. اگر هیچ زیرمنبعی یافت نشود، قلمهای عادی مانند “*vt100.font” و غیره استفاده میشوند.
- برای
نمونه،
میتوانید
چنین
تنظیمی در
فایل منابع
خود داشته
باشید:
*VT100.font: 12x24 *VT100.utf8Fonts.font:9x15
- هنگامی که با یک لوکال UTF-8 راهاندازی شود، xterm از 9x15 استفاده میکند، اما به شما امکان میدهد با استفاده از مدخل منوی “UTF-8 Fonts” به قلم 12x24 تغییر وضعیت دهید.
- فایلهای منابع توزیعشده با xterm از قلمهای ISO-10646-1 استفاده میکنند، اما به آنها وابسته نیستند مگر اینکه از سازوکار محلیسازی استفاده کنید.
- localeFilter (class LocaleFilter)
- نام فایل را برای مبدل کدگذاری از/به کدگذاریهای لوکال و UTF-8 تعیین میکند که همراه با گزینهٔ -lc یا منبع locale استفاده میشود. پیام راهنمای نمایشدادهشده توسط “xterm -help” مقدار پیشفرض را فهرست میکند که به پیکربندی سامانهٔ شما بستگی دارد.
- اگر مبدل
کدگذاری به
پارامترهای
خط فرمان
نیاز دارد،
میتوانید
آنها را پس
از دستور
اضافه
کنید،
مثلاً:
*localeFilter: xterm-filter -p
- همچنین، میتوانید این پارامترها را درون یک اسکریپت شل قرار دهید تا مبدل را اجرا کند، و این منبع را طوری تنظیم کنید که به آن اسکریپت شل اشاره کند.
- هنگام استفاده از یک فیلتر لوکال، مثلاً با گزینهٔ -e یا در شل، xterm ابتدا تلاش میکند واپایش را از طریق آن فیلتر منتقل کند. اگر ناموفق باشد، xterm بدون فیلتر لوکال دوباره تلاش خواهد کرد. Xterm پیش از تلاش مجدد، دربارهٔ این شکست هشدار میدهد.
- logFile (class Logfile)
- نام فایل گزارش (لاگ) xterm را تعیین میکند. اگر نامی تعیین نشود، هنگامی که ثبت گزارش فعال شود، همانطور که در توضیح گزینهٔ -l آمده است، xterm یک نام تولید خواهد کرد.
- logInhibit (class LogInhibit)
- اگر “true” باشد، مانع از فعال شدن قابلیت ثبت گزارش میشود؛ چه از طریق گزینهٔ خط فرمان -l، و چه از طریق مدخل منوی Log to File. مقدار پیشفرض “false” است.
- logging (class Logging)
- اگر “true” باشد (و اگر logInhibit تنظیم نشده باشد) قابلیت ثبت گزارش را فعال میکند. این منبع توسط گزینهٔ -l و مدخل منوی Log to File تنظیم/بهروزرسانی میشود. مقدار پیشفرض “false” است.
- loginShell (class LoginShell)
- مشخص میکند که آیا پوستهٔ اجراشونده در پنجره باید بهعنوان یک پوستهٔ ورود (login shell) آغاز شود یا خیر. مقدار پیشفرض “false” است.
- marginBell (class MarginBell)
- مشخص میکند که آیا با تایپ کردن کاربر در نزدیکی حاشیهٔ راست، زنگ هشدار باید به صدا درآید یا خیر. مقدار پیشفرض “false” است.
- maxGraphicSize (class MaxGraphicSize)
- اگر xterm برای پشتیبانی از گرافیکهای ReGIS یا SIXEL پیکربندی شده باشد، این منبع حداکثر اندازهٔ تصویری را که میتواند نمایش داده شود کنترل میکند.
- مقدار پیشفرض “1000x1000” است (بهصورت width در height داده میشود).
- اگر این
منبع روی
“auto” تنظیم
شود، xterm از
منبع decGraphicsID (یا
decTerminalID در صورت
تنظیم نشدن
آن) استفاده
خواهد کرد:
نتیجه decGraphicsID 768x400 125 800x460 240 800x460 241 800x480 330 800x480 340 860x750 382 800x480 other
- maxStringParse (class MaxStringParse)
- تحلیلگر وضعیت در Xterm، چندین نوع از رشتههای کنترلی را که میتوانند شامل متن باشند شناسایی میکند؛ مانند:
DCS (Device Control String)،
OSC (Operating System Command)،
PM (Privacy Message)، و
SOS (Start of String)،
- Xterm این رشتهها را میخواند و آنها را تا زمانی که بهدرستی خاتمه یابند در یک بافر انباشته میکند. در آن نقطه، xterm رشتهها را تفسیر میکند. اگر این رشتهها دستورهای DCS برای رسم تصاویر ReGIS باشند، ممکن است حجیم و در حد چند صد کیلوبایت باشند. برخی از دستورهای OSC ممکن است تا ۱۰ کیلوبایت بزرگ باشند.
- این منبع، محدودیتی برای اندازهٔ بافر استفادهشده برای این رشتهها تعیین میکند. مقدار پیشفرض بر پایهٔ قابلیتهایی که برای xterm پیکربندی شدهاند “600000” است. رشتههای کنترلی که به اندازهٔ بافر بزرگتری نیاز داشته باشند نادیده گرفته میشوند.
- metaSendsEscape (class MetaSendsEscape)
- به xterm مشخص میکند که با نویسههای ورودیِ تغییریافته توسط Meta چه کند:
- اگر “true” باشد، نویسههای Meta (نویسهای که همراه با کلید تبدیلکنندهٔ Meta فشرده شده است) به یک توالی دونویسهای تبدیل میشوند که در آن پیش از خود نویسه، ESC قرار میگیرد. این رفتار همچنین بر توالیهای کنترلی کلیدهای تابعی اعمال میشود، مگر اینکه xterm ببیند که Meta در نگاشتهای کلید شما استفاده شده است.
- اگر “false” باشد، نویسههای Meta ورودی از صفحهکلید مطابق با منبع eightBitInput مدیریت میشوند.
- مقدار پیشفرض “False” است.
- mkSamplePass (class MkSamplePass)
- اگر mkSampleSize غیر صفر باشد، و mkWidth (و cjkWidth) روی false باشند، xterm در هنگام راهاندازی، جدولهای توکار خود را با دادههای پهنای نویسههای عریض سیستم مقایسه میکند تا تصمیم بگیرد آیا از دادههای سیستم استفاده کند یا خیر. این برنامه مقادیر نخستینِ mkSampleSize نویسه را بررسی میکند، و تا حداکثر mkSamplePass عدم تطابق را پیش از ناموفق شدن آزمایش مجاز میداند. مقدار پیشفرض (برای تعداد مجاز عدم تطابقها) 655 است (یک درصد از مقدار پیشفرض برای mkSampleSize).
- mkSampleSize (class MkSampleSize)
- به همراه mkSamplePass، این منبع آزمایشی را در هنگام راهاندازی مشخص میکند که برای مقداردهی اولیهٔ محاسبات پهنای نویسههای عریض استفاده میشود. مقدار پیشفرض (تعداد نویسهها برای بررسی) 65536 است.
- mkWidth (class MkWidth)
- مشخص میکند که آیا xterm باید از یک نسخهٔ توکار برای محاسبهٔ پهنای نویسههای عریض استفاده کند یا خیر. همچنین منبع cjkWidth را ببینید که میتواند این مقدار را بازنویسی کند. مقدار پیشفرض “false” است.
- در اینجا
خلاصهای
از منابعی
که انتخاب
محاسبهٔ
پهنای
نویسههای
عریض را
کنترل
میکنند
آورده شده
است:
cjkWidth mkWidth عملیات false false استفاده از جدولهای سیستم مشروط به mkSamplePass false true استفاده از جدولهای داخلی true false استفاده از جدولهای داخلی CJK true true استفاده از جدولهای داخلی CJK - برای غیرفعال کردن mkWidth و استفاده از جدولهای سیستم، هر دو مقدار mkSampleSize و mkSamplePass را روی “0” تنظیم کنید. انجام این کار ممکن است xterm را با برنامههایی که در xterm اجرا میشوند سازگارتر کند، اما ممکن است برخی از گلیفهای قلم را که پهنای آنها بهدرستی با جدولهای نویسهٔ سیستم تفاوت دارد، نادیده بگیرد.
- modifyCursorKeys (class ModifyCursorKeys)
- مشخص
میکند
چگونه با
حالت خاصی
که در آن
تبدیلگرهای
Control، Shift، Alt یا Meta
برای
افزودن یک
پارامتر به
دنبالهٔ
گریز
بازگرداندهشده
توسط کلید
مکاننما
استفاده
میشوند،
رفتار شود.
کلیدهای
مکاننمای
X11 چهار کلید
دارای نماد
جهتنما
هستند:
Left Right Up Down
- و همچنین
برخی که
معمولاً
روی
“صفحهکلید
ویرایشی”
یافت
میشوند:
Home Prior Page_Up Next Page_Down End Begin
- مقدار پیشفرض “2” است:
- -1
- این ویژگی را غیرفعال میکند.
- 0
- از رفتار قدیمی/منسوخ استفاده میکند، یعنی تبدیلگر پارامتر اول خواهد بود.
- 1
- دنبالههای تغییریافته را با CSI پیشوندگذاری میکند.
- 2
- اجبار میکند که تبدیلگر پارامتر دوم باشد اگر در غیر این صورت قرار بود اول باشد.
- 3
- دنباله را با یک “>” علامتگذاری میکند تا نشان دهد اختصاصی است.
- 4
- قالب را طوری تغییر میدهد تا با modifyOtherKeys 3 مطابقت داشته باشد، و یک دنبالهٔ گریز مطابق با formatCursorKeys ارسال میکند.
- modifyFunctionKeys (class ModifyFunctionKeys)
- مشخص میکند چگونه با حالت خاصی که در آن تبدیلگرهای Control، Shift، Alt یا Meta برای افزودن یک پارامتر به دنبالهٔ گریز بازگرداندهشده توسط یک کلید کارکردی (شمارهدار) استفاده میشوند، رفتار شود. مقدار پیشفرض “2” است. مقادیر این منبع مشابه modifyCursorKeys هستند:
- -1
- به کاربر اجازه میدهد تا از تبدیلگرهای shift و control برای ساخت رشتههای کلید کارکردی با استفاده از طرح کدگذاری معمولی استفاده کند.
- 0
- از رفتار قدیمی/منسوخ استفاده میکند، یعنی تبدیلگر پارامتر اول است.
- 1
- دنبالههای تغییریافته را با CSI پیشوندگذاری میکند.
- 2
- اجبار میکند که تبدیلگر پارامتر دوم باشد اگر در غیر این صورت قرار بود اول باشد.
- 3
- دنباله را با یک “>” علامتگذاری میکند تا نشان دهد اختصاصی است.
- 4
- قالب را طوری تغییر میدهد تا با modifyOtherKeys 3 مطابقت داشته باشد، و یک دنبالهٔ گریز مطابق با formatFunctionKeys ارسال میکند.
- اگر modifyFunctionKeys برابر صفر باشد، xterm از تبدیلگرهای Control و Shift استفاده میکند تا به کاربر اجازه دهد کلیدهای کارکردی شمارهداری فراتر از مجموعهٔ ارائهشده توسط صفحهکلید بسازد:
- Control
- مقدار ارائهشده توسط منبع ctrlFKeys را اضافه میکند.
- Shift
- دو برابر مقدار ارائهشده توسط منبع ctrlFKeys را اضافه میکند.
- Control/Shift
- سه برابر مقدار ارائهشده توسط منبع ctrlFKeys را اضافه میکند.
- modifyKeyboard (class ModifyKeyboard)
- بهطور معمول xterm حالت ویژهای را در مورد تبدیلگرها (shift، control و غیره) اعمال میکند تا چیدمانهای خاص صفحهکلید (legacy و vt220) را مدیریت کند. این کار برای ارائهٔ صفحهکلیدهای سازگار برای DEC VT220 و پایانههای مرتبط که کلیدهای تعریفشده توسط کاربر (UDK) را پیادهسازی کردهاند، انجام میشود.
- بیتهای مقدار این منبع، هنگام انتخاب این صفحهکلیدها، دستکاری دستهٔ مشخصشده را بهصورت گزینشی فعال میکنند. مقدار پیشفرض “0” است:
- 0
- صفحهکلیدهای legacy/vt220 هنگام ساخت کلیدهای کارکردی شمارهدار، تنها تبدیلگر Control را تفسیر میکنند. سایر کلیدهای ویژه تغییر داده نمیشوند.
- 1
- امکان تغییر صفحهکلید عددی را فراهم میکند
- 2
- امکان تغییر صفحهکلید ویرایشی را فراهم میکند
- 4
- امکان تغییر کلیدهای کارکردی را فراهم میکند، و استفاده از تبدیلگر Shift را برای UDK نادیده میگیرد.
- 8
- امکان تغییر سایر کلیدهای ویژه را فراهم میکند
- modifyKeypadKeys (class ModifyKeypadKeys)
- مانند modifyCursorKeys “4”، به xterm اعلام میکند که یک دنبالهٔ گریز برای کلیدهای صفحهکلید عددی بسازد. مقدار پیشفرض “0” است.
- modifyModifierKeys (class ModifyModifierKeys)
- مانند modifyCursorKeys “4”، به xterm اعلام میکند که یک دنبالهٔ گریز برای کلیدهای تبدیلگر (مانند کلید “shift”) بسازد. مقدار پیشفرض “0” است.
- modifyOtherKeys (class ModifyOtherKeys)
- مانند modifyCursorKeys “4”، به xterm اعلام میکند تا یک دنبالهٔ گریز برای کلیدهای معمولی (یعنی “دیگر”) بسازد (مانند “2”) هنگامی که توسط تبدیلگرهای Shift، Control، Alt یا Meta تغییر یافته باشند. این ویژگی برای کلیدهای ویژه اعمال نمیشود، یعنی کلیدهای مکاننما، صفحهکلید عددی، کارکردی یا کنترلی که روی صفحهکلید شما برچسبگذاری شدهاند. این موارد نمادهای کلیدی دارند که XKB آنها را بهطور یکتا شناسایی میکند.
- مقدار پیشفرض “0” است:
- 0
- این ویژگی را غیرفعال میکند.
- 1
- این ویژگی را برای کلیدها فعال میکند، به جز مواردی با رفتار شناختهشده، مانند Tab، Backarrow و برخی موارد نویسههای کنترلی خاص که در کتابخانهٔ X11 تعبیه شدهاند، مانند Control-Space برای ایجاد NUL، یا Control-3 برای ایجاد نویسهٔ Escape.
- به جز آن حالتهای خاص تعبیهشده در کتابخانهٔ X11، با تبدیلگرهای Shift و Control بهصورت عادی رفتار میشود. تبدیلگرهای Alt و Meta باعث ارسال دنبالهٔ گریز توسط xterm نمیشوند. این کلیدهای تبدیلگر طبق منابع دیگر تفسیر میشوند، مانند منبع metaSendsEscape.
- 2
- این ویژگی را برای کلیدها از جمله استثناهای فهرستشده فعال میکند. Xterm حالتهای خاص تعبیهشده در کتابخانهٔ X11 را نادیده میگیرد. هر کلید معمولی تغییریافته (با تبدیلگر)، یک دنبالهٔ گریز ارسال میکند. تبدیلگرهای Alt و Meta باعث میشوند xterm دنبالههای گریز ارسال کند.
- 3
- این ویژگی را گسترش میدهد تا کلیدهای بدون تبدیلگر را نیز بهعنوان دنبالههای گریز ارسال کند. بخش سؤالات متداول (FAQ) Xterm بحث مفصلی دربارهٔ این ویژگی به همراه مثالها دارد:
- modifySpecialKeys (class ModifySpecialKeys)
- همانند مقدار “4” در modifyCursorKeys، به xterm میگوید که یک دنبالهٔ گریز (escape sequence) برای کلیدهای ویژه بسازد (برای نمونه، “escape” که در دستهبندیهای دیگر نیست). پیشفرض “0” است.
- multiClickTime (class MultiClickTime)
- حداکثر زمان برحسب میلیثانیه میان رویدادهای انتخاب چندکلیکی را مشخص میکند. پیشفرض “250” میلیثانیه است.
- multiScroll (class MultiScroll)
- مشخص میکند که آیا پیمایش باید به صورت ناهمگام انجام شود یا خیر. پیشفرض “false” است.
- nMarginBell (class Column)
- تعداد نویسهها از حاشیهٔ راست را مشخص میکند که در صورت فعال بودن توسط منبع marginBell، زنگ حاشیه در آن فاصله به صدا درمیآید. پیشفرض “10” است.
- nameKeymap (class NameKeymap)
- به توضیحات مربوط به کنش keymap() مراجعه کنید.
- nextEventDelay (class NextEventDelay)
- مدتزمان تأخیر برحسب میلیثانیه را پیش از بررسی رویدادهای جدید X مشخص میکند. پیشفرض “1” است.
- numColorRegisters (class NumColorRegisters)
- اگر xterm برای پشتیبانی از گرافیکهای ReGIS یا SIXEL پیکربندی شده باشد، این منبع تعداد ثباتهای رنگی (color-registers) در دسترس را مشخص میکند.
- اگر این
منبع مشخص
نشده باشد،
xterm از
مقداری
استفاده
میکند که
توسط منبع
decTerminalID تعیین
شده است:
نتیجه decTerminalID 4 125 4 240 4 241 4 330 16 340 2 382 1024 سایر
- numLock (class NumLock)
- اگر “true” باشد، xterm بررسی میکند که آیا NumLock به عنوان یک کلید تبدیل (modifier) استفاده شده است یا خیر (نگاه کنید به xmodmap(1)). در این صورت، از این کلید تبدیل برای سادهسازی منطق هنگام پیادهسازی NumLock ویژه برای منبع sunKeyboard استفاده میشود. همچنین (هنگامی که sunKeyboard برابر با false باشد)، منطق مشابهی برای یافتن کلید تبدیل مرتبط با کلیدهای Alt چپ و راست استفاده میشود. پیشفرض “true” است.
- oldXtermFKeys (class OldXtermFKeys)
- اگر “true” باشد، xterm برای کلیدهای تابعی F1 تا F4، جهت سازگاری با X Consortium xterm، از دنبالههای گریز سبک قدیمی (X11R5) استفاده خواهد کرد. در غیر این صورت، از کدهای VT100 برای PF1 تا PF4 استفاده میکند. پیشفرض “false” است.
- تنظیم این منبع همان اثری را دارد که تنظیم keyboardType روی legacy دارد. منبع keyboardType سازوکار ارجح برای انتخاب این حالت است.
- دنبالههای گریز سبک قدیمی شبیه به کلیدهای VT220 هستند، اما به نظر میرسد برای xterm در X11R4 ابداع شده باشند.
- on2Clicks (class On2Clicks)
- on3Clicks (class On3Clicks)
- on4Clicks (class On4Clicks)
- on5Clicks (class On5Clicks)
- رفتار گزینش در پاسخ به کلیکهای متوالی ماوس را مشخص میکنند. یک تککلیک ماوس همواره مطابق آنچه در بخش Selection Functions شرح داده شده تفسیر میشود (نگاه کنید به POINTER USAGE). کلیکهای متوالی ماوس (با استفاده از دکمهای که کنش select-start را فعال میکند) با توجه به مقادیر منابع on2Clicks و غیره تفسیر میشوند. مقدار منبع میتواند یکی از این موارد باشد:
- word
- یک “کلمه” را بر اساس آنچه منبع charClass تعیین کرده انتخاب میکند. بخش CHARACTER CLASSES را ببینید.
- اگر نشانگر روی یک “کلمه” باشد، xterm به عقب تا ابتدای کلمه و سپس تا انتهای آن جستجو میکند.
- اگر نشانگر روی یک “کلمه” نباشد، نتیجه بستگی به این دارد که روی نویسهٔ فاصله (شامل خط جدید) قرار گرفته باشد یا فراتر از انتهای خط. در حالت دوم، چنانچه فاصلهٔ اضافهای وجود نداشته باشد، ممکن است xterm یک “کلمه” را که پس از خط جدید آغاز میشود انتخاب کند.
- line
- یک خط را انتخاب میکند (با احتساب سطرشکنی یا wrapping).
- group
- گروهی از خطوط مجاور را انتخاب میکند (با احتساب سطرشکنی). گزینش در یک خط خالی متوقف میشود، و به خارج از صفحهٔ جاری گسترش نمییابد.
- page
- تمام خطوط مرئی، یعنی کل صفحه را انتخاب میکند.
- all
-
تمام خطوط را انتخاب میکند، یعنی شامل خطوط ذخیرهشده در تاریخچه. - regex
- بهترین تطابق را برای عبارت باقاعدهٔ گسترشیافتهٔ پوزیکس (POSIX ERE) که در مقدار منبع به دنبال آن میآید انتخاب میکند:
- Xterm عبارت باقاعده را با یک آرایهٔ بایتی برای کل خط (که احتمالاً سطرشکنی شده) مطابقت میدهد. آن آرایهٔ بایتی بسته به حالتی که xterm در آن اجرا میشود، ممکن است UTF-8 یا ISO-8859-1 باشد.
- Xterm در هر آفست بایتی در این آرایه گام برمیدارد، و بهترین (طولانیترین) تطابق را ثبت میکند. اگر بیش از یک تطابق با حداکثر طول مساوی باشند، از اولین مورد استفاده میشود.
- Xterm این کار را انجام میدهد تا کلیک در هر نقطه از محدودهٔ مورد نظر راحت باشد و باعث شود عبارت باقاعده با کل کلمه و غیره تطابق یابد.
- لنگرهای “^” و “$” در یک عبارت باقاعده نمایانگر دو انتهای کل خط هستند.
- اگر عبارت باقاعده حاوی بکاسلش “\” باشد، باید با “\\” گریز داده شوند (escaped) زیرا کتابخانههای X بکاسلشها را در رشتههای منابع تفسیر میکنند.
- none
- هیچ کنش گزینشی به این منبع مرتبط نمیشود. Xterm آن را به عنوان انتهای فهرست تفسیر میکند. برای نمونه، میتوانید با تنظیم on3Clicks بر روی “none”، کلیک سهگانه (و بالاتر) را غیرفعال کنید.
- مقادیر پیشفرض برای on2Clicks و on3Clicks به ترتیب “word” و “line” هستند. هیچ مقدار پیشفرضی برای on4Clicks یا on5Clicks وجود ندارد، که این امر باعث غیرفعال بودن آنها میشود. هنگام راهاندازی، xterm حداکثر تعداد کلیکها را از روی مقادیر منابع onXClicks تنظیمشده تعیین میکند.
- openIm (class OpenIm)
- به xterm میگوید که آیا هنگام راهاندازی، روش ورودی (input method) را باز کند یا خیر. پیشفرض “true” است.
- pointerColor (class PointerColor)
- رنگ پیشزمینهٔ نشانگر را مشخص میکند. پیشفرض “XtDefaultForeground” است.
- pointerColorBackground (class PointerColorBackground)
- رنگ پسزمینهٔ نشانگر را مشخص میکند. پیشفرض “XtDefaultBackground” است.
- pointerFont (class PointerFont)
- فونت مورد استفاده برای نشانگر را مشخص میکند. شکلهای تعیینشده توسط pointerShape نویسهوارههایی در این قلم هستند. پیشفرض مقدار این منبع cursor است..TP 8 pointerMode (class PointerMode) مشخص میکند چه زمانی ممکن است اشارهگر هنگام تایپ کاربر پنهان شود. اگر کاربر ماوس را حرکت دهد، یا روی یکی از دکمههای آن کلیک کند، اشارهگر دوباره نمایش داده خواهد شد.
- 0
- هرگز.
- 1
- برنامه در حال اجرا در xterm حالت ماوس را فعال نکرده باشد. این مقدار پیشفرض است.
- 2
- همیشه.
- pointerShape (class Cursor)
- نام شکل اشارهگر را مشخص میکند. مقدار پیشفرض “xterm” است.
- شکلهای دیگر نیز میتوانند انتخاب شوند. در اینجا فهرستی از نامهای “core” (یعنی استاندارد) استخراجشده از <X11/cursorfont.h> آمده است:
- X_cursor, arrow, based_arrow_down, based_arrow_up, boat, bogosity, bottom_left_corner, bottom_right_corner, bottom_side, bottom_tee, box_spiral, center_ptr, circle, clock, coffee_mug, cross, cross_reverse, crosshair, diamond_cross, dot, dotbox, double_arrow, draft_large, draft_small, draped_box, exchange, fleur, gobbler, gumby, hand1, hand2, heart, icon, iron_cross, left_ptr, left_side, left_tee, leftbutton, ll_angle, lr_angle, man, middlebutton, mouse, pencil, pirate, plus, question_arrow, right_ptr, right_side, right_tee, rightbutton, rtl_logo, sailboat, sb_down_arrow, sb_h_double_arrow, sb_left_arrow, sb_right_arrow, sb_up_arrow, sb_v_double_arrow, shuttle, sizing, spider, spraycan, star, target, tcross, top_left_arrow, top_left_corner, top_right_corner, top_side, top_tee, trek, ul_angle, umbrella, ur_angle, watch, xterm
- اگر از یک cursor theme (پوسته نشانگر) استفاده میکنید، انتظار داشته باشید که حدود یکسوم این نامها را ارائه دهد، در حالی که نامهای دیگری را اضافه میکند.
- popOnBell (class PopOnBell)
- مشخص میکند که آیا با دریافت Control-G پنجره به رو آورده شود یا خیر. مقدار پیشفرض “false” است.
- اگر پنجره کمینهشده (iconified) باشد، این گزینه تأثیری ندارد. با این حال، منبع zIconBeep این امکان را به شما میدهد تا ببینید کدام پنجرههای کمینهشده زنگ هشدار را به صدا درآوردهاند.
- precompose (class Precompose)
- به xterm مشخص میکند که آیا دادههای UTF-8 را به Normalization Form C پیشترکیب کند یا خیر، که در آن نشانهها و اعرابهای پرکاربرد را با نویسههای پایه ترکیب میکند. اگر این کار را انجام ندهد، نشانهها به عنوان نویسههای جداگانه باقی میمانند. مقدار پیشفرض “true” است.
- preeditType (class PreeditType)
- به xterm میگوید کدام انواع رشتههای پیشویرایش (preedit یا پیشتبدیل) نمایش داده شوند. مقدار پیشفرض “OverTheSpot,Root” است.
- preferLatin1 (class PreferLatin1)
- به xterm مشخص میکند که هنگام مقداردهی اولیه مجموعههای نویسه، برای مجموعه مکمل ترجیحی کاربر (UPSS) از DEC Supplemental Graphic استفاده کند یا ISO Latin-1. اولی تنظیم مستندشده برای پایانههای سختافزاری است، اما دومی مورد انتظار اکثر کاربران است. مقدار پیشفرض “true” (یعنی ISO Latin-1) است.
- printAttributes (class PrintAttributes)
- مشخص میکند که آیا مشخصههای گرافیکی همراه با متن چاپ شوند یا خیر. یک پایانه واقعی DEC VTxxx کدهای خط زیر و برجستهسازی را چاپ میکند اما ممکن است چاپگر شما این موارد را مدیریت نکند.
- مقدار “0” مشخصهها را غیرفعال میکند.
- مقدار “1” مجموعه عادی مشخصهها (bold، زیرخط، معکوس و چشمکزن) را به صورت توالیهای کنترلی سبک VT100 چاپ میکند.
- مقدار “2” مشخصههای رنگی ANSI را نیز چاپ میکند.
- مقدار پیشفرض “1” است.
- printFileImmediate (class PrintFileImmediate)
- هنگامی که عمل print-immediate فراخوانی میشود، xterm محتوای صفحه را مستقیماً در یک فایل چاپ میکند. این منبع را روی پیشوند نام فایل تنظیم کنید (یک برچسب زمانی به انتهای نام واقعی افزوده خواهد شد).
- مقدار پیشفرض یک رشته خالی است، یعنی “”. با این حال، هنگامی که عمل print-immediate فراخوانی میشود، اگر این رشته خالی باشد، از “XTerm” استفاده میشود.
- printFileOnXError (class PrintFileOnXError)
- اگر xterm با یک خطای سامانه X خارج شود، برای مثال هنگامی که با از کار افتادن سرور اتصال شما قطع میشود، میتوان به آن گفت که محتویات صفحه را در یک فایل بنویسد. برای فعال کردن این ویژگی، این منبع را روی پیشوند نام فایل تنظیم کنید (یک برچسب زمانی به انتهای نام واقعی افزوده خواهد شد).
- مقدار پیشفرض یک رشته خالی است، یعنی “”، که این ویژگی را غیرفعال میکند. با این حال، هنگامی که عمل print-on-error فراخوانی میشود، اگر این رشته خالی باشد، آنگاه از “XTermError” استفاده میشود.
- این کدهای خطا مدیریت میشوند: ERROR_XERROR، ERROR_XIOERROR و ERROR_ICEERROR.
- printModeImmediate (class PrintModeImmediate)
- هنگامی که عمل print-immediate فراخوانی میشود، xterm محتوای صفحه را مستقیماً در یک فایل چاپ میکند. میتوانید از منبع printModeImmediate استفاده کنید تا به آن بگویید برای بازسازی مشخصههای بصری و رنگها از توالیهای گریز استفاده کند. این منبع از همان مقادیر منبع printAttributes استفاده میکند. مقدار پیشفرض “0” است..TP 8 printModeOnXError (class PrintModeOnXError) Xterm قابلیت printFileOnXError را با استفاده از قابلیت چاپگر پیادهسازی میکند، اگرچه خروجی مستقیماً درون یک فایل نوشته میشود. میتوانید از منبع printModeOnXError استفاده کنید تا به آن اعلام کنید برای بازسازی ویژگیهای نمایشی و رنگها از توالیهای گریز استفاده کند. این منبع از همان مقادیر منبع printAttributes استفاده میکند. مقدار پیشفرض “0” است.
- printOptsImmediate (class PrintOptsImmediate)
- محدوده متنی را مشخص میکند که هنگام فراخوانی کنش print-immediate درون یک فایل چاپ میشود.
- اگر صفر (0) باشد، صفحه فعلی (صفحه قابل مشاهده) به علاوه خطوط ذخیرهشده را انتخاب میکند، مگر اینکه صفحه جایگزین در حال استفاده باشد. در آن حالت، تنها صفحه جایگزین انتخاب میشود.
- اگر غیر صفر باشد، بیتهای مقدار این منبع (که به ترتیب نزولی بررسی میشوند) محدوده را انتخاب میکنند:
- 8
- خطوط ذخیرهشده را انتخاب میکند.
- 4
- صفحه جایگزین را انتخاب میکند.
- 2
- صفحه عادی را انتخاب میکند.
- 1
- صفحه فعلی را انتخاب میکند، که میتواند صفحه عادی یا صفحه جایگزین باشد.
- مقدار پیشفرض “9” است، که صفحه قابل مشاهده فعلی به علاوه خطوط ذخیرهشده را بدون هیچ حالت خاصی برای صفحه جایگزین انتخاب میکند.
- printOptsOnXError (class PrintOptsOnXError)
- محدوده متنی را مشخص میکند که هنگام فراخوانی کنش print-on-error درون یک فایل چاپ میشود. مقدار این منبع همانند printOptsImmediate تفسیر میشود.
- مقدار پیشفرض “9” است، که صفحه قابل مشاهده فعلی به علاوه خطوط ذخیرهشده را بدون هیچ حالت خاصی برای صفحه جایگزین انتخاب میکند.
- printRawChars (class PrintRawChars)
- اگر “true” باشد، xterm اجازه میدهد غیرنویسههای یونیکد چاپ شوند.
- printerAutoClose (class PrinterAutoClose)
- اگر “true” باشد، xterm هنگامی که برنامه با دستور Media Copy چاپگر را آفلاین میکند، چاپگر (یک pipe) را میبندد. مقدار پیشفرض “false” است.
- printerCommand (class PrinterCommand)
- یک دستور شل را مشخص میکند که هنگام آغاز اولین دستور MC (Media Copy)، xterm یک pipe به آن باز میکند. مقدار پیشفرض یک رشته خالی است، یعنی “”. اگر مقدار این منبع یک رشته خالی داده شود، چاپگر غیرفعال میشود.
- printerControlMode (class PrinterControlMode)
- حالت کنترل چاپگر را مشخص میکند. مقدار “1” حالت autoprint را انتخاب میکند، که باعث میشود xterm خطی از صفحه را چاپ کند هنگامی که
- مکاننما را با یک نویسه line feed، form feed یا تب عمودی از آن خط جابهجا کنید، یا
- یک autowrap رخ دهد.
- حالت autoprint توسط حالت کنترلکننده چاپگر (مقدار “2”) لغو میشود، که باعث میشود تمام خروجی به چاپگر هدایت شود. مقدار پیشفرض “0” است.
- printerExtent (class PrinterExtent)
- تعیین میکند که آیا تابع چاپ صفحه کل صفحه را چاپ کند (true)، یا تنها بخشی را که درون حاشیههای پیمایش قرار دارد (false). مقدار پیشفرض “false” است.
- printerFormFeed (class PrinterFormFeed)
- تعیین میکند که آیا در انتهای تابع چاپ صفحه، یک form feed به چاپگر ارسال شود یا خیر. مقدار پیشفرض “false” است.
- printerNewLine (class PrinterNewLine)
- تعیین میکند که آیا در انتهای تابع چاپ صفحه، یک خط جدید به چاپگر ارسال شود یا خیر. مقدار پیشفرض “true” است.
- privateColorRegisters (class PrivateColorRegisters)
- اگر xterm برای پشتیبانی از گرافیکهای ReGIS یا SIXEL پیکربندی شده باشد، این گزینه کنترل میکند که آیا xterm ثباتهای رنگی جداگانهای برای هر رشته کنترل دستگاه sixel (برای مثال برای DECGCI) تخصیص دهد یا خیر. اگر true نباشد، ثباتهای رنگی فقط یک بار، هنگام بازنشانی ترمینال تخصیص مییابند، و تغییرات رنگ در هر گرافیکی بر تمام گرافیکها تأثیر میگذارد. مقدار پیشفرض “true” است.
- privateWidth (class PrivateWidth)
- به xterm اعلام میکند که آیا فرض کند کدهای موجود در Unicode PUA (ناحیه استفاده خصوصی) تکعرض هستند، یا خنثی (مطابق با تنظیم cjkWidth). مقدار پیشفرض “true” برای فرض تکعرض بودن است.
- quietGrab (class QuietGrab)
- تعیین میکند که آیا مکاننما هنگام دریافت انواع رویدادهای NotifyGrab و NotifyUngrab در طول تغییر فوکوس دوباره ترسیم شود یا خیر. مقدار پیشفرض “false” است.
- regisDefaultFont (class RegisDefaultFont)
- اگر xterm برای پشتیبانی از گرافیکهای ReGIS پیکربندی شده باشد، این منبع به xterm اعلام میکند در صورتی که دادههای ReGIS قلمی را مشخص نکرده باشند، از کدام قلم استفاده کند. هیچ مقدار پیشفرضی مشخص نشده است؛ xterm یک مشخصه قلم TrueType را مانند منبع faceName میپذیرد.
- اگر هیچ مقداری مشخص نشود، xterm یک تصویر بیتی (bitmap) رسم میکند که نشاندهنده نویسه ناموجود است.
- regisScreenSize (class RegisScreenSize)
- اگر xterm برای پشتیبانی از گرافیکهای ReGIS پیکربندی شده باشد، این منبع اندازه پیشفرض (بر حسب پیکسل) را برای این گرافیکها به xterm اعلام میکند، که همچنین فضای مختصات پیشفرض را به [0,0] (بالا-چپ) و [width,height] (پایین-راست) تنظیم میکند.
- برنامهای که از ReGIS استفاده میکند میتواند از گزینه “A” دستور “S” برای تنظیم فضای مختصات یا تغییر بخش آدرسپذیر صفحه استفاده کند.
- Xterm مقدار منبع ویژه “auto” را میپذیرد، که به xterm میگوید از منابع decGraphicsID و decTerminalID برای تنظیم اندازه پیشفرض بر اساس محدودیتهای ترمینال سختافزاری استفاده کند. این محدودیتها همانند منبع maxGraphicSize هستند.
- مقدار پیشفرض “auto” است.
- renderFont (class RenderFont)
- اگر xterm به همراه کتابخانه Xft ساخته شده باشد، این گزینه استفاده از منبع faceName را کنترل میکند. مقدار پیشفرض “default” است.
- مقادیر این منبع رشته هستند که پس از راهاندازی به عنوان مقادیر بولی ارزیابی میشوند.
- false
-
این قابلیت را غیرفعال کرده و از قلم عادی (bitmap) استفاده میکند. - true
-
با استفاده از قلم TrueType مشخصشده توسط تنظیمات منابع faceName و faceSize راهاندازی میشود. اگر مقداری برای faceName وجود نداشته باشد، این قابلیت را غیرفعال کرده و از قلم عادی (bitmap) استفاده میکند.
- پس از راهاندازی، همچنان میتوانید با استفاده از گزینه منوی “TrueType Fonts” بین قلمهای بیتی و TrueType جابهجا شوید.
- default
-
گزینه منوی “TrueType Fonts” را فعال میکند تا امکان جابهجایی در زمان اجرا به/از قلمهای TrueType فراهم شود. قلم اولیه استفادهشده بستگی به تنظیم بودن منبع faceName دارد:
- اگر منبع faceName تنظیم نشده باشد، با استفاده از قلم عادی (bitmap) شروع میکند. Xterm یک مقدار داخلی کامپایلشده جداگانه برای faceName برای این حالت خاص دارد. این مقدار معمولاً “mono” است.
- اگر منبع faceName
تنظیم شده
باشد،
آنگاه به
جای قلم
بیتی، با
استفاده از
قلم TrueType شروع
میکند. defaultOff
مدخل منوی “TrueType Fonts” را برای تغییر در زمان اجرا به/از قلمهای TrueType فعال میکند، اما اجازه میدهد در صورت مشخص نشدن منبع faceName، در ابتدا انتخابنشده باقی بماند.
- resizeByPixel (class ResizeByPixel)
- مقدار این گزینه را روی “true” بگذارید تا راهنماها (hints) به مدیر پنجره که تغییر اندازه بر اساس نویسه را به جای پیکسل درخواست میکنند، غیرفعال شوند.
- بسیاری از مدیرهای پنجره با استفاده از این راهنماها، هنگام تغییر اندازه بازخورد بصری اندازه پنجره را نشان میدهند. وقتی xterm را بیشینه (maximize) میکنید، این راهنماها را غیرفعال میکند تا به مدیر پنجره اجازه دهد استفاده بهتری از ردیفها یا ستونهای کسری ببرد. تنظیم این منبع باعث میشود این راهنماها همیشه غیرفعال باشند.
- پیشفرض “false” است.
- resizeCursorAdjust (class ResizeCursorAdjust)
- ردیابی موقعیت مکاننما را هنگام تغییر عرض ترمینال کنترل میکند. وقتی ترمینال کوچکتر میشود و مکاننما فراتر از عرض جدید قرار میگیرد، xterm مکاننما را به راستترین ستون محدود میکند. این منبع تعیین میکند که در صورت جابهجایی مکاننما در حالت کوچکشده و سپس بزرگ کردن مجدد ترمینال، چه اتفاقی بیفتد:
- true
- موقعیت ذخیرهشده مکاننما را با دلتای جابهجایی مکاننما تنظیم میکند. این کار موقعیت مکاننمای xterm را با درک پوسته (shell) از موقعیت مکاننما همگام نگه میدارد. دستورهای پوسته مانند Ctrl+A (رفتن به ابتدای خط) به درستی کار خواهند کرد. با این حال، ممکن است مکاننما هنگام بزرگ شدن ترمینال، از نظر بصری “بپرد”. این مقدار پیشفرض است.
- false
- با هر بار حرکت مکاننما، موقعیت ذخیرهشده مکاننما را پاک میکند. مکاننما هنگام بزرگ شدن ترمینال در موقعیت بصری خود باقی میماند. دستورهای پوسته ممکن است پس از تغییر اندازه و جابهجایی مکاننما رفتار غیرمنتظرهای داشته باشند.
- resizeGravity (class ResizeGravity)
- بر رفتار پنجره هنگام تغییر اندازه آن به حالت بلندتر یا کوتاهتر تأثیر میگذارد.
- NorthWest
- خط بالایی متن روی صفحه نباید جابهجا شود. اگر پنجره کوتاهتر شود، خطوط از پایین حذف میشوند؛ اگر پنجره بلندتر شود، خطوط خالی در پایین اضافه میشوند. این رفتار با X11R4 سازگار است.
- SouthWest
- خط پایینی متن روی صفحه نباید جابهجا شود (پیشفرض). اگر پنجره بلندتر شود، خطوط ذخیرهشده بیشتری به سمت پایین به درون صفحه پیمایش میشوند؛ اگر پنجره کوتاهتر شود، خطوط از بالای صفحه به بیرون پیمایش شده و خطوط ذخیرهشده بالایی حذف خواهند شد.
- retryInputMethod (class RetryInputMethod)
- به xterm میگوید در صورتی که کارساز روش ورودی (input-method server) پاسخگو نباشد، چند بار تلاش مجدد انجام دهد. این مسئله با مشکلاتی مانند نوع پیشویرایش (preedit) پشتیبانینشده و غیره تفاوت دارد. اگر پیکربندی X شما (و کتابخانههای آن) ناقص باشند، ممکن است با تلاشهای مجدد مواجه شوید. تنظیم این منبع روی صفر “0” تلاش مجدد را لغو میکند. پیشفرض “3” است.
- reverseVideo (class ReverseVideo)
- مشخص میکند که آیا ویدیوی معکوس (reverse video) باید شبیهسازی شود یا خیر. پیشفرض “false” است.
- ویدیوی معکوس در xterm جنبههای مختلفی دارد:
- گزینه خط فرمان -rv به کتابخانههای X میگوید که رنگهای پیشزمینه و پسزمینه را معکوس کنند. گزینههای خط فرمان Xterm مقادیر منابع را تنظیم میکنند. بهویژه، X Toolkit هنگام استفاده از گزینه -rv، منبع reverseVideo را تنظیم میکند.
- اگر کاربر از گزینههای خط فرمان -fg یا -bg نیز برای تنظیم رنگهای پیشزمینه و پسزمینه استفاده کرده باشد، xterm این گزینهها را مستقیماً نمیبیند. در عوض، مقادیر منابع را بررسی میکند تا گزینههای خط فرمان را بازسازی کند و مشخص نماید کدام رنگها پیشزمینه مدنظر کاربر هستند، و غیره. مقادیر واقعی آنها به عملکرد ویدیوی معکوس ارتباطی ندارد؛ برخی کاربران پیشفرضهای X (متن سیاه روی پسزمینه سفید) را ترجیح میدهند، و برخی دیگر متن سفید روی پسزمینه سیاه را ترجیح میدهند.
- پس از راهاندازی، کاربر میتواند وضعیت گزینه منوی “Enable Reverse Video” را تغییر دهد. این کار رنگهای فعلی پیشزمینه و پسزمینه ویجت VT100 را با یکدیگر عوض کرده و صفحه را دوباره ترسیم میکند. به دلیل سلسلهمراتب منابع X، منبع reverseVideo روی بخشهای بیشتری نسبت به ویجت VT100 اعمال میشود.
- برنامههایی که درون یک xterm اجرا میشوند نیز میتوانند از دنبالههای کنترلی برای فعالسازی حالت ویدیوی معکوس VT100 استفاده کنند. این دنبالهها از منبع reverseVideo و گزینه منو مستقل هستند. Xterm هنگام رسم متنی که تحت تأثیر این دنبالههای کنترلی است، رنگهای پیشزمینه و پسزمینه فعلی را با یکدیگر عوض میکند.
- دنبالههای کنترلی دیگر میتوانند رنگهای پیشزمینه و پسزمینه مورد استفاده را تغییر دهند:
- برنامهها همچنین میتوانند از دنبالههای کنترلی رنگ ANSI برای تنظیم رنگهای پیشزمینه و پسزمینه استفاده کنند.
- افزونههای کنترلهای رنگ ANSI (مانند ۱۶، ۸۸ یا ۲۵۶ رنگ) مشابه کنترل ANSI مدیریت میشوند.
- با استفاده از دنبالههای کنترلی دیگر (ویژگی “dynamic colors”)، یک برنامه میتواند رنگهای پیشزمینه و پسزمینه را تغییر دهد.
- reverseWrap (class ReverseWrap)
- مشخص میکند که آیا سطرشکنی معکوس (reverse-wraparound) باید فعال شود یا خیر. این مورد با حالت خصوصی ۴۵ در xterm مطابقت دارد. پیشفرض “false” است.
- rightScrollBar (class RightScrollBar)
- مشخص میکند که آیا نوار پیمایش باید به جای سمت چپ، در سمت راست نمایش داده شود یا خیر. پیشفرض “false” است.
- saveLines (class SaveLines)
- تعداد خطوطی را که هنگام فعال بودن نوار پیمایش فراتر از بالای صفحه ذخیره میشوند، مشخص میکند. پیشفرض “1024” است.
- scrollBar (class ScrollBar)
- مشخص میکند که آیا نوار پیمایش باید نمایش داده شود یا خیر. پیشفرض “false” است.
- scrollBarBorder (class ScrollBarBorder)
- عرض حاشیه نوار پیمایش را مشخص میکند. توجه داشته باشید که این حاشیه به گونهای رسم میشود که با حاشیه پنجره xterm همپوشانی داشته باشد. تغییر حاشیه نوار پیمایش تنها بر خط بین ویجت VT100 و نوار پیمایش تأثیر میگذارد. مقدار پیشفرض 1 است.
- scrollKey (class ScrollCond)
- مشخص میکند که آیا فشردن یک کلید باید بهطور خودکار باعث رفتن نوار پیمایش به پایینترین بخش ناحیه پیمایش شود یا خیر. این مورد با حالت خصوصی 1011 در xterm مطابقت دارد. پیشفرض “false” است.
- scrollLines (class ScrollLines)
- تعداد خطوطی را که کنشهای scroll-back و scroll-forw باید به عنوان پیشفرض استفاده کنند، مشخص میکند. مقدار پیشفرض 1 است.
- scrollTtyOutput (class ScrollCond)
- مشخص میکند که آیا فرستادن خروجی به ترمینال باید بهطور خودکار باعث رفتن نوار پیمایش به انتهای ناحیه پیمایش شود یا خیر. پیشفرض “true” است.
- selectToClipboard (class SelectToClipboard)
- به xterm میگوید که برای نشانههای SELECT در سازوکار گزینش، از PRIMARY استفاده کند یا CLIPBOARD. کنش set-select میتواند این مقدار را در زمان اجرا تغییر دهد، و به کاربر امکان میدهد با برنامههایی که فقط یکی از این سازوکارها را پشتیبانی میکنند کار کند. پیشفرض “false” است، که به آن میگوید از PRIMARY استفاده کند.
- shiftEscape (class ShiftEscape)
- Xterm از منبع translations استفاده میکند تا مشخص کند چگونه کنشهای انتخاب و رونوشت متن را با استفاده از اشارهگر (مانند ماوس) فراخوانی کند. همچنین یک پروتکل ماوس ارائه میدهد که میتواند توسط برنامههای در حال اجرا در xterm برای تشخیص کلیکهای دکمه ماوس استفاده شود..IP پروتکل موشواره باعث میشود xterm توالیهای فرار ویژهای را ارسال کند که به برنامه امکان میدهند تشخیص دهد آیا کلیدهای تغییردهنده (یعنی یک یا چند مورد از shift، control، alt و meta) استفاده شدهاند یا خیر.
- Xterm این پروتکل موشواره را از طریق تفسیر رویدادهای کلید و حرکت در توابعی که منبع translations برای انتخاب و کپی متن فراخوانی میکند، ارائه میدهد:
-
insert-selection select-end select-extend select-start start-extend
- هنگامی که پروتکل موشواره فعال است، xterm بیشتر رویدادهای کلیدهای موشواره را برای ارسال توالیهای فرار ویژه به برنامه رزرو میکند. Xterm معمولاً به شما اجازه میدهد با استفاده از کلید shift این پروتکل موشواره را موقتاً لغو (override) کنید تا کنشهای انتخاب و کپی قابل استفاده باشند.
- تنظیم منبع shiftEscape به شما امکان میدهد به xterm بگویید آیا از کلید shift به این روش استفاده کند یا خیر (یعنی لغو پروتکل موشواره). Xterm یک کلمهٔ کلیدی (بدون حساسیت به بزرگی و کوچکی حروف) یا عدد نشاندادهشده در پرانتز را میپذیرد:
- false (0)
- پروتکل موشواره هنگام استفاده از کلید shift توالیهای فرار ویژه ارسال نمیکند.
- true (1)
- پروتکل موشواره ممکن است هنگام استفاده از کلید shift توالیهای فرار ویژه ارسال کند.
- در هنگام راهاندازی، xterm مقدار translations را تجزیه و تحلیل میکند تا ببیند کدام دکمهها در مقیدسازیهای مرتبط با کلید (موشواره) برای انتخاب و کپی متن استفاده شدهاند. اگر کلید shift صراحتاً در مقیدسازی دکمهای ذکر نشده باشد، xterm به آن دکمه به همراه کلید shift اجازه میدهد تا پروتکل موشواره را لغو کند.
- always (2)
- پروتکل موشواره همیشه میتواند هنگام استفاده از کلید shift توالیهای فرار ویژه ارسال کند.
- never (3)
- پروتکل موشواره هرگز هنگام استفاده از کلید shift توالیهای فرار ویژه ارسال نخواهد کرد.
- Xterm یک توالی کنترلی را تفسیر میکند که میتواند این تنظیم را بین “true” و “false” تغییر دهد. پیشفرض “false” است.
- shiftFonts (class ShiftFonts)
- مشخص میکند که آیا کنشهای larger-vt-font() و smaller-vt-font() که به طور معمول به کلیدهای KP_Add و KP_Subtract همراه با Shift مقید شدهاند، فعال شوند یا خیر. پیشفرض “true” است.
- showBlinkAsBold (class ShowBlinkAsBold)
- به xterm میگوید که آیا متن دارای ویژگی چشمکزن را همانند پررنگ (bold) نمایش دهد یا خیر. اگر xterm برای پشتیبانی از متن چشمکزن پیکربندی نشده باشد، مقدار پیشفرض “true” خواهد بود که متناظر با نسخههای قدیمیتر xterm است؛ در غیر این صورت پیشفرض “false” است.
- showMissingGlyphs (class ShowMissingGlyphs)
- به xterm میگوید که آیا کادری را برای مشخص کردن مکانهایی که در آن نویسهای استفاده شده ولی قلم فاقد گلیف (نماد گرافیکی) آن است، نمایش دهد یا خیر. پیشفرض “true” است.
- showWrapMarks (class ShowWrapMarks)
- برای اشکالزدایی xterm و برنامههایی که ممکن است با نوشتن متن در حاشیهٔ سمت راست، پرچم سطر شکستهشده (wrapped-line flag) را دستکاری کنند، نشانی را در حاشیهٔ داخلی سمت راست پنجره نمایش میدهد. این نشان مشخص میکند کدام سطرها این پرچم را تنظیم کردهاند.
- signalInhibit (class SignalInhibit)
- مشخص میکند که آیا گزینههای منوی Main Options برای ارسال سیگنالها به xterm باید غیرفعال شوند یا خیر. پیشفرض “false” است.
- sixelScrolling (class SixelScrolling)
- اگر xterm برای پشتیبانی از نگارههای SIXEL پیکربندی شده باشد، این منبع تعیین میکند که آیا در صورت فراتر رفتن سیکسلها از پایینترین سطر پنجره، صفحه سطر به سطر به بالا پیمایش شود یا خیر. پیشفرض “true” است که پیمایش را فعال میکند.
- پیمایش Sixel برعکس «حالت نمایش سیکسل دک» (DEC Sixel Display Mode یا DECSDM) است: هنگامی که یکی فعال باشد، دیگری غیرفعال است.
- sixelScrollsRight (class SixelScrollsRight)
- اگر xterm برای پشتیبانی از نگارههای SIXEL پیکربندی شده باشد، این منبع تعیین میکند که آیا برای نمایان نگه داشتن موقعیت کنونی در صورت نیاز به سمت راست پیمایش انجام شود یا اینکه ترسیم در سمت راست بریده (truncate) شود. پیشفرض “false” است که پیمایش را غیرفعال میکند.
- tekGeometry (class Geometry)
- اندازه و موقعیت ترجیحی پنجرهٔ Tektronix را مشخص میکند. هیچ پیشفرضی برای این منبع وجود ندارد.
- tekInhibit (class TekInhibit)
- مشخص میکند که آیا توالی فرار برای ورود به حالت Tektronix باید نادیده گرفته شود یا خیر. پیشفرض “false” است.
- tekSmall (class TekSmall)
- مشخص میکند که در صورت عدم تعیین ابعاد و هندسهٔ صریح، پنجرهٔ حالت Tektronix در کوچکترین اندازهٔ خود شروع به کار کند یا خیر. این گزینه هنگام اجرای xterm روی نمایشگرهای با صفحهٔ کوچک مفید است. پیشفرض “false” است.
- tekStartup (class TekStartup)
- مشخص میکند که آیا xterm باید در حالت Tektronix راهاندازی شود یا خیر. پیشفرض “false” است.
- tiXtraScroll (class TiXtraScroll)
- مشخص میکند که آیا xterm باید هنگام پردازش رشتههای termcap مربوط به ti یا te، یعنی حالتهای اختصاصی 47، 1047 یا 1049، به یک صفحهٔ جدید پیمایش کند یا خیر. این گزینه تنها زمانی مؤثر است که titeInhibit برابر با “true” باشد، چرا که هدف این گزینه ارائه تصویری از صفحهٔ نمایش برنامهٔ تمامصفحه در تاریخچه پیمایش (scrollback) بدون پاک کردن متنی است که پیش از راهاندازی برنامه نمایش داده شده بود.
- Xterm یک کلمهٔ کلیدی (بدون حساسیت به بزرگی و کوچکی حروف) یا عدد نشاندادهشده در پرانتز را میپذیرد:
- false (0)
- چیزی به تاریخچه پیمایش اضافه نمیشود.
- true (1)
- صفحهٔ جاری به تاریخچه پیمایش اضافه میشود.
- trim (2)
- صفحهٔ جاری به تاریخچه پیمایش اضافه میشود، اما خطوط خالیِ متوالی حذف میشوند (به یک خط خالی کاهش مییابند).
- پیشفرض این منبع “false” است.
- titeInhibit (class TiteInhibit)
- در اصل مشخص میکرد که آیا xterm باید مدخلهای termcap مربوط به ti و te (که برای جابهجایی میان صفحههای متناوب در راهاندازی بسیاری از برنامههای صفحهمحور استفاده میشوند) را از رشتهٔ TERMCAP حذف کند یا خیر.
- امروزه TERMCAP بهندرت استفاده میشود، اما xterm از این ویژگی در سیستمهای مدرن پشتیبانی میکند:
- در صورت تنظیم، xterm توالی فرار مربوط به جابهجایی به صفحهٔ جایگزین را نیز نادیده میگیرد.
- Xterm به شکل دیگری از terminfo پشتیبانی میکند؛ با پشتیبانی از توالیهای کنترلی ترکیبی (که با عنوان حالتهای اختصاصی نیز شناخته میشوند) 1047، 1048 و 1049 که اثری مشابه توالی کنترلی اصلی 47 دارند.
- پیشفرض این منبع “false” است.
- titleModes (class TitleModes)
- به xterm میگوید که آیا برچسبهای پنجره و آیکون را در ISO-8859-1 (پیشفرض) یا UTF-8 بپذیرد یا برگرداند. هر کدام میتوانند با کدگذاری شانزدهشانزدهی (hexadecimal) مشخص شوند:
- عنوانهای UTF-8 نیاز به برخورد ویژهای دارند، زیرا ممکن است حاوی بایتهایی باشند که با نویسههای کنترلی اشتباه گرفته شوند. کدگذاری شانزدهشانزدهی برای رفع این احتمال پشتیبانی شده است.
- به عنوان یک راهکار جایگزین، میتوانید از منبع allowC1Printable استفاده کنید که تجزیهٔ نویسههای کنترلی مربوطه را توسط xterm متوقف میسازد (و در نتیجه، با آن بایتها به عنوان داده رفتار میکند). پیشفرض این منبع “0” است.
- هر بیت (بیت “0” برابر ۱، بیت “1” برابر ۲، و غیره) با یکی از پارامترهای تنظیمشده توسط توالی کنترلیِ حالتهای عنوان (title modes) مطابقت دارد:
- 0
- تنظیم برچسبهای پنجره/شمایل با استفاده از مبنای شانزده (hexadecimal)
- 1
- پرسوجوی برچسبهای پنجره/شمایل با استفاده از مبنای شانزده
- 2
- تنظیم برچسبهای پنجره/شمایل با استفاده از UTF-8 (اثری مشابه منبع utf8Title دارد).
- 3
- پرسوجوی برچسبهای پنجره/شمایل با استفاده از UTF-8
- translations (class Translations)
- اتصالهای (bindings) کلید و دکمه را برای منوها، گزینشها، “رشتههای برنامهریزیشده” و غیره تعیین میکند. منبع translations، که بخش عمدهای از قابلیت پیکربندی xterm را فراهم میکند، از ویژگیهای کتابخانهٔ X Toolkit Intrinsics (معروف به Xt) است. بخش Actions را ببینید.
- trimSelection (class TrimSelection)
- اگر highlightSelection را تنظیم کنید، میتوانید متن انتخابشده را به همراه هرگونه فاصلهٔ انتهایی ببینید. پاک کردن صفحه (یا یک خط)، آن را به حالتی بدون فاصله بازنشانی میکند. برخی خطوط ممکن است هنگام نوشته شدن توسط یک برنامه روی صفحه، حاوی فاصلههای انتهایی باشند. با این حال، ممکن است مایل نباشید خطوط را همراه با فاصلههای انتهایی جایگذاری (paste) کنید. اگر این منبع true باشد، xterm فاصلههای انتهایی را از متن انتخابشده حذف (trim) خواهد کرد. این کار بر فاصلههایی که منجر به شکستن خط (wrapped line) میشوند تأثیری ندارد، و نویسهٔ خط جدید (newline) انتهایی را نیز از گزینش شما حذف نخواهد کرد. پیشفرض “false” است.
- underLine (class UnderLine)
- این گزینه مشخص میکند که آیا متن دارای ویژگی زیرخط (underline) باید زیرخطدار باشد یا خیر. زمانی که از رنگ برای ویژگی زیرخط استفاده میشود، ممکن است غیرفعال کردن کشیدن خط زیر متن مطلوب باشد. پیشفرض “true” است.
- useBorderClipping (class UseBorderClipping)
- به xterm اعلام میکند که آیا در صورت false بودن useClipping، برش (clipping) اعمال شود یا خیر. برخلاف useClipping، این منبع صرفاً متن را محدود میکند تا در داخل کادرهای پنجره باقی بماند، برای مثال، به عنوان بهبودی برای راهکارِ scaleHeight. پیشفرض “false” است.
- useClipping (class UseClipping)
- به xterm اعلام میکند که آیا از برش (clipping) برای جلوگیری از ایجاد نقطهها در خارج از ناحیهٔ رسم متن استفاده کند یا خیر. در ابتدا به عنوان راهکاری برای جلوههای روچاپ (overstriking) استفاده میشد، اما برای کار با برخی فونتهای با اندازهٔ نادرست نیز مورد نیاز است. پیشفرض “true” است.
- utf8 (class Utf8)
- مشخص میکند که آیا xterm در حالت UTF-8 اجرا شود یا خیر. اگر این منبع را تنظیم کنید، xterm همچنین منبع wideChars را به عنوان یک اثر جانبی تنظیم میکند. این منبع را میتوان از طریق گزینهٔ منوی “UTF-8 Encoding” تنظیم کرد. پیشفرض “default” است.
- Xterm یک کلمهٔ کلیدی (بدون در نظر گرفتن بزرگی و کوچکی حروف) یا عدد نشاندادهشده در پرانتز را میپذیرد:
- false (0)
- حالت UTF-8 در ابتدا خاموش است. گزینهٔ خط فرمان +u8 این منبع را روی این مقدار تنظیم میکند. توالیهای گریز برای روشن/خاموش کردن حالت UTF-8 مجاز هستند.
- true (1)
- حالت UTF-8 در ابتدا روشن است. توالیهای گریز برای روشن/خاموش کردن حالت UTF-8 مجاز هستند.
- always (2)
- گزینهٔ خط فرمان -u8 این منبع را روی این مقدار تنظیم میکند. توالیهای گریز برای روشن/خاموش کردن حالت UTF-8 نادیده گرفته میشوند.
- default (3)
- این مقدار پیشفرض منبع است. در هنگام مقداردهی اولیه، بسته به اینکه منبع locale تنظیم شده باشد یا خیر، به false (0) یا always (2) تغییر مییابد. برای توضیحات بیشتر دربارهٔ محلیهای (locales) غیر UTF-8، به منبع locale مراجعه کنید.
- اگر میخواهید مقدار utf8 را تنظیم کنید، باید در این محدوده باشد. سایر مقادیر غیرصفر مشابه “1” در نظر گرفته میشوند؛ یعنی حالت UTF-8 در ابتدا روشن است، و توالیهای گریز برای روشن/خاموش کردن حالت UTF-8 مجاز هستند.
- utf8Fonts (class Utf8Fonts)
- توضیحات منبع locale را ببینید. این گزینه مشخص میکند که آیا xterm از فونتهای UTF-8 مشخصشده از طریق الگوهای منبع مانند “*vt100.utf8Fonts.font” استفاده کند یا فونتهای معمولی (ISO-8859-1) از طریق الگوهایی مانند “*vt100.font”. این منبع را میتوان از طریق گزینهٔ منوی “UTF-8 Fonts” تنظیم کرد. پیشفرض “default” است.
- Xterm یک کلمهٔ کلیدی (بدون در نظر گرفتن بزرگی و کوچکی حروف) یا عدد نشاندادهشده در پرانتز را میپذیرد:
- false (0)
- از فونتهای ISO-8859-1 استفاده شود. گزینهٔ منو فعال است، که اجازه میدهد انتخاب فونتها در زمان اجرا تغییر کند.
- true (1)
- از فونتهای UTF-8 استفاده شود. گزینهٔ منو فعال است، که اجازه میدهد انتخاب فونتها در زمان اجرا تغییر کند.
- always (2)
- همیشه از فونتهای UTF-8 استفاده شود. این حالت همچنین گزینهٔ منو را غیرفعال میکند.
- default (3)
- هنگام راهاندازی، این منبع بسته به مقدار مؤثر منبع utf8، روی true یا false تنظیم میشود.
- utf8Latin1 (class Utf8Latin1)
- اگر true باشد، در صورتی که یک فونت ISO-10646-1 از طریق گزینهٔ -fw یا مقدار منبع متناظر با آن ارائه شده باشد، اجازه میدهد تا با یک فونت normal بر پایهٔ ISO-8859-1 ترکیب شود. پیشفرض “false” است.
- utf8SelectTypes (class Utf8SelectTypes)
- فهرست هدفِ گزینش پیشفرض xterm را (بخش SELECT/PASTE را ببینید) برای گزینشها در حالت نویسههای عریض (UTF-8) بازنویسی (override) میکند. پیشفرض یک رشتهٔ خالی، یعنی “” است که هیچچیزی را بازنویسی نمیکند.
- utf8Title (class Utf8Title)
- برنامهها میتوانند با نوشتن یک توالی کنترلی، عنوان xterm را تنظیم کنند. به طور معمول این توالی کنترلی از قرارداد VT220 پیروی میکند، که رشته را در ISO-8859-1 کدگذاری کرده و یک پایاندهندهٔ رشتهٔ ۸-بیتی را مجاز میشمارد. اگر xterm در یک محلیِ (locale) UTF-8 راهاندازی شود، رشتهٔ ISO-8859-1 را به UTF-8 ترجمه میکند تا با کتابخانههای X که فرض میکنند رشته UTF-8 است، کار کند.
- با این حال، ممکن است برخی کاربران تمایل داشته باشند یک رشتهٔ عنوان کدگذاریشده در UTF-8 بنویسند. مدیر پنجره (window manager) مسئول رسم عنوانهای پنجره است. برخی از مدیران پنجره (نه همهٔ آنها) از کدگذاری UTF-8 عنوانهای پنجره پشتیبانی میکنند. این منبع را روی “true” قرار دهید تا رشتههای عنوان کدگذاریشده با UTF-8 با استفاده از ویژگیهای EWMH نیز تنظیم شوند.
- این ویژگی به صورت یک گزینه در منو در دسترس است، زیرا به برنامههای خاصی که درون xterm اجرا میکنید مربوط میشود. همچنین میتوانید از یک توالی کنترلی برای تنظیم پرچمی معادل استفاده کنید (بحث “Title Modes” را در Xterm Control Sequences ببینید)، که با استفاده از منبع titleModes نیز قابل تنظیم است.
- Xterm یک کلمهٔ کلیدی (بدون در نظر گرفتن بزرگی و کوچکی حروف) یا عدد نشاندادهشده در پرانتز را میپذیرد:
- false (0)
- تنها رشتههای عنوان ISO-8859-1 تنظیم شوند، مثلاً با استفاده از ویژگی STRING در ICCCM WM_NAME. گزینهٔ منو فعال است، که اجازه میدهد انتخاب رشتههای عنوان در زمان اجرا تغییر کند.
- true (1)
- هم EWMH (رشتههای UTF-8) و هم ICCCM WM_NAME و غیره تنظیم شوند. گزینهٔ منو فعال است، که اجازه میدهد این انتخاب در زمان اجرا تغییر کند.
- always (2)
- همیشه هم EWMH (رشتههای UTF-8) و هم ICCCM WM_NAME و غیره تنظیم شوند. این حالت همچنین گزینهٔ منو را غیرفعال میکند..TP default (3) در زمان راهاندازی، این منبع بر اساس مقدار مؤثر منبع utf8 روی true یا false تنظیم میشود.
- پیشفرض “default” است.
- utf8Weblike (class Utf8Weblike)
- ارائه یک طرح مدیریت خطای جایگزین برای UTF-8 با ساختار نادرست همانطور که در یک سند W3C توصیه شده است. استاندارد Unicode این مورد را برای انطباق الزامی نکرده است. اطلاعات بیشتر را میتوانید در اینجا بیابید:
- پیشفرض “false” است.
- veryBoldColors (class VeryBoldColors)
- مشخص میکند که آیا ویژگیهای ویدیویی با رنگهای تعیینشده توسط colorBD، colorBL، colorIT، colorRV و colorUL ترکیب شوند یا خیر. مقدار این منبع حاصلجمع مقادیر هر ویژگی است:
1 برای reverse، 2 برای underline، 4 برای bold، 8 برای blink، و 512 برای italic
- پیشفرض “0” است.
- visualBell (class VisualBell)
- مشخص میکند که آیا هنگام دریافت Control-G باید زنگ بصری (یعنی چشمکزدن صفحه) به جای زنگ صوتی استفاده شود یا خیر. پیشفرض “false” است که به xterm میگوید از زنگ صوتی استفاده کند.
- visualBellDelay (class VisualBellDelay)
- میزان درنگ بر حسب میلیثانیه هنگام نمایش زنگ بصری. پیشفرض 100 است. اگر روی صفر تنظیم شود، هیچ زنگ بصری نمایش داده نمیشود. این گزینه برای نمایشگرهای بسیار کُند، مانند نمایشگر LCD در لپتاپ، مفید است.
- visualBellLine (class VisualBellLine)
- مشخص میکند که هنگام نمایش زنگ بصری، به جای چشمک زدن کل صفحه، تنها سطر جاری چشمک بزند یا خیر: پیشفرض “false” است که به xterm میگوید تمام صفحه چشمک بزند.
- vt100Graphics (class VT100Graphics)
- مشخص میکند که آیا xterm در حالت UTF-8 دنبالههای گریز نویسه گرافیکی VT100 را تفسیر کند یا خیر. این قابلیت برای صفحههای کُد (به عنوان مثال برای VT320 و VT520) و مجموعههای نویسه جایگزین ملی (VT220 به بالا) نیز اعمال میشود، اما برای US-ASCII (مجموعه نویسه انتخابشده اولیه) اعمال نمیگردد تا از تداخل با UTF-8 جلوگیری شود. پیشفرض “true” است تا از برنامههای کاربردی موروثی گوناگون پشتیبانی شود.
- wideBoldFont (class WideBoldFont)
- این گزینه قلم مورد استفاده برای نمایش متن عریض برجسته (bold) را مشخص میکند. بهطور پیشفرض، تلاش میکند از قلمی با عرض دو برابر قلم مورد استفاده برای رسم متن برجسته استفاده کند. اگر هیچ قلمی با پهنای دو برابر یافت نشود، با کشیدن قلم برجسته، کمبود آن را جبران میکند.
- wideChars (class WideChars)
- مشخص میکند که آیا xterm باید به دنبالههای کنترلی که نویسههای ۱۶-بیتی را پردازش میکنند پاسخ دهد یا خیر. پیشفرض “false” است.
- wideFont (class WideFont)
- این گزینه قلم مورد استفاده برای نمایش متن عریض را مشخص میکند. بهطور پیشفرض، تلاش میکند از قلمی با عرض دو برابر قلم مورد استفاده برای رسم متن عادی استفاده کند. اگر هیچ قلمی با پهنای دو برابر یافت نشود، با کشیدن قلم عادی، کمبود آن را جبران میکند.
- xftMaxGlyphMemory (class XftMaxGlyphMemory)
- تعیین محدودیت کتابخانه Xft برای حافظه گلیف (معمولاً 4Mb). هنگامی که به این حد برسد، گلیفهای “بهطور تصادفی انتخابشده” را دور میریزد تا فضایی برای گلیفهای جدید باز کند. پیشفرض “0” است تا از مقدار پیشفرض Xft استفاده شود.
- xftMaxUnrefFonts (class XftMaxUnrefFonts)
- تعیین محدودیت کتابخانه Xft برای قلمهایی که بارگذاری شدهاند (معمولاً 16)، برای مثال الگوهای منطبق برای جستجوهای fallback، اما در عمل استفاده نمیشوند. پیشفرض “0” است تا از مقدار پیشفرض Xft استفاده شود.
- xftTrackMemUsage (class XftTrackMemUsage)
- ردیابی مصرف حافظه گلیف را فعال میکند (معرفیشده در Xft 2.3.5)، که به Xft امکان میدهد هنگام کمبود حافظه، دادههای منسوخ را بهطور کارآمد دور بریزد. پیشفرض “false” است.
- ximFont (class XimFont)
- این گزینه قلم مورد استفاده برای نمایش رشته پیشویرایش (preedit) را در روش ورودی “OverTheSpot” مشخص میکند.
- در نوع پیشویرایش “OverTheSpot”، رشته پیشویرایش (پیش از تبدیل) در موقعیت مکاننما نمایش داده میشود. نمایش رشته پیشویرایش بر عهده سرور XIM است. کلاینت XIM باید سرور XIM را از موقعیت مکاننما مطلع سازد. برای بهترین نتیجه، رشته پیشویرایش باید با یک قلم مناسب نمایش یابد. از این رو، xterm قلم مناسب را به سرور XIM اطلاع میدهد. قلم از طریق یک "fontset" تأمین میشود که مقدار پیشفرض آن “*” است. این مقدار با هر قلمی مطابقت دارد و کتابخانه X بهطور خودکار قلمهایی با مجموعه نویسه مناسب را برمیگزیند. منبع ximFont برای لغو این تنظیم پیشفرض قلم در نظر گرفته شده است. منابع زیر به عنوان بخشی از ویجت tek4014 (کلاس Tek4014) مشخص میشوند. این موارد با الگوهایی مانند “XTerm.tek4014.NAME” مشخص میگردند:
- font2 (class Font)
- قلم شماره ۲ را برای استفاده در پنجره Tektronix مشخص میکند.
- font3 (class Font)
- قلم شماره ۳ را برای استفاده در پنجره Tektronix مشخص میکند.
- fontLarge (class Font)
- قلم بزرگ را برای استفاده در پنجره Tektronix مشخص میکند.
- fontSmall (class Font)
- قلم کوچک را برای استفاده در پنجره Tektronix مشخص میکند.
- ginTerminator (class GinTerminator)
- مشخص میکند چه نویسه(هایی) باید پس از یک گزارش GIN یا گزارش وضعیت قرار گیرند. حالتهای ممکن عبارتند از “none” که هیچ نویسه پایانی ارسال نمیکند، “CRonly” که نویسه CR را ارسال میکند، و “CR&EOT” که هر دو نویسه CR و EOT را ارسال مینماید. پیشفرض “none” است.
- height (class Height)
- ارتفاع پنجره Tektronix را بر حسب پیکسل مشخص میکند.
- initialFont (class InitialFont)
- مشخص میکند در ابتدا از کدامیک از چهار قلم Tektronix استفاده شود. مقادیر آن با مقادیر کنش set-tek-text یکسان است. پیشفرض “large” است.
- width (class Width)
- عرض پنجره Tektronix را بر حسب پیکسل مشخص میکند.
منابع منو (Menu Resources)
منابعی که میتوان برای منوهای گوناگون تعیین کرد در مستندات ویجت SimpleMenu مربوط به Athena شرح داده شدهاند. نام و کلاسهای مدخلها در هر یک از منوها در زیر فهرست شدهاند. منابع نامگذاریشده به صورت “lineN” که در آنها N یک عدد است، جداکنندههایی با کلاس SmeLine هستند.
همانند تمام ویجتهای مبتنی بر منابع X، برچسبهای ذکر شده پیشفرضهای مرسوم برنامه هستند.
منوی Main Options (نام ویجت mainMenu) دارای مدخلهای زیر است:
- toolbar (class SmeBSB)
- این مدخل کنش set-toolbar(toggle) را فراخوانی میکند.
- securekbd (class SmeBSB)
- این مدخل کنش secure() را فراخوانی میکند.
- allowsends (class SmeBSB)
- این مدخل کنش allow-send-events(toggle) را فراخوانی میکند.
- redraw (class SmeBSB)
- این مدخل کنش redraw() را فراخوانی میکند.
- logging (class SmeBSB)
- این مدخل کنش logging(toggle) را فراخوانی میکند.
- print-immediate (class SmeBSB)
- این مدخل کنش print-immediate() را فراخوانی میکند.
- print-on-error (class SmeBSB)
- این مدخل کنش print-on-error() را فراخوانی میکند.
- print (class SmeBSB)
- این مدخل کنش print() را فراخوانی میکند.
- print-redir (class SmeBSB)
- این مدخل کنش print-redir() را فراخوانی میکند.
- dump-html (class SmeBSB)
- این مدخل کنش dump-html() را فراخوانی میکند.
- dump-svg (class SmeBSB)
- این مدخل کنش dump-svg() را فراخوانی میکند.
- 8-bit-control (class SmeBSB)
- این مدخل کنش set-8-bit-control(toggle) را فراخوانی میکند.
- backarrow key (class SmeBSB)
- این مدخل کنش set-backarrow(toggle) را فراخوانی میکند.
- num-lock (class SmeBSB)
- این مدخل کنش set-num-lock(toggle) را فراخوانی میکند.
- alt-esc (class SmeBSB)
- این مدخل کنش alt-sends-escape(toggle) را فراخوانی میکند.
- meta-esc (class SmeBSB)
- این مدخل کنش meta-sends-escape(toggle) را فراخوانی میکند.
- delete-is-del (class SmeBSB)
- این مدخل کنش delete-is-del(toggle) را فراخوانی میکند.
- oldFunctionKeys (class SmeBSB)
- این مدخل کنش set-old-function-keys(toggle) را فراخوانی میکند.
- hpFunctionKeys (class SmeBSB)
- این مدخل کنش set-hp-function-keys(toggle) را فراخوانی میکند.
- scoFunctionKeys (class SmeBSB)
- این مدخل کنش set-sco-function-keys(toggle) را فراخوانی میکند.
- sunFunctionKeys (class SmeBSB)
- این مدخل کنش set-sun-function-keys(toggle) را فراخوانی میکند.
- sunKeyboard (class SmeBSB)
- این مدخل کنش sunKeyboard(toggle) را فراخوانی میکند.
- suspend (class SmeBSB)
- این مدخل در سیستمهایی که از کنترل کار (job control) پشتیبانی میکنند، کنش send-signal(tstp) را فراخوانی میکند.
- continue (class SmeBSB)
- این مدخل در سیستمهایی که از کنترل کار (job control) پشتیبانی میکنند، کنش send-signal(cont) را فراخوانی میکند.
- interrupt (class SmeBSB)
- این مدخل کنش send-signal(int) را فراخوانی میکند.
- hangup (class SmeBSB)
- این مدخل کنش send-signal(hup) را فراخوانی میکند.
- terminate (class SmeBSB)
- این مدخل کنش send-signal(term) را فراخوانی میکند.
- kill (class SmeBSB)
- این مدخل کنش send-signal(kill) را فراخوانی میکند.
- quit (class SmeBSB)
- این مدخل کنش quit() را فراخوانی میکند.
منوی VT Options (نام ویجت vtMenu) دارای مدخلهای زیر است:
- scrollbar (class SmeBSB)
- این مدخل کنش set-scrollbar(toggle) را فراخوانی میکند.
- jumpscroll (class SmeBSB)
- این مدخل کنش set-jumpscroll(toggle) را فراخوانی میکند.
- reversevideo (class SmeBSB)
- این مدخل کنش set-reverse-video(toggle) را فراخوانی میکند.
- autowrap (class SmeBSB)
- این مدخل کنش set-autowrap(toggle) را فراخوانی میکند.
- reversewrap (class SmeBSB)
- این مدخل کنش set-reversewrap(toggle) را فراخوانی میکند.
- autolinefeed (class SmeBSB)
- این مدخل کنش set-autolinefeed(toggle) را فراخوانی میکند.
- appcursor (class SmeBSB)
- این مدخل کنش set-appcursor(toggle) را فراخوانی میکند.
- appkeypad (class SmeBSB)
- این مدخل کنش set-appkeypad(toggle) را فراخوانی میکند.
- scrollkey (class SmeBSB)
- این مدخل کنش set-scroll-on-key(toggle) را فراخوانی میکند.
- scrollttyoutput (class SmeBSB)
- این مدخل کنش set-scroll-on-tty-output(toggle) را فراخوانی میکند.
- allow132 (class SmeBSB)
- این مدخل کنش set-allow132(toggle) را فراخوانی میکند.
- cursesemul (class SmeBSB)
- این مدخل کنش set-cursesemul(toggle) را فراخوانی میکند..TP 8 keepSelection (class SmeBSB) این مدخل کنش set-keep-selection(toggle) را فراخوانی میکند.
- selectToClipboard (class SmeBSB)
- این مدخل کنش set-keep-clipboard(toggle) را فراخوانی میکند.
- visualbell (class SmeBSB)
- این مدخل کنش set-visual-bell(toggle) را فراخوانی میکند.
- bellIsUrgent (class SmeBSB)
- این مدخل کنش set-bellIsUrgent(toggle) را فراخوانی میکند.
- poponbell (class SmeBSB)
- این مدخل کنش set-pop-on-bell(toggle) را فراخوانی میکند.
- cursorblink (class SmeBSB)
- این مدخل کنش set-cursorblink(toggle) را فراخوانی میکند.
- titeInhibit (class SmeBSB)
- این مدخل کنش set-titeInhibit(toggle) را فراخوانی میکند.
- activeicon (class SmeBSB)
- این مدخل در صورتی که این ویژگی در xterm کامپایل شده باشد، آیکونهای فعال را روشن و خاموش میکند. این ویژگی تنها زمانی فعال میشود که xterm با گزینهٔ خط فرمان +ai اجرا شده باشد یا منبع activeIcon روی “true” تنظیم شده باشد.
- softreset (class SmeBSB)
- این مدخل کنش soft-reset() را فراخوانی میکند.
- hardreset (class SmeBSB)
- این مدخل کنش hard-reset() را فراخوانی میکند.
- clearsavedlines (class SmeBSB)
- این مدخل کنش clear-saved-lines() را فراخوانی میکند.
- tekshow (class SmeBSB)
- این مدخل کنش set-visibility(tek,toggle) را فراخوانی میکند.
- tekmode (class SmeBSB)
- این مدخل کنش set-terminal-type(tek) را فراخوانی میکند.
- vthide (class SmeBSB)
- این مدخل کنش set-visibility(vt,off) را فراخوانی میکند.
- altscreen (class SmeBSB)
- این مدخل کنش set-altscreen(toggle) را فراخوانی میکند.
- sixelScrolling (class SmeBSB)
- این مدخل کنش set-sixel-scrolling(toggle) را فراخوانی میکند.
- privateColorRegisters (class SmeBSB)
- این مدخل کنش set-private-colors(toggle) را فراخوانی میکند.
منوی VT Fonts (با نام ویجت fontMenu) شامل مدخلهای زیر است:
- fontdefault (class SmeBSB)
- این مدخل کنش set-vt-font(d) را فراخوانی کرده و فونت را با استفاده از منبع font (پیشفرض) تنظیم میکند؛ مانند “Default” در منو.
- font1 (class SmeBSB)
- این مدخل کنش set-vt-font(1) را فراخوانی کرده و فونت را با استفاده از منبع font1 تنظیم میکند؛ مانند “Unreadable” در منو.
- font2 (class SmeBSB)
- این مدخل کنش set-vt-font(2) را فراخوانی کرده و فونت را با استفاده از منبع font2 تنظیم میکند؛ مانند “Tiny” در منو.
- font3 (class SmeBSB)
- این مدخل کنش set-vt-font(3) را فراخوانی کرده و فونت را با استفاده از منبع font3 تنظیم میکند؛ مانند “Small” در منو.
- font4 (class SmeBSB)
- این مدخل کنش set-vt-font(4) را فراخوانی کرده و فونت را با استفاده از منبع font4 تنظیم میکند؛ مانند “Medium” در منو.
- font5 (class SmeBSB)
- این مدخل کنش set-vt-font(5) را فراخوانی کرده و فونت را با استفاده از منبع font5 تنظیم میکند؛ مانند “Large” در منو.
- font6 (class SmeBSB)
- این مدخل کنش set-vt-font(6) را فراخوانی کرده و فونت را با استفاده از منبع font6 تنظیم میکند؛ مانند “Huge” در منو.
- font7 (class SmeBSB)
- این مدخل کنش set-vt-font(7) را فراخوانی کرده و فونت را با استفاده از منبع font7 تنظیم میکند؛ مانند “Enormous” در منو.
- fontescape (class SmeBSB)
- این مدخل کنش set-vt-font(e) را فراخوانی میکند.
- fontsel (class SmeBSB)
- این مدخل کنش set-vt-font(s) را فراخوانی میکند.
- allow-bold-fonts (class SmeBSB)
- این مدخل کنش allow-bold-fonts(toggle) را فراخوانی میکند.
- font-linedrawing (class SmeBSB)
- این مدخل کنش set-font-linedrawing(s) را فراخوانی میکند.
- font-packed (class SmeBSB)
- این مدخل کنش set-font-packed(s) را فراخوانی میکند.
- font-doublesize (class SmeBSB)
- این مدخل کنش set-font-doublesize(s) را فراخوانی میکند.
- render-font (class SmeBSB)
- این مدخل کنش set-render-font(s) را فراخوانی میکند.
- utf8-fonts (class SmeBSB)
- این مدخل کنش set-utf8-fonts(s) را فراخوانی میکند.
- utf8-mode (class SmeBSB)
- این مدخل کنش set-utf8-mode(s) را فراخوانی میکند.
- utf8-title (class SmeBSB)
- این مدخل کنش set-utf8-title(s) را فراخوانی میکند.
- allow-color-ops (class SmeBSB)
- این مدخل کنش allow-color-ops(toggle) را فراخوانی میکند.
- allow-font-ops (class SmeBSB)
- این مدخل کنش allow-font-ops(toggle) را فراخوانی میکند.
- allow-mouse-ops (class SmeBSB)
- این مدخل کنش allow-mouse-ops(toggle) را فراخوانی میکند.
- allow-tcap-ops (class SmeBSB)
- این مدخل کنش allow-tcap-ops(toggle) را فراخوانی میکند.
- allow-title-ops (class SmeBSB)
- این مدخل کنش allow-title-ops(toggle) را فراخوانی میکند.
- allow-window-ops (class SmeBSB)
- این مدخل کنش allow-window-ops(toggle) را فراخوانی میکند.
منوی Tek Options (با نام ویجت tekMenu) شامل مدخلهای زیر است:
- tektextlarge (class SmeBSB)
- این مدخل کنش set-tek-text(large) را فراخوانی میکند.
- tektext2 (class SmeBSB)
- این مدخل کنش set-tek-text(2) را فراخوانی میکند.
- tektext3 (class SmeBSB)
- این مدخل کنش set-tek-text(3) را فراخوانی میکند.
- tektextsmall (class SmeBSB)
- این مدخل کنش set-tek-text(small) را فراخوانی میکند.
- tekpage (class SmeBSB)
- این مدخل کنش tek-page() را فراخوانی میکند.
- tekreset (class SmeBSB)
- این مدخل کنش tek-reset() را فراخوانی میکند.
- tekcopy (class SmeBSB)
- این مدخل کنش tek-copy() را فراخوانی میکند.
- vtshow (class SmeBSB)
- این مدخل کنش set-visibility(vt,toggle) را فراخوانی میکند.
- vtmode (class SmeBSB)
- این مدخل کنش set-terminal-type(vt) را فراخوانی میکند.
- tekhide (class SmeBSB)
- این مدخل کنش set-visibility(tek,toggle) را فراخوانی میکند. منابع زیر هنگام تعیین شدن برای ویجت نوار پیمایش Athena سودمند هستند:
- background (class Background)
- رنگ مورد استفاده برای پسزمینه نوار پیمایش را مشخص میکند.
- foreground (class Foreground)
- رنگ مورد استفاده برای پیشزمینه نوار پیمایش را مشخص میکند.
- thickness (class Thickness)
- عرض نوار پیمایش را بر حسب پیکسل مشخص میکند (پیشفرض: 14).
- این مقدار ممکن است توسط منبع width بازنویسی شود.
- thumb (class Thumb)
- نگاشتپیکسل (pixmap) پیشفرض “thumb” (لغزنده) که برای نوار پیمایش به کار میرود، یک الگوی شطرنجی ساده از پیکسلهای متناوبِ رنگهای پیشزمینه و پسزمینه است.
- width (class Width)
- عرض نوار پیمایش را بر حسب پیکسل مشخص میکند (پیشفرض: 0).
- ویجت ابتدا منبع width را بررسی کرده و در صورتی که width صفر باشد، از مقدار thickness استفاده میکند.
کاربرد اشارهگر (POINTER USAGE)
بهمحض ایجاد پنجره VTxxx، xterm به شما اجازه میدهد تا با استفاده از اشارهگر یا صفحهکلید، متن را انتخاب کرده و آن را درون همان پنجره یا پنجرههای دیگر رونوشت (کپی) کنید.
یک “اشارهگر” میتواند ماوس، تاچپد یا دستگاهی مشابه باشد. برنامههای کاربردی سامانه X عموماً به نوع آن اهمیتی نمیدهند، چرا که آنها تنها رویدادهای دکمه را میبینند که شامل موارد زیر است:
- موقعیت و
- وضعیت فشردهشدن/رهاشدن دکمه (up/down)
Xterm تا زمانی که فوکوس (تمرکز) داشته باشد میتواند این رویدادها را دریافت کند.
صفحهکلید نیز رویدادهایی ارائه میدهد، اما برای گزینش/رونوشت متن انعطاف کمتری نسبت به اشارهگر دارد.
رویدادها با استفاده از منبع translations به کنشها (actions) متصل میشوند. برای فهرست کامل به Actions و برای مجموعه پیشساخته منابع translations به Default Key Bindings مراجعه کنید.
توابع گزینش (Selection Functions)
بهطور پیشفرض، توابع گزینش زمانی فراخوانی میشوند که دکمههای اشارهگر بدون هیچ کلید تبدیلکنندهای (modifier) استفاده شوند، یا هنگامی که همراه با کلید “shift” به کار روند. کلید “shift” خاص است، زیرا xterm از آن استفاده میکند تا اطمینان یابد که توابع گزینش حتی در صورت برنامهریزی شدن برای ارسال توالیهای گریز (escape sequences) در یکی از حالتهای ماوس، همچنان در دسترس باقی میمانند (ببینید: Xterm Control Sequences، و همچنین منبع disallowedMouseOps).
در زمان راهاندازی، xterm منبع translations را بررسی میکند تا دریابد کدام دکمههای اشارهگر ممکن است بدین صورت استفاده شوند، و این دکمهها را هنگام تصمیمگیری برای ارسال توالیهای گریز یا انجام گزینش در زمان استفاده به همراه تبدیلکننده “shift” به خاطر میسپارد. سایر دکمههای اشارهگر، مانند مواردی که معمولاً برای رویدادهای چرخ ماوس ارسال میشوند، تحت تأثیر قرار نمیگیرند.
تخصیص توابع شرحدادهشده در زیر به کلیدها و دکمهها را میتوان از طریق پایگاهداده منابع تغییر داد؛ بخش Actions را در ادامه ببینید.
- دکمه شماره یک اشارهگر (معمولاً دکمه چپ)
- برای ذخیره
متن در بافر
برش (cut buffer)
استفاده
میشود:
~Meta <Btn1Down>:select-start()
- مکاننما
را به
ابتدای متن
برده، سپس
دکمه را
فشرده نگه
دارید و
مکاننما
را به
انتهای
ناحیه حرکت
داده و دکمه
را رها
کنید. متن
انتخابشده
هایلایت
شده و در cut buffer
سراسری
ذخیره
میشود و با
رها شدن
دکمه، به
عنوان
گزینش فعال
درمیآید:
<BtnUp>:select-end(SELECT, CUT_BUFFER0) \n
- بهطور معمول (البته به توضیحات on2Clicks و غیره نیز مراجعه کنید):
- دوبار کلیک کردن (Double-clicking)، کلمهبهکلمه انتخاب میکند.
- سهبار کلیک کردن (Triple-clicking)، خطبهخط انتخاب میکند.
- چهاربار کلیک کردن به حالت نویسهبهنویسه (کاراکتر) بازمیگردد، و غیره.
- کلیک چندگانه بر اساس فاصله زمانی بین رها شدن دکمه تا فشرده شدن دوباره آن تعیین میشود، بنابراین میتوانید واحد گزینش را در میانه فرایند گزینش تغییر دهید. کلمات و خطوط منطقی که با دو یا سه بار کلیک انتخاب میشوند، چنانچه شکستهشدن خطوط به دست خود xterm انجام شده باشد و نه برنامهای که درون پنجره اجرا میشود، ممکن است در بیش از یک خط صفحه امتداد یابند. اگر مقیدسازیهای کلید/دکمه مشخص کنند که گزینش سامانه X باید ایجاد شود، xterm متن انتخابشده را تا زمانی که مالک گزینش (selection owner) است به صورت هایلایتشده باقی نگه میدارد.
- دکمه شماره دو اشارهگر (معمولاً دکمه میانی)
- متن را از
گزینش
دادهشده
(در صورت
وجود)، و در
غیر این
صورت از
بافر برش،
“تایپ”
(جایگذاری/paste)
میکند و آن
را به عنوان
ورودی
صفحهکلید
درج
مینماید:
~Ctrl ~Meta <Btn2Up>:insert-selection(SELECT, CUT_BUFFER0)
- دکمه شماره سه اشارهگر (معمولاً دکمه راست)
- گزینش فعلی
را گسترش
میدهد.
~Ctrl ~Meta <Btn3Down>:start-extend()
- (بدون کاستن از کلیت موضوع، میتوانید واژههای “راست” و “چپ” را در سراسر ادامه این پاراگراف جابهجا کنید.) اگر در حالی فشرده شود که به لبه راست گزینش نزدیکتر از لبه چپ باشد، لبه راست گزینش را گسترش داده یا جمع (کوتاه) میکند. اگر گزینش را به فراتر از لبه سمت چپ آن جمع کنید، xterm فرض میکند که منظور واقعی شما لبه سمت چپ بوده است، گزینش اصلی را بازیابی کرده و سپس لبه سمت چپ گزینش را گسترش میدهد یا جمع میکند. گسترش گزینش با همان حالت واحد گزینشی آغاز میشود که آخرین گزینش یا گسترش در آن انجام شده بود؛ میتوانید با کلیکهای چندگانه بین آنها جابهجا شوید.
با برش و جایگذاری بخشهایی از متن بدون نویسههای خط جدید (new line) انتهایی، میتوانید متن را از چندین مکان در پنجرههای مختلف برداشته و برای نمونه یک فرمان برای شل بسازید، یا خروجی یک برنامه را دریافت کرده و در ویرایشگر دلخواه خود درج نمایید. از آنجا که بافرهای برش (cut buffers) بهطور سراسری میان برنامههای مختلف به اشتراک گذاشته میشوند، میتوانید به هر یک از آنها مانند یک “فایل” که از محتویات آن آگاهید نگاه کنید. شبیهساز ترمینال و سایر برنامههای متنی باید با آن طوری رفتار کنند که گویی یک فایل متنی است، یعنی متن با خطوط جدید تفکیک شده است. ناحیهٔ پیمایش، موقعیت و مقدار متنی که در حال حاضر در پنجره نمایش داده میشود (برجستهشده) را نسبت به مقدار متنی که در عمل ذخیره شده است، نشان میدهد. هرچه متن بیشتری (تا سقف حداکثر) ذخیره شود، اندازهٔ ناحیهٔ برجستهشده کاهش مییابد.
کلیک کردن روی دکمهٔ یک با اشارهگر در ناحیهٔ پیمایش، سطر مجاور را به بالای پنجرهٔ نمایش منتقل میکند.
کلیک کردن روی دکمهٔ سه، سطر بالایی پنجرهٔ نمایش را به سمت پایین تا موقعیت اشارهگر جابهجا میکند.
کلیک کردن روی دکمهٔ دو، نمایش را به موقعیتی در متن ذخیرهشده منتقل میکند که متناظر با موقعیت اشارهگر در نوار پیمایش است.
اشارهگر تکترونیکس (Tektronix Pointer)
برخلاف پنجرهٔ VTxxx، پنجرهٔ Tektronix اجازهٔ کپی کردن متن را نمیدهد. این پنجره حالت Tektronix GIN را امکانپذیر میسازد و در این حالت نشانگر از یک پیکان به یک علامت صلیبی تغییر شکل میدهد. فشردن هر کلیدی، آن کلید و مختصات فعلی نشانگر صلیبی را ارسال میکند. فشردن دکمههای یک، دو یا سه به ترتیب حروف “l”، “m” و “r” را برمیگرداند. اگر هنگام فشرده شدن دکمهٔ اشارهگر کلید “shift” فشرده شود، حرف بزرگ متناظر ارسال میگردد. برای تمایز دکمهٔ اشارهگر از یک کلید، بیت بالای (high bit) نویسه تنظیم میشود (اما این بیت معمولاً حذف میشود مگر اینکه حالت ترمینال RAW باشد؛ برای جزئیات به tty(4) مراجعه کنید).
انتخاب/جایگذاری (SELECT/PASTE)
کلاینتهای X با پاسخ دادن به درخواستهای منتقلشده توسط کارساز X (X server)، پشتیبانی از انتخاب و جایگذاری را فراهم میکنند. کارساز X دادهها را در «اتمها» (“atoms”) نگه میدارد که متناظر با انواع مختلف انتخاب (PRIMARY، SECONDARY، CLIPBOARD) و همچنین سازوکار مشابه میانگیر برش (cut buffer) (CUT_BUFFER0 تا CUT_BUFFER7) هستند. این موارد در ICCCM مستند شدهاند.
سند ICCCM به سازوکار زیربنایی انتخاب/جایگذاری میپردازد. این سند اشارهای به برجستهسازی (highlighting) نمیکند. انتخاب (selection) با برجستهسازی یکسان نیست. Xterm (مانند بسیاری از برنامهها) از برجستهسازی برای نمایش متنِ انتخابشدهٔ فعلی استفاده میکند. یک برنامهٔ X میتواند مالک یک انتخاب باشد، که به آن اجازه میدهد منبع دادههای کپیشده با استفاده از یک اتم انتخاب مشخص باشد. Xterm ممکن است حتی پس از توقف برجستهسازی، به مالکیت خود بر انتخاب ادامه دهد (به keepSelection مراجعه کنید).
Xterm دادههای انتخاب را با استفاده از خانههای نویسههایی که نمایش میدهد، فراهم میکند. این پنجره آن خانهها را با استفاده از توالیهایی از بایتها و توالیهای کنترلی پر میکند:
- •
- بهطور پیشفرض، اگر محلیسازی (locale) شما از کدگذاری UTF-8 استفاده کند، xterm نیز از این کدگذاری بهره میبرد. منابع utf8 و locale این رفتار را کنترل میکنند.
- هنگام رمزگشایی UTF-8، ممکن است xterm برخی از نویسههای پایه و ترکیبی را ترکیب کند. از منبع precompose برای فعال یا غیرفعال کردن این ویژگی استفاده کنید.
- Xterm منابع دیگری نیز برای نیازهای تخصصی کدگذاری دارد، از جمله allowC1Printable، showMissingGlyphs، و utf8Weblike.
- •
- Xterm نویسههای پایه و ترکیبی را برای هر خانه در پنجرهاش ذخیره میکند. این برنامه توالی بایتهایی را که آن نویسهها را تشکیل دادهاند ذخیره نمیکند. عملیات انتخاب از نویسههایی استفاده میکند که xterm در هر خانه ذخیره کرده است.
- اگر مقصد انتخاب UTF-8 را بپذیرد، xterm تمام نویسههای پایه و ترکیبی را در مقصد کپی میکند. اگر مقصد انتخاب UTF-8 را نپذیرد، برای نمونه در یک میانگیر برش، xterm تنها مواردی را که مقصد میپذیرد کپی میکند، و از منبع defaultString برای پر کردن خانههایی که امکان نمایش در مقصد را ندارند استفاده میکند.
- •
- در ابتدا تمام خانهها در پنجرهٔ xterm مقداردهینشده (uninitialized) هستند. پاک کردن صفحه، خانهها را به وضعیت مقداردهینشده درمیآورد. خانههای مقداردهینشده به صورت فاصله (space) نمایش داده میشوند.
- بهطور پیشفرض، انتخاب سطرها در پنجرهٔ xterm تمام خانههایی را که اشارهگر در حین انتخاب پیمایش میکند برجسته میسازد. اگر منبع highlightSelection تنظیم شده باشد، xterm خانههای مقداردهینشدهٔ انتهایی در سطرهای انتخابشده را برجسته نمیکند.
- منبع trimSelection به شما اجازه میدهد فاصلههای خالی انتهایی را از هر سطر انتخابشده حذف کنید؛ چه فاصلههای ناشی از خانههای مقداردهینشده و چه فاصلههای نوشتهشده توسط یک برنامه.
- •
- همانطور که xterm نویسهها را در پنجرهٔ خود مینویسد و متن را در حاشیهٔ راست میشکند (wrap میکند)، به خاطر میسپارد که متن شکسته شده است. از منبع showWrapMarks برای نمایش این موضوع در پنجره استفاده کنید. هنگامی که برای استفاده از گزینش اصلی (پیشفرض) پیکربندی شده باشد، xterm میتواند دادههای گزینش را به روشهایی ارائه دهد که به حفظ اطلاعات کدگذاری نویسهها هنگام جایگذاری آن کمک میکند.
نشانهی PRIMARY یکی از ویژگیهای استاندارد سامانه X است که در ICCCM (Inter-Client Communication Conventions Manual) مستند شده و چنین بیان میدارد:
گزینشی که با اتم PRIMARY نامگذاری شده است، برای تمامی دستوراتی که تنها یک آرگومان دریافت میکنند به کار میرود و ابزار اصلی ارتباط میان کلاینتهایی است که از سازوکار گزینش استفاده میکنند.
کاربر متنی را در xterm “انتخاب” میکند، که این کار متن انتخابشده را برجسته میسازد. سپس یک “جایگذاری” در کلاینتی دیگر، درخواستی را به کلاینتِ مالکِ گزینش ارسال میکند. اگر xterm مالک گزینش primary باشد، دادهها را در قالب یک یا چند “هدف گزینش” در دسترس قرار میدهد. اگر مالک گزینش primary نباشد، برای نمونه اگر آن را رها کرده باشد یا کلاینت دیگری ادعای مالکیت کرده باشد، برای انتقال دادهها به cut-bufferها تکیه میکند. اما cut-bufferها فقط از دادههای ISO-8859-1 پشتیبانی میکنند (رسماً - برخی کلاینتها این قوانین را نادیده میگیرند).
CLIPBOARD
هنگامی که برای استفاده از کلیپبورد پیکربندی شده باشد (با استفاده از منبع selectToClipboard)، مشکل مربوط به پایداری مالکیت دور زده میشود. در غیر این صورت، از نظر دادههایی که میتوانند از طریق گزینش منتقل شوند تفاوتی وجود ندارد.
منبع selectToClipboard یک سازش است که اجازه میدهد با CLIPBOARD تقریباً مانند PRIMARY رفتار شود، برخلاف ICCCM که CLIPBOARD را با تعابیری متفاوت از PRIMARY یا SECONDARY توصیف میکند. توضیحات طولانی آن با نکات اساسی زیر آغاز میشود:
گزینشی که با اتم CLIPBOARD نامگذاری شده است برای نگهداری دادههایی به کار میرود که بین کلاینتها در حال انتقال هستند؛ یعنی دادههایی که معمولاً برش خورده و سپس جایگذاری میشوند، یا رونوشت شده و سپس جایگذاری میشوند. هر زمان که کلاینتی بخواهد دادهها را به کلیپبورد منتقل کند:
- باید ادعای مالکیت CLIPBOARD را اعلام کند.
- اگر در کسب مالکیت موفق شود، باید آماده باشد تا به درخواست دریافت محتویات CLIPBOARD به روش معمول پاسخ دهد (دادهها را نزد خود نگه دارد تا بتواند آنها را بازگرداند). این درخواست ممکن است توسط کلاینت کلیپبوردی که در ادامه توصیف شده است ایجاد شود.
SELECT
با این حال، بسیاری از برنامهها به تقلید از سایر سامانههای پنجرهای از CLIPBOARD استفاده میکنند. منبع selectToClipboard (و مدخل منوی متناظر آن Select to Clipboard) نشانهی SELECT را معرفی میکنند (که تنها برای xterm شناختهشده است) که بین نشانههای PRIMARY و CLIPBOARD یکی را برمیگزیند.
بدون استفاده از این ویژگی، میتوان از راهکارهای جایگزین مانند برنامهی xclip برای نمایش محتویات کلیپبورد X در یک پنجرهی xterm استفاده کرد.
SECONDARY
این مورد کمتر از PRIMARY یا CLIPBOARD استفاده میشود. مطابق با ICCCM، کاربرد آن به شرح زیر است:
- بهعنوان آرگومان دوم برای دستوراتی که دو آرگومان میگیرند (برای نمونه، “جابهجایی گزینشهای اولیه و ثانویه”))
- بهعنوان ابزاری برای بهدست آوردن دادهها هنگامی که یک گزینش اولیه وجود دارد و کاربر نمیخواهد آن را مختل کند
اهداف گزینش (Selection Targets)
انواع مختلف دادههایی که منتقل میشوند، به آنچه کلاینت گیرنده درخواست میکند بستگی دارند. اینها اهداف گزینش (selection targets) نامیده میشوند.
هنگام درخواست دادههای گزینش، xterm انواع زیر را به این ترتیب امتحان میکند:
- UTF8_STRING
- این یک افزونهی XFree86 است که مشخص میکند دادهها با UTF-8 کدگذاری شدهاند. هنگامی که xterm با پشتیبانی از نویسههای پهن (wide-character) ساخته شده باشد، این نوع را هم میپذیرد و هم ارائه میدهد.
- TEXT
- متن با کدگذاری متناظر با محلیسازی (locale) جاری شما است.
- COMPOUND_TEXT
- این قالبی برای دادههای چند مجموعهنویسهای، مانند متنهای چندزبانه است. میتواند دادههای UTF-8 را بهعنوان یک حالت خاص ذخیره کند.
- STRING
- این دادههای Latin 1 (ISO-8859-1) است.
دو مورد میانی (TEXT و COMPOUND_TEXT) در صورتی اضافه میشوند که xterm با منبع i18nSelections که روی “true” تنظیم شده باشد، پیکربندی گردد.
گزینهی UTF8_STRING ترجیح داده میشود (بنابراین اولین مورد در فهرست است) زیرا xterm هنگام اجرا در حالت نویسههای پهن، متن را بهصورت دادههای Unicode ذخیره میکند و نیازی به تبدیل نیست. از سوی دیگر، TEXT و COMPOUND_TEXT ممکن است به تبدیل نیاز داشته باشند. اگر تبدیل ناقص باشد، “defaultString” مربوط به X را درج میکنند که مقدار آن قابل تنظیم نیست و ممکن است صرفاً خالی باشد. منبع defaultString در Xterm رشتهای را مشخص میکند که برای تبدیلهای ناقص UTF8_STRING استفاده شود.
میتوانید انواعی را که xterm امتحان میکند با استفاده از منابع eightBitSelectTypes یا utf8SelectTypes تغییر دهید. برای نمونه، ممکن است یک تنظیم محلی خاص داشته باشید که از کدگذاری UTF-8 استفاده نمیکند. مقدار منبع، فهرستی از اهداف گزینش است که با کاما از هم جدا شدهاند و شامل نامهای نشاندادهشده هستند. میتوانید از نام ویژهی I18N برای اشاره به گنجاندن اختیاری TEXT و COMPOUND_TEXT استفاده کنید. تطبیق نامها بدون در نظر گرفتن بزرگی و کوچکی حروف انجام میشود و میتوان آنها را خلاصه نوشت. فهرست پیشفرض را میتوان به چند روش نشان داد، مانند:
UTF8_STRING,I18N,STRING utf8,i18n,string u,i,s
این توالیهای گریز و پاسخها که پروتکل موشواره نامیده میشوند، در XTerm Control Sequences مستند شدهاند. آنها در کنشهای (actions) فراخوانیشده توسط منبع translations ظاهر نمیشوند؛ زیرا این منبع در زمان اجرای xterm تغییر نمیکند، در حالی که برنامههای کاربردی میتوانند پروتکل موشواره را تغییر دهند (یعنی فعال کنند، غیرفعال کنند، یا از حالتهای مختلف استفاده نمایند).
با این حال، پروتکل موشواره در قالب actions که معمولاً به دکمههای اشارهگر مرتبط هستند تفسیر میشود. اگر کلید shift همزمان فشرده شود، Xterm پروتکل موشواره را در کنش insert-selection نادیده میگیرد. همچنین در صورت فشرده بودن کلید shift، چند کنش دیگر را نیز تغییر میدهد؛ برای نمونه، پاسخ حاوی موقعیت اشارهگر را سرکوب میکند، گرچه تغییرات روی متن انتخابشده را حذف نمیکند.
منوها (MENUS)
Xterm چهار منو با نامهای mainMenu، vtMenu، fontMenu، و tekMenu دارد. هر منو تحت ترکیبهای مناسبی از فشردن کلیدها و دکمهها باز میشود. هر منو به بخشهایی تقسیم شده است که با یک خط افقی از هم جدا میشوند. برخی مدخلهای منو متناظر با حالتهایی هستند که میتوانند تغییر کنند. یک علامت تیک در کنار حالتی که در حال حاضر فعال است نمایش مییابد. انتخاب هر یک از این حالتها وضعیت آن را دگرگون (toggle) میکند. سایر گزینههای منو دستور هستند؛ انتخاب یکی از آنها عملکرد نشاندادهشده را انجام میدهد.
همه مدخلهای منو متناظر با کنشهای X هستند. در فهرست زیر، برچسب منو و به دنبال آن نام کنش در پرانتز نشان داده شده است.
گزینههای اصلی (Main Options)
منوی mainMenu مربوط به xterm هنگامی که کلید “control” و دکمه شماره یک اشارهگر درون یک پنجره فشرده شوند باز میشود. این منو شامل مواردی است که هم بر پنجرههای VTxxx و هم Tektronix اعمال میشوند. چندین بخش وجود دارد:
- دستورهایی برای مدیریت رویدادهای X:
- Toolbar (منبع toolbar)
- کلیک روی مدخل منوی “Toolbar” در صورت آشکار بودن نوار ابزار آن را پنهان میکند و در صورت پنهان بودن، آن را نشان میدهد.
- Secure Keyboard (منبع securekbd)
- حالت Secure Keyboard هنگام تایپ گذرواژهها یا سایر دادههای حساس در یک محیط ناامن مفید است (بخش SECURITY را در زیر ببینید، اما محدودیتها را با دقت بخوانید).
- Allow SendEvents (منبع allowsends)
- مشخص میکند رویدادهای ساختگی کلید و دکمه که با استفاده از درخواست SendEvent پروتکل X تولید شدهاند باید تفسیر یا دور انداخته شوند یا خیر. این متناظر با منبع allowSendEvents است.
- Redraw Window (منبع redraw)
- نمایشگر X را مجبور به بازرسم میکند؛ در برخی محیطها مفید است.
- دستورهایی برای ضبط خروجی:
- Log to File (منبع logging)
- متن ارسالشده به صفحه را در یک فایل لاگ ثبت میکند، همانند گزینه ثبت رخداد -l.
- Print-All Immediately (منبع print-immediate)
- کنش print-immediate را فراخوانی میکند که متن پنجره کنونی را مستقیماً به یک فایل میفرستد، همانگونه که توسط منابع printFileImmediate، printModeImmediate و printOptsImmediate مشخص شده است.
- Print-All on Error (منبع print-on-error)
- کنش print-on-error را فراخوانی میکند که پرچمی را تغییر وضعیت میدهد که به xterm میگوید در صورت خروج با یک خطای X، متن پنجره کنونی را مستقیماً به یک فایل بفرستد، همانگونه که توسط منابع printFileOnXError، printModeOnXError و printOptsOnXError مشخص شده است.
- Print Window (منبع print)
- متن پنجره فعلی را به برنامهای که در منبع printerCommand مشخص شده است میفرستد.
- Redirect to Printer (منبع print-redir)
- این گزینه printerControlMode را روی 0 یا 2 تنظیم میکند. میتوانید از این گزینه برای روشن کردن چاپگر استفاده کنید، گویی که یک برنامه کاربردی توالی کنترل مناسب را ارسال کرده است. همچنین برای خاموش کردن چاپگر در صورتی که برنامهای آن را بدون بازنشانی حالت کنترل چاپ روشن کند، مفید است.
- XHTML Screen Dump (منبع dump-html)
- تنها در صورتی در دسترس است که با پشتیبانی از رونوشت صفحه کامپایل شده باشد. کنش dump-html را فراخوانی میکند. این یک فایل XHTML منطبق با محتویات صفحه کنونی ایجاد میکند، شامل حاشیه، حاشیه داخلی، رنگها و بیشتر مشخصهها: bold، italic، underline، faint، strikeout، reverse؛ حالت blink به صورت سفید روی قرمز نمایش داده میشود؛ حالت double underline همانند underline نمایش داده میشود زیرا هیچ معادل همهپذیری در CSS 2.2 برای آن وجود ندارد.
- قلم همان قلمی است که مرورگر شما برای عناصر از پیش قالببندیشده (<pre>) استفاده میکند. فایل XHTML به یک شیوهنامه آبشاری (CSS) با نام “xterm.css” ارجاع میدهد که میتوانید برای انتخاب قلم یا بازنویسی ویژگیها آن را بسازید.
انتخابگرهای CSS زیر با رفتار پیشفرض مورد انتظار در فایل XHTML استفاده میشوند:
.ul برای underline،
.bd برای bold،
.it برای italic،
.st برای strikeout،
.lu برای strikeout
ترکیبشده
با underline.
افزون بر این میتوانید از موارد زیر استفاده کنید:
.ev برای
تأثیرگذاری
بر خطوط با
شماره زوج و
.od برای
تأثیرگذاری
بر خطوط با
شماره فرد.
- مشخصههای faint، reverse و blink به عنوان مشخصههای style که ویژگیهای رنگ را تنظیم میکنند پیادهسازی شدهاند. تمامی رنگها به عنوان درصدهای RGB تعیین میشوند تا از نمایشگرهایی با ۱۰ بیت برای هر مؤلفه RGB پشتیبانی شود.
- نام فایل به
این صورت
خواهد بود:
xterm.yyyy.MM.dd.hh.mm.ss.xhtml
- که در آن yyyy، MM، dd، hh، mm و ss سال، ماه، روز، ساعت، دقیقه و ثانیهای هستند که رونوشت صفحه در آن انجام شده است (فایل در دایرکتوریای که xterm در آن آغاز شده است، یا دایرکتوری خانگی برای یک xterm ورود به سیستم ایجاد میشود).
- کنش dump-html
همچنین
میتواند
با استفاده
از توالی
کنترل Media Copy
یعنی CSI 1 0 i
فعال شود،
برای نمونه
از یک
اسکریپت شل
با
printf '\033[10i'
تنها کدگذاری UTF-8 پشتیبانی میشود.
- SVG Screen Dump (منبع dump-svg)
- تنها در
صورتی در
دسترس است
که با
پشتیبانی
از رونوشت
صفحه
کامپایل
شده باشد.
کنش dump-svg را
فراخوانی
میکند. این
گزینه یک
فایل
گرافیک
برداری
مقیاسپذیر
(SVG) متناظر با
محتویات
صفحه
کنونی،
شامل
حاشیه،
حاشیه
داخلی،
رنگها و
بیشتر
مشخصهها
ایجاد
میکند: bold،
italic، underline، double underline، faint،
strikeout، reverse؛ حالت blink
به صورت
سفید روی
قرمز نمایش
داده
میشود. قلم
همان چیزی
است که
رندرکننده
شما برای
خانواده
قلم monospace
استفاده
میکند.
تمامی
رنگها به
عنوان
درصدهای RGB
تعیین
میشوند تا
از
نمایشگرهایی
با ۱۰ بیت
برای هر
مؤلفه RGB
پشتیبانی
شود..IP نام
فایل به این
صورت خواهد
بود:
xterm.yyyy.MM.dd.hh.mm.ss.svg
- که در آن yyyy، MM، dd، hh، mm و ss سال، ماه، روز، ساعت، دقیقه و ثانیهای هستند که رونوشت صفحه در آن زمان گرفته شده است (فایل در دایرکتوریای ایجاد میشود که xterm در آن آغاز به کار کرده است، یا دایرکتوری خانگی برای یک xterm از نوع ورود به سیستم).
- کنش dump-svg
همچنین
میتواند
با استفاده
از توالی
کنترلی Media Copy
به صورت CSI 1 1 i
فراخوانی
شود؛ برای
نمونه از یک
اسکریپت شل
با
printf '\033[11i'
تنها کدگذاری UTF-8 پشتیبانی میشود.
- حالتهایی برای تنظیم سبک صفحهکلید:
- 8-Bit Controls (منبع 8-bit-control)
- با فعالسازی برای شبیهسازی VT220، این مورد کنترل میکند که آیا xterm به جای استفاده از کنترلهای ۷-بیتی (ASCII)، توالیهای کنترلی ۸-بیتی ارسال کند یا خیر؛ برای نمونه، ارسال یک بایت در محدوده ۱۲۸–۱۵۹ به جای نویسه escape که به دنبال آن بایت دوم میآید. Xterm همواره هر دو توالیهای کنترلی ۸-بیتی و ۷-بیتی را تفسیر میکند (ببینید Xterm Control Sequences). این با منبع eightBitControl مطابقت دارد.
- Backarrow Key (BS/DEL) (منبع backarrow key)
- رفتار کلید پیکانروبهعقب (backarrow) را تغییر میدهد و تعیین میکند که نویسه backspace (8) یا delete (127) را مخابره کند. این با منبع backarrowKey مطابقت دارد.
- Alt/NumLock Modifiers (منبع num-lock)
- نحوه رفتار با تبدیلکنندههای کلید Alt و NumLock را کنترل میکند. این با منبع numLock مطابقت دارد.
- Meta Sends Escape (منبع meta-esc)
- کنترل میکند که آیا کلیدهای Meta به یک توالی دونویسهای که نویسه با یک ESC پیشوند میشود تبدیل شوند یا خیر. این با منبع metaSendsEscape مطابقت دارد.
- Delete is DEL (منبع delete-is-del)
- کنترل میکند که آیا کلید Delete در بخش کلیدهای ویرایشی باید DEL (127) را ارسال کند یا توالی گریز Remove به سبک VT220 را. این با منبع deleteIsDEL مطابقت دارد.
- Old Function-Keys (منبع oldFunctionKeys)
- HP Function-Keys (منبع hpFunctionKeys)
- SCO Function-Keys (منبع scoFunctionKeys)
- Sun Function-Keys (منبع sunFunctionKeys)
- VT220 Keyboard (منبع sunKeyboard)
- این موارد مانند یک دکمه رادیویی عمل میکنند و یک سبک را برای چیدمان صفحهکلید انتخاب مینمایند. این چیدمان با بیش از یک تنظیم منبع متناظر است: sunKeyboard، sunFunctionKeys، scoFunctionKeys و hpFunctionKeys.
- دستورهایی برای ارسال سیگنال به فرایند:
- Send STOP Signal (منبع suspend)
- Send CONT Signal (منبع continue)
- Send INT Signal (منبع interrupt)
- Send HUP Signal (منبع hangup)
- Send TERM Signal (منبع terminate)
- Send KILL Signal (منبع kill)
- این گزینهها به ترتیب سیگنالهای SIGTSTP، SIGCONT، SIGINT، SIGHUP، SIGTERM و SIGKILL را به گروه فرایندیِ فرایند در حال اجرا زیر xterm (معمولاً شل) ارسال میکنند. عملکرد SIGCONT به ویژه زمانی سودمند است که کاربر به طور تصادفی کلیدهای CTRL-Z را فشرده و فرایند را معلق کرده باشد.
- Quit (منبع quit)
- پردازش رویدادهای X را به جز برای پشتیبانی از گزینه -hold متوقف میکند، و سپس یک سیگنال SIGHUP را به گروه فرایندیِ فرایند در حال اجرا زیر xterm (معمولاً شل) میفرستد.
- حالتهای VTxxx (VTxxx Modes):
- فعالسازی نوار پیمایش (Enable Scrollbar) (منبع scrollbar)
- فعال (یا غیرفعال) کردن نوار پیمایش. این مورد با گزینهٔ -sb و منبع scrollBar مطابقت دارد.
- فعالسازی پیمایش جهشی (Enable Jump Scroll) (منبع jumpscroll)
- فعال (یا غیرفعال) کردن پیمایش جهشی. این مورد با گزینهٔ -j و منبع jumpScroll مطابقت دارد.
- فعالسازی ویدیوی معکوس (Enable Reverse Video) (منبع reversevideo)
- فعال (یا غیرفعال) کردن ویدیوی معکوس. این مورد با گزینهٔ -rv و منبع reverseVideo مطابقت دارد.
- فعالسازی سطرشکنی خودکار (Enable Auto Wraparound) (منبع autowrap)
- فعال (یا غیرفعال) کردن سطرشکنی خودکار. این مورد با گزینهٔ -aw و منبع autoWrap مطابقت دارد.
- فعالسازی سطرشکنی معکوس (Enable Reverse Wraparound) (منبع reversewrap)
- فعال (یا غیرفعال) کردن سطرشکنی معکوس. این مورد با گزینهٔ -rw و منبع reverseWrap مطابقت دارد.
- فعالسازی خط جدید خودکار (Enable Auto Linefeed) (منبع autolinefeed)
- فعال (یا غیرفعال) کردن پیشروی خودکار خط. این همان تابع NEL در VT102 است، که باعث میشود شبیهساز پس از هر بازگشت به ابتدای سطر (carriage return)، یک پیشروی سطر (line feed) صادر کند. هیچ گزینهٔ خط فرمان یا تنظیم منبع معادلی برای آن وجود ندارد.
- فعالسازی کلیدهای مکاننمای برنامهای (Enable Application Cursor Keys) (منبع appcursor)
- فعال (یا غیرفعال) کردن کلیدهای مکاننمای برنامهای. این مورد با منبع appcursorDefault مطابقت دارد. هیچ گزینهٔ خط فرمان معادلی برای آن وجود ندارد.
- فعالسازی صفحه کلید عددی برنامهای (Enable Application Keypad) (منبع appkeypad)
- فعال (یا غیرفعال) کردن کلیدهای صفحه کلید عددی برنامهای. این مورد با منبع appkeypadDefault مطابقت دارد. هیچ گزینهٔ خط فرمان معادلی برای آن وجود ندارد.
- پیمایش به انتها با فشردن کلید (Scroll to Bottom on Key Press) (منبع scrollkey)
- فعال (یا غیرفعال) کردن پیمایش به انتهای ناحیهٔ پیمایش با فشردن یک کلید. این مورد با گزینهٔ -sk و منبع scrollKey مطابقت دارد.
- بهعنوان یک مورد خاص، کلیدهای XON / XOFF (شامل control/S و control/Q) نادیده گرفته میشوند.
- پیمایش به انتها با خروجی Tty (Scroll to Bottom on Tty Output) (منبع scrollttyoutput)
- فعال (یا غیرفعال) کردن پیمایش به انتهای ناحیهٔ پیمایش هنگام ارسال خروجی به ترمینال. این مورد با گزینهٔ -si و منبع scrollTtyOutput مطابقت دارد.
- اجازهٔ جابهجایی ستون بین ۸۰ و ۱۳۲ (Allow 80/132 Column Switching) (منبع allow132)
- فعال (یا غیرفعال) کردن جابهجایی میان ۸۰ و ۱۳۲ ستون. این مورد با گزینهٔ -132 و منبع c132 مطابقت دارد.
- نگهداشتن انتخاب (Keep Selection) (منبع keepSelection)
- به xterm مشخص میکند که آیا در صورت توقف برجستهسازی متن انتخابشده، مالکیت آن را رها کند یا خیر؛ برای نمونه، زمانی که برنامهای محتوای صفحه نمایش را تغییر میدهد بهطوری که دیگر با متنی که برجسته شده بود مطابقت ندارد. تا زمانی که xterm مالکیت انتخاب را برای یک اتم (atom) معین حفظ کند، میتواند متن متناظر را در اختیار سایر کلاینتهایی بگذارد که انتخاب را با استفاده از آن اتم درخواست میکنند.
- این مورد با منبع keepSelection مطابقت دارد. هیچ گزینهٔ خط فرمان معادلی برای آن وجود ندارد.
- دستور به xterm برای رها نکردن انتخاب، مانع از گرفتن مالکیت انتخاب توسط برنامههای دیگر نمیشود. هنگامی که این اتفاق میافتد، xterm اعلانی دریافت میکند مبنی بر اینکه این رخ داده است، و برجستهسازی خود را برمیدارد.
- برای اطلاعات بیشتر، بخش SELECT/PASTE را ببینید.
- انتخاب به کلیپبورد (Select to Clipboard) (منبع selectToClipboard)
- به xterm مشخص میکند که آیا برای نشانههای SELECT در منبع translations (که کنشهای صفحهکلید و اشارهگر را به کنشهای انتخاب/چسباندن نگاشت میکند) از PRIMARY استفاده کند یا CLIPBOARD.
- این مورد با منبع selectToClipboard مطابقت دارد. هیچ گزینهٔ خط فرمان معادلی برای آن وجود ندارد.
- تنظیم منبع keepSelection همانگونه که برای انتخابهای PRIMARY اعمال میشود، برای انتخابهای CLIPBOARD نیز به کار میرود. با این حال، برخی مدیرهای پنجره رفتاری ویژه با کلیپبورد دارند. برای نمونه، همگامسازی XQuartz بین pasteboard در OSX و clipboard در X11 باعث میشود برنامهها هنگام کپی شدن یک انتخاب به کلیپبورد، مالکیت انتخاب را برای آن اتم از دست بدهند.
- برای اطلاعات بیشتر، بخش SELECT/PASTE را ببینید.
- فعالسازی زنگ بصری (Enable Visual Bell) (منبع visualbell)
- فعال (یا غیرفعال) کردن زنگ بصری (یعنی چشمکزدن صفحه) به جای زنگ شنیداری. این مورد با گزینهٔ -vb و منبع visualBell مطابقت دارد.
- فعالسازی فوریت زنگ (Enable Bell Urgency) (منبع bellIsUrgent)
- فعال (یا غیرفعال) کردن نشانهٔ فوریت (Urgency hint) مدیر پنجره هنگام دریافت Control-G. این مورد با منبع bellIsUrgent مطابقت دارد.
- فعالسازی رو آمدن با زنگ (Enable Pop on Bell) (منبع poponbell)
- فعال (یا غیرفعال) کردن بالا آمدن پنجره به جلو هنگام دریافت Control-G. این مورد با گزینهٔ -pop و منبع popOnBell مطابقت دارد.
- فعالسازی مکاننمای چشمکزن (Enable Blinking Cursor) (منبع cursorblink)
- فعال (یا غیرفعال) کردن ویژگی مکاننمای چشمکزن. این مورد با گزینهٔ -bc و منبع cursorBlink مطابقت دارد. همچنین دنبالههای فرار (escape sequences) نیز برای این منظور وجود دارند (نگاه کنید به Xterm Control Sequences):
- اگر منبع cursorBlinkXOR تنظیم شده باشد، وضعیت گزینهٔ منو و وضعیت دنبالهٔ فرار با یکدیگر XOR خواهند شد: اگر هر دو فعال باشند، مکاننما چشمک نخواهد زد؛ اگر تنها یکی فعال باشد، مکاننما چشمک خواهد زد.
- اگر منبع cursorBlinkXOR تنظیم نشده باشد؛ چنانچه هر یک از وضعیت گزینهٔ منو یا وضعیت دنبالهٔ فرار تنظیم شده باشند، مکاننما چشمک خواهد زد.
- در هر دو حالت، کادر انتخاب (checkbox) منو وضعیت منبع cursorBlink را نمایش میدهد، که ممکن است با آنچه مکاننما در عمل انجام میدهد مطابقت نداشته باشد.
- فعالسازی جابهجایی به صفحهٔ جایگزین (Enable Alternate Screen Switching) (منبع titeInhibit)
- فعال (یا غیرفعال) کردن جابهجایی میان صفحههای عادی و جایگزین. این مورد با منبع titeInhibit مطابقت دارد. هیچ گزینهٔ خط فرمان معادلی برای آن وجود ندارد.
- فعالسازی نماد فعال (Enable Active Icon) (منبع activeicon)
- فعال (یا غیرفعال) کردن ویژگی نماد فعال. این مورد با گزینهٔ -ai و منبع activeIcon مطابقت دارد.
- فعالسازی نماد XCopyArea (Enable XCopyArea Icon) (منبع brokenCopyArea)
- فعال (یا غیرفعال) کردن راهکاری ترمیمی برای جبران حذف شتاب سختافزاری از کارگزارهای X اخیر.
- پیمایش Sixel (Sixel Scrolling) (منبع sixelScrolling)
- این مورد با منبع sixelScrolling مطابقت دارد. همچنین میتواند با استفاده از حالت اختصاصی DECSDM (Sixel Display Mode) خاموش و روشن شود.
- •
- هنگام فعال بودن، xterm گرافیکهای sixel را در موقعیت فعلی مکاننمای متن رسم میکند، در صورتی که تصویر بزرگتر از صفحه نمایش باشد آن را بهصورت عمودی پیمایش میدهد، و هنگام بازگشت به حالت متنی، مکاننمای متن را در همان ستون در سطر کامل بعدیِ پس از تصویر باقی میگذارد.
- این حالت پیشفرض است، که با وضعیت reset در DECSDM مطابقت دارد.
- •
- هنگام غیرفعال بودن، xterm رسم گرافیکهای sixel را با شروع از گوشهٔ بالا و سمت چپ صفحه انجام میدهد، تصویر را برای جا شدن در صفحه برش میزند، و موقعیت مکاننمای متن را تغییر نمیدهد..IP این با وضعیت set در DECSDM مطابقت دارد.
- گزینهٔ خط فرمان متناظری وجود ندارد.
- Private Color Registers (منبع privateColorRegisters)
- اگر xterm برای پشتیبانی از گرافیکهای ReGIS پیکربندی شده باشد، این مورد کنترل میکند که آیا میتوان از یک پالت رنگ اختصاصی استفاده کرد یا خیر.
- در صورت فعال بودن، هر تصویر گرافیکی از مجموعهای جداگانه از ثباتهای رنگ استفاده میکند، بهطوری که اساساً یک پالت اختصاصی در اختیار دارد (این حالت پیشفرض است). اگر تنظیم نشده باشد، تمام تصاویر گرافیکی از یک مجموعه ثبات مشترک استفاده میکنند؛ همانطور که گرافیکهای sixel و ReGIS روی سختافزارهای واقعی کار میکردند. حالت پیشفرض احتمالاً در سختافزارهای مدرن TrueColor حالت کاربردیتری است.
- این مورد با منبع privateColorRegisters مطابقت دارد. گزینهٔ خط فرمان متناظری وجود ندارد.
- دستورهای VTxxx:
- Do Soft Reset (منبع softreset)
- این مورد با دنباله کنترلی VT220 DECSTR مطابقت دارد. یک بازنشانی نرم (soft reset) محتویات پنجره را دستنخورده باقی میگذارد، اما حالتهایی را که بر بهروزرسانیهای بعدی تأثیر میگذارند بازنشانی میکند:
بازنشانی نرم در جزئیاتی اندک با بازنشانی کامل تفاوت دارد:
- موقعیت ذخیرهشدهٔ مکاننما را روی گوشهٔ بالا-چپ پنجره تنظیم میکند.
- بدون پاک کردن خط وضعیت (status-line)، از آن خارج میشود.
هر دو بازنشانی نرم و کامل کارهای زیر را انجام میدهند:
- مکاننما را مرئی کرده و شکل آن را با توجه به منابع cursorUnderLine و cursorBar بازنشانی میکنند.
- وضعیت چشمکزن مکاننما را با توجه به منبع cursorBlink فعال یا غیرفعال کرده و علامت تیک منوی Enable Blinking Cursor را متناسب با آن تنظیم میکنند.
- ویژگیهای تصویری (video attributes)، مانند bold، italic، underline و blink را بازنشانی میکنند.
- حالت رنگ ANSI را به رنگ پیشزمینه و پسزمینهٔ پیشفرض xterm بازنشانی میکنند.
- پالت ۲۵۶ رنگ را به وضعیت اولیهاش بازنشانی میکنند.
- مجموعه نویسههای انتخابشده، مانند ASCII یا مجموعه نویسهٔ جایگزین را بازنشانی میکنند. حالتهای UTF-8 تغییر داده نمیشوند.
- ویژگی ECMA-48 KAM را بازنشانی میکنند.
- DECCKM و DECKPAM را بر اساس منابع appcursorDefault و appkeypadDefault بازنشانی میکنند.
- حالتهای قالب کلید و تغییردهنده کلید را به مقادیر تنظیمشده توسط منابع بازنشانی میکنند، یعنی:
- و همچنین
- حالت مبدأ (DECOM) را بازنشانی میکنند.
- تمام حاشیهها (یعنی بالا/پایین و چپ/راست) را بازنشانی میکنند. این کار میتواند زمانی مفید باشد که برنامهای ناحیههای پیمایش را بهطور نادرست تنظیم کرده و رها کرده است.
- شکست خودکار خطوط (autowrap) و شکست معکوس را بر اساس مقادیر منابع autoWrap و reverseWrap تنظیم میکنند.
- افزونه checksum را به منبع checksumExtension بازنشانی میکنند.
- Do Full Reset (منبع hardreset)
- یک بازنشانی کامل علاوه بر موارد بازنشانی نرم، کارهای زیر را نیز انجام میدهد:
- پنجره را پاک میکند.
- توقفهای تب (tab stops) را روی هر هشت ستون بازنشانی میکند.
- صفحه را طوری بازنشانی میکند که با منبع reverseVideo مطابقت داشته باشد.
- اگر حالت ۱۳۲ ستونی در ابتدا با منبع c132 فعال شده باشد، اندازهٔ صفحه را به ۸۰ ستون تغییر میدهد.
- پیمایش (جهشی در برابر نرم) را مطابق با منبع jumpScroll بازنشانی میکند.
- حالت خط جدید (ECMA-48 LNM) و حالت ارسال/دریافت (ECMA-48 SRM) را فعال میکند.
- کلیدهای تعریفشده توسط کاربر DEC را بازنشانی میکند (DECUDK).
- حالت برنامهای را برای کلیدهای مکاننما و صفحهکلید عددی (DECCKM, DECKPAM) غیرفعال میکند.
- گزینهٔ منوی 8-bit Controls را بر اساس منبع eightBitControl بازنشانی میکند.
- تفسیر کلید backarrow را بر اساس تنظیمات اولیهٔ منبع بازنشانی میکند.
- نوع صفحهکلید را با توجه به منابع زیر تنظیم میکند: keyboardType، hpFunctionKeys، scoFunctionKeys، sunFunctionKeys، tcapFunctionKeys، oldXtermFKeys و sunKeyboard.
- ردیابی موشواره (mouse tracking) را خاموش میکند.
- حالتهای عنوان و اشارهگر را بر اساس منابع titleModes و pointerMode بازنشانی میکند.
- حالتهای readline و چسباندن براکتی (bracketed paste) را بازنشانی میکند.
- تمام دادههای گرافیکی SIXEL و ReGIS را از حافظه پاک میکند.
- sixelScrolling و privateColorRegisters را از روی مقادیر اولیهٔ منبع بازنشانی میکند.
- اگر منبع sixelScrolling دارای مقدار درست (true) باشد، DECSDM را تنظیم میکند. در غیر این صورت، DECSDM را بازنشانی میکند.
یک بازنشانی کامل بر خلاف بازنشانی نرم، این موارد را انجام میدهد:
- مکاننما را به گوشهٔ بالا-چپ پنجره منتقل میکند و سپس آن موقعیت را ذخیره مینماید.
- خط وضعیت (status-line) را پنهان کرده و نوع نمایش آن را روی “none” تنظیم میکند.
- Reset and Clear Saved Lines (منبع cleavedlines)
- یک بازنشانی کامل را انجام میدهد، و همچنین خطوط ذخیرهشده را پاک میکند.
- این مورد با دنباله کنترلی VT102 RIS با چند تفاوت آشکار مطابقت دارد. بهعنوان مثال، برخلاف یک VT102 واقعی، نشست (session) شما قطع نمیشود.
- دستورهایی برای تنظیم صفحهٔ فعلی:
- Show Tek Window (منبع tekshow)
- هنگامی که فعال باشد، پنجره Tektronix 4014 را باز میکند (آن را مرئی میسازد). هنگامی که غیرفعال باشد، پنجره Tektronix 4014 را پنهان میکند. تغییر به حالت Tek (منبع tekmode) هنگامی که فعال باشد، اگر پنجرهٔ Tektronix 4014 از پیش نمایان نباشد، آن را باز میکند و جریان ورودی را به آن پنجره تغییر میدهد. هنگامی که غیرفعال باشد، پنجرهٔ Tektronix 4014 را پنهان کرده و ورودی را دوباره به پنجرهٔ VTxxx بازمیگرداند.
- پنهان کردن پنجره VT (منبع vthide)
- هنگامی که فعال باشد، پنجرهٔ VTxxx را پنهان میکند، پنجرهٔ Tektronix 4014 را در صورتی که از پیش نمایان نبوده باشد نشان میدهد و جریان ورودی را به آن پنجره منتقل میکند. هنگامی که غیرفعال باشد، پنجرهٔ VTxxx را نشان میدهد و جریان ورودی را به آن پنجره بازمیگرداند.
- نمایش صفحه جایگزین (منبع altscreen)
- هنگامی که فعال باشد، صفحهٔ جایگزین را نشان میدهد. هنگامی که غیرفعال باشد، صفحهٔ عادی را نشان میدهد. توجه داشته باشید که صفحهٔ عادی ممکن است خطوط ذخیرهشده داشته باشد؛ اما صفحهٔ جایگزین اینگونه نیست.
قلمهای VT (VT Fonts)
منوی fontMenu در xterm هنگامی نمایان میشود که کلید “control” و دکمهٔ سوم اشارهگر در یک پنجره فشرده شوند. این منو قلم مورد استفاده در پنجرهٔ VTxxx را تعیین میکند، یا نحوهٔ تعیین یا نمایش قلم را تغییر میدهد. این منو شامل چند بخش است.
بخش نخست به شما امکان میدهد قلم را از میان مجموعهای از گزینهها انتخاب کنید:
- پیشفرض (منبع fontdefault)
- قلم را روی حالت پیشفرض تنظیم میکند؛ یعنی مقداری که با منبع *VT100.font مشخص شده است.
- ناخوانا (منبع font1)
- قلم را روی مقدار مشخصشده توسط منبع *VT100.font1 تنظیم میکند.
- بسیار ریز (منبع font2)
- قلم را روی مقدار مشخصشده توسط منبع *VT100.font2 تنظیم میکند.
- کوچک (منبع font3)
- قلم را روی مقدار مشخصشده توسط منبع *VT100.font3 تنظیم میکند.
- متوسط (منبع font4)
- قلم را روی مقدار مشخصشده توسط منبع *VT100.font4 تنظیم میکند.
- بزرگ (منبع font5)
- قلم را روی مقدار مشخصشده توسط منبع *VT100.font5 تنظیم میکند.
- خیلی بزرگ (منبع font6)
- قلم را روی مقدار مشخصشده توسط منبع *VT100.font6 تنظیم میکند.
- بسیار بزرگ (منبع font7)
- قلم را روی مقدار مشخصشده توسط منبع *VT100.font7 تنظیم میکند.
- توالی گریز (منبع fontescape)
- به شما اجازه میدهد قلمی را تنظیم کنید که آخرین بار با توالی گریز Set Font تعیین شده است (ببینید: Xterm Control Sequences).
- گزینش (منبع fontsel)
- به شما اجازه میدهد قلم تعیینشده توسط گزینش فعلی را بهعنوان نام قلم تنظیم کنید (در صورتی که مالک گزینش PRIMARY باشید).
بخش دوم به شما اجازه میدهد نحوهٔ نمایش آن را تغییر دهید:
- قلمهای توپر (منبع allow-bold-fonts)
- این گزینه معمولاً علامتخورده (فعال) است. هنگامی که علامت آن برداشته شود، xterm از قلمهای توپر استفاده نخواهد کرد. این گزینهٔ منو منبع allowBoldFonts را تغییر میدهد.
- نویسههای رسم خط (منبع font-linedrawing)
- هنگامی که تنظیم شود، به xterm میگوید نویسههای رسم خط مخصوص به خود را ترسیم کند. در غیر این صورت، به وجود این نویسهها در قلم اتکا میکند. این گزینهٔ منو منبع forceBoxChars را تغییر میدهد.
- قلم فشرده (منبع font-packed)
- هنگامی که تنظیم شود، به xterm میگوید هنگام نمایش نویسهها، از کمینهٔ پهنای گلیف یک قلم استفاده کند. برای کمک به نمایش قلمهای تناسبی، از بیشینهٔ پهنا (حالت علامتنخورده) استفاده کنید. این گزینهٔ منو منبع forcePackedFont را تغییر میدهد.
- نویسههای با اندازه دوبرابر (منبع font-doublesize)
- هنگامی که تنظیم شود، ممکن است xterm از کارساز قلم بخواهد نسخههای مقیاسبندیشدهای از قلم عادی را برای نویسههای با اندازهٔ دوبرابر VT102 ایجاد کند.
بخش سوم به شما امکان میدهد نحوهٔ مشخص شدن آن را تغییر دهید:
- قلمهای TrueType (منبع render-font)
- اگر renderFont و منابع متناظر با آن تنظیم شده باشند، این یک کنترل بیشتر بر این است که آیا xterm در عمل از فراخوانیهای کتابخانهٔ Xft برای دریافت قلم استفاده کند یا خیر.
- کدگذاری UTF-8 (منبع utf8-mode)
- مشخص میکند که آیا xterm از کدگذاری UTF-8 برای ورودی/خروجی استفاده کند یا خیر. این گزینه برای تغییر موقت xterm جهت نمایش متن برنامهای که از تنظیمات محلی (locale) پیروی نمیکند سودمند است. این گزینه با منبع utf8 متناظر است.
- قلمهای UTF-8 (منبع utf8-fonts)
- مشخص میکند که آیا xterm از قلمهای UTF-8 برای نمایش استفاده کند یا خیر. این گزینه برای تغییر موقت xterm جهت نمایش متن برنامهای که از تنظیمات محلی پیروی نمیکند سودمند است. این گزینه منابع utf8 و utf8Fonts را با توجه به منبع locale ترکیب میکند.
- عنوانهای UTF-8 (منبع utf8-title)
- مشخص میکند که آیا xterm کدگذاری UTF-8 را برای توالیهای کنترلی عنوان میپذیرد یا خیر. این گزینه با منبع utf8Fonts متناظر است.
- در ابتدا علامت تیک بر اساس مقادیر هر دو منبع utf8 و utf8Fonts تنظیم میشود. اگر دومی روی “always” تنظیم شده باشد، علامت تیک غیرفعال میشود. به همین ترتیب، اگر هیچ قلمی در زیرمنابع utf8Fonts تعریف نشده باشد، علامت تیک نیز غیرفعال خواهد بود.
- فایل
استاندارد
app-defaults برنامهٔ
XTerm هر دو
مجموعه قلم
را تعریف
میکند، در
حالی که
فایل app-defaults
برنامهٔ UXTerm
تنها یک
مجموعه را
تعریف
میکند. با
فرض
فایلهای
استاندارد
app-defaults، این
دستور xterm را
با امکان
جابهجایی
میان
قلمهای
دارای
کدگذاری UTF-8 و
ISO-8859-1 اجرا
میکند:
uxterm -class XTerm
بخش چهارم به شما امکان میدهد عملیات ویژهای را که میتوان با نوشتن توالیهای گریز در پایانه مهار کرد، فعال یا غیرفعال کنید. اگر قابلیت SendEvents فعال باشد، این موارد غیرفعال میشوند:
- مجاز کردن عملیات رنگ (منبع allow-color-ops)
- این گزینه با منبع allowColorOps متناظر است. توالیهای کنترلی را که رنگها را تنظیم/استعلام میکنند فعال یا غیرفعال میکند.
- مجاز کردن عملیات قلم (منبع allow-font-ops)
- این گزینه با منبع allowFontOps متناظر است. توالیهای کنترلی را که قلم را تنظیم/استعلام میکنند فعال یا غیرفعال میکند.
- مجاز کردن عملیات موشواره (منبع allow-mouse-ops)
- توالیهای کنترلی را که سبب میشوند پایانه هنگام کلیکها و حرکت اشارهگر توالیهای گریز بفرستد، فعال یا غیرفعال میکند. این گزینه با منبع allowMouseOps متناظر است.
- مجاز کردن عملیات Tcap (منبع allow-tcap-ops)
- توالیهای کنترلی را که درک پایانه از رشتههای کلیدهای تابعیِ خود را بهعنوان قابلیتهای termcap یا terminfo استعلام میکنند، فعال یا غیرفعال میکند. این گزینه با منبع allowTcapOps متناظر است.
- مجاز کردن عملیات عنوان (منبع allow-title-ops)
- توالیهای کنترلی را که عنوان پنجره یا نام شمایل را تغییر میدهند فعال یا غیرفعال میکند. این گزینه با منبع allowTitleOps متناظر است.
- مجاز کردن عملیات پنجره (منبع allow-window-ops)
- توالیهای کنترلی گسترشیافتهٔ پنجره (مشابه آنچه در dtterm به کار رفته است) را فعال یا غیرفعال میکند. این گزینه با منبع allowWindowOps متناظر است.
- Large Characters (منبع tektextlarge)
- #2 Size Characters (منبع tektext2)
- #3 Size Characters (منبع tektext3)
- Small Characters (منبع tektextsmall)
دستورها:
- PAGE (منبع tekpage)
- دکمه “PAGE” در Tektronix را شبیهسازی میکند با:
- پاک کردن پنجره،
- لغو حالت ورودی گرافیک (graphics input-mode)، و
- انتقال مکاننما به موقعیت آغازین (home).
- RESET (منبع tekreset)
- برخلاف دکمه همنام “RESET” در Tektronix، این دستور تمام کارهای PAGE را انجام داده و علاوه بر آن، نوع خط و اندازه قلم را به مقادیر پیشفرضشان بازنشانی میکند.
- COPY (منبع tekcopy)
- دکمه “COPY” در Tektronix (که یک نسخه چاپی از صفحه تهیه میکند) را با نوشتن اطلاعات درون یک فایل متنی شبیهسازی میکند.
پنجرهها:
امنیت (SECURITY)
محیطهای X از نظر حساسیتهای امنیتی متفاوت هستند.
- بیشتر سرورها که تحت xdm اجرا میشوند، قادر به استفاده از طرح احراز هویت “magic cookie” هستند که میتواند سطح معقولی از امنیت را برای بسیاری از افراد فراهم کند. اگر سرور شما تنها از سازوکاری مبتنی بر میزبان (host-based) برای کنترل دسترسی به سرور استفاده میکند (ببینید: xhost(1))، در این صورت اگر دسترسی را برای یک میزبان فعال کنید و کاربران دیگر نیز مجاز به اجرای کلاینتها روی همان میزبان باشند، این احتمال وجود دارد که فردی برنامهای اجرا کند که با بهرهگیری از خدمات پایهای پروتکل X بر فعالیتهای شما جاسوسی کند (snoop کند)، و احتمالاً رونوشتی از هر آنچه را که روی صفحهکلید تایپ میکنید ضبط نماید.
- هر فرآیندی که به نمایشگر X شما دسترسی داشته باشد، میتواند آن را به روشهایی که شاید پیشبینی نکنید دستکاری کند، حتی ورودی صفحهکلید شما را به سوی خود هدایت کرده و رویدادهایی (events) را به پنجرههای برنامه شما بفرستد. این موضوع حتی با وجود طرح احراز هویت “magic cookie” نیز صادق است. اگرچه allowSendEvents محافظتهایی در برابر دستکاری برنامههای شما توسط برنامههای سرکش ارائه میدهد، اما محافظت در برابر شنودگرها بسیار دشوارتر است.
- برای نمونه، افزونه ورودی X (یا X input extension) به یک برنامه اجازه میدهد تمام ویژگیهای دیگرِ (محدودِ) احراز هویت و امنیتی، از جمله پروتکل GrabKeyboard را دور بزند.
- احتمال جاسوسی یک برنامه از کلیدهای فشردهشده توسط شما، بهویژه زمانی که میخواهید یک گذرواژه یا دادههای حساس دیگری را تایپ کنید، مایه نگرانی است. بهترین راهحل برای این مشکل، استفاده از یک سازوکار احراز هویت بهتر از آنچه توسط X ارائه میشود است.
با وجود تمامی این هشدارها، یک سازوکار ساده برای محافظت از ورودی صفحهکلید در xterm وجود دارد.
منوی xterm (بخش MENUS در بالا را ببینید) حاوی گزینه Secure Keyboard است که هنگام فعال بودن، تلاش میکند اطمینان حاصل کند که تمام ورودی صفحهکلید تنها به xterm هدایت شود (با استفاده از درخواست پروتکل GrabKeyboard). هنگامی که برنامهای از شما گذرواژه (یا دادههای حساس دیگر) را درخواست میکند، میتوانید Secure Keyboard را با استفاده از منو فعال کنید، دادهها را وارد نمایید، و سپس مجدداً با استفاده از منو Secure Keyboard را غیرفعال کنید.
- این کار تضمین میکند که بدانید کدام پنجره کلیدهای فشردهشده شما را دریافت میکند.
- اما نمیتواند تضمین کند که هیچ فرآیندی با دسترسی به نمایشگر X شما وجود ندارد که کلیدهای فشردهشده را شنود یا نظارت کند.
در هر زمان تنها یک کلاینت X میتواند صفحهکلید را تصاحب کند (grab)، بنابراین وقتی تلاش میکنید Secure Keyboard را فعال کنید ممکن است با شکست مواجه شود. در این حالت، زنگ اخطار به صدا درخواهد آمد. اگر Secure Keyboard با موفقیت انجام شود، رنگهای پیشزمینه و پسزمینه جابهجا خواهند شد (مانند حالتی که گزینه Enable Reverse Video را در منوی Modes انتخاب کرده باشید)؛ و هنگام خروج از حالت امن دوباره جابهجا خواهند شد. اگر رنگها تعویض نشدند، باید بسیار مشکوک شوید که هدف جعل و فریب (spoofing) قرار گرفتهاید. اگر برنامهای که اجرا میکنید پیش از درخواست گذرواژه اعلانی (prompt) را نمایش میدهد، امنترین کار این است که پیش از نمایش اعلان وارد حالت امن شوید، و مطمئن شوید که اعلان بهدرستی (با رنگهای جدید) نمایش داده شود، تا احتمال فریب به حداقل برسد. همچنین میتوانید منو را مجدداً باز کرده و اطمینان حاصل کنید که یک علامت تیک در کنار این گزینه قرار گرفته است.
حالت Secure Keyboard بهطور خودکار غیرفعال خواهد شد اگر پنجره xterm شما آیکون شود (یا به هر شکل دیگری unmapped و پنهان گردد)، یا اگر در حالت Secure Keyboard یک مدیر پنجره بازوالدینساز (reparenting window manager که یک نوار عنوان یا تزئینات دیگر دور پنجره قرار میدهد) را اجرا کنید. (این یکی از ویژگیهای پروتکل X است که غلبه بر آن آسان نیست.) هنگامی که این اتفاق بیفتد، رنگهای پیشزمینه و پسزمینه به حالت قبل بازمیگردند و زنگ اخطار به عنوان هشدار به صدا درخواهد آمد. دو بار کلیک متوالی و سریع دکمهٔ چپ اشارهگر (دوبار کلیک) باعث میشود همهٔ نویسههای متعلق به یک کلاس یکسان (مانند حروف، فاصلههای خالی، علائم نگارشی) بهصورت یک “کلمه” انتخاب شوند. از آنجا که افراد مختلف ترجیحات متفاوتی دربارهٔ آنچه باید انتخاب شود دارند (برای نمونه، آیا نام فایلها باید بهصورت کامل انتخاب شوند یا فقط زیرنامهای مجزا)، نگاشت پیشفرض را میتوان با استفاده از منبع charClass (کلاس CharClass) بازنویسی کرد.
این منبع دنبالهای از جفتهای range:value است که با کاما از یکدیگر جدا شدهاند.
- مقدار range یا یک عدد تکی است یا low-high در بازهٔ 0 تا 65535، که متناظر با کد نویسه یا نویسههایی است که باید تنظیم شوند.
- مقدار value اختیاری و دلخواه است. برای نمونه، جدول پیشفرض از شمارهٔ نویسهٔ نخستین نویسهٔ موجود در مجموعه استفاده میکند. هنگامی که در حالت UTF-8 نباشید، تنها 256 مدخل نخست این جدول استفاده خواهند شد.
جدول پیشفرض بهصورت زیر آغاز میشود -
static int charClass[256] = {
/* NUL SOH STX ETX EOT ENQ ACK BEL */
32, 1, 1, 1, 1, 1, 1, 1,
/* BS HT NL VT NP CR SO SI */
1, 32, 1, 1, 1, 1, 1, 1,
/* DLE DC1 DC2 DC3 DC4 NAK SYN ETB */
1, 1, 1, 1, 1, 1, 1, 1,
/* CAN EM SUB ESC FS GS RS US */
1, 1, 1, 1, 1, 1, 1, 1,
/* SP ! " # $ % & ' */
32, 33, 34, 35, 36, 37, 38, 39,
/* ( ) * + , - . / */
40, 41, 42, 43, 44, 45, 46, 47,
/* 0 1 2 3 4 5 6 7 */
48, 48, 48, 48, 48, 48, 48, 48,
/* 8 9 : ; < = > ? */
48, 48, 58, 59, 60, 61, 62, 63,
/* @ A B C D E F G */
64, 48, 48, 48, 48, 48, 48, 48,
/* H I J K L M N O */
48, 48, 48, 48, 48, 48, 48, 48,
/* P Q R S T U V W */
48, 48, 48, 48, 48, 48, 48, 48,
/* X Y Z [ \ ] ^ _ */
48, 48, 48, 91, 92, 93, 94, 48,
/* ` a b c d e f g */
96, 48, 48, 48, 48, 48, 48, 48,
/* h i j k l m n o */
48, 48, 48, 48, 48, 48, 48, 48,
/* p q r s t u v w */
48, 48, 48, 48, 48, 48, 48, 48,
/* x y z { | } ~ DEL */
48, 48, 48, 123, 124, 125, 126, 1,
/* x80 x81 x82 x83 IND NEL SSA ESA */
1, 1, 1, 1, 1, 1, 1, 1,
/* HTS HTJ VTS PLD PLU RI SS2 SS3 */
1, 1, 1, 1, 1, 1, 1, 1,
/* DCS PU1 PU2 STS CCH MW SPA EPA */
1, 1, 1, 1, 1, 1, 1, 1,
/* x98 x99 x9A CSI ST OSC PM APC */
1, 1, 1, 1, 1, 1, 1, 1,
/* - i c/ L ox Y- | So */
160, 161, 162, 163, 164, 165, 166, 167,
/* .. c0 ip << _ R0 - */
168, 169, 170, 171, 172, 173, 174, 175,
/* o +- 2 3 ' u q| . */
176, 177, 178, 179, 180, 181, 182, 183,
/* , 1 2 >> 1/4 1/2 3/4 ? */
184, 185, 186, 187, 188, 189, 190, 191,
/* A` A' A^ A~ A: Ao AE C, */
48, 48, 48, 48, 48, 48, 48, 48,
/* E` E' E^ E: I` I' I^ I: */
48, 48, 48, 48, 48, 48, 48, 48,
/* D- N~ O` O' O^ O~ O: X */
48, 48, 48, 48, 48, 48, 48, 215,
/* O/ U` U' U^ U: Y' P B */
48, 48, 48, 48, 48, 48, 48, 48,
/* a` a' a^ a~ a: ao ae c, */
48, 48, 48, 48, 48, 48, 48, 48,
/* e` e' e^ e: i` i' i^ i: */
48, 48, 48, 48, 48, 48, 48, 48,
/* d n~ o` o' o^ o~ o: -: */
48, 48, 48, 48, 48, 48, 48, 247,
/* o/ u` u' u^ u: y' P y: */
48, 48, 48, 48, 48, 48, 48, 48};
- برای نمونه، رشتهٔ “33:48,37:48,45-47:48,38:48” مشخص میکند که با نویسههای علامت تعجب، درصد، خط تیره، نقطه، اسلش و امپرسند باید همانند حروف و ارقام رفتار شود. این ویژگی برای بریدن و چسباندن نشانیهای پست الکترونیکی و نام فایلها سودمند است. با تغییر منابع translations برای ویجتهای vt100 یا tek4014، امکان پیوند دوباره کلیدها (یا دنبالهای از کلیدها) به رشتههای دلخواه برای ورودی وجود دارد. تغییر منبع translations برای رویدادهایی غیر از رویدادهای کلید و دکمه انتظار نمیرود و باعث رفتارهای غیرقابلپیشبینی خواهد شد.
کنشها (Actions)
کنشهای زیر برای استفاده در منابع translations مربوط به vt100 یا tek4014 ارائه شدهاند:
- allow-bold-fonts(on/off/toggle)
- این کنش منبع allowBoldFonts را تنظیم، لغو یا وضعیت آن را دگرگون میکند و همچنین توسط مدخل allow-bold-fonts در fontMenu فراخوانی میشود.
- allow-color-ops(on/off/toggle)
- این کنش منبع allowColorOps را تنظیم، لغو یا وضعیت آن را دگرگون میکند و همچنین توسط مدخل allow-color-ops در fontMenu فراخوانی میشود.
- allow-font-ops(on/off/toggle)
- این کنش منبع allowFontOps را تنظیم، لغو یا وضعیت آن را دگرگون میکند و همچنین توسط مدخل allow-font-ops در fontMenu فراخوانی میشود.
- allow-mouse-ops(on/off/toggle)
- این کنش منبع allowMouseOps را تنظیم، لغو یا وضعیت آن را دگرگون میکند و همچنین توسط مدخل allow-mouse-ops در fontMenu فراخوانی میشود.
- allow-send-events(on/off/toggle)
- این کنش منبع allowSendEvents را تنظیم، لغو یا وضعیت آن را دگرگون میکند و همچنین توسط مدخل allowsends در mainMenu فراخوانی میشود.
- allow-tcap-ops(on/off/toggle)
- این کنش منبع allowTcapOps را تنظیم، لغو یا وضعیت آن را دگرگون میکند و همچنین توسط مدخل allow-tcap-ops در fontMenu فراخوانی میشود.
- allow-title-ops(on/off/toggle)
- این کنش منبع allowTitleOps را تنظیم، لغو یا وضعیت آن را دگرگون میکند و همچنین توسط مدخل allow-title-ops در fontMenu فراخوانی میشود.
- allow-window-ops(on/off/toggle)
- این کنش منبع allowWindowOps را تنظیم، لغو یا وضعیت آن را دگرگون میکند و همچنین توسط مدخل allow-window-ops در fontMenu فراخوانی میشود.
- alt-sends-escape()
- این کنش وضعیت منبع altSendsEscape را دگرگون میکند.
- bell([percent])
- این کنش زنگ صفحهکلید را با درصد مشخصشده بالاتر یا پایینتر از میزان صدای پایه به صدا درمیآورد.
- clear-saved-lines()
- این کنش عملیات hard-reset() را انجام داده و همچنین تاریخچه سطرهای ذخیرهشده از بالای صفحه نمایش را پاک میکند. این کنش همچنین از طریق مدخل clearsavedlines در vtMenu فراخوانی میشود. اثر آن دقیقاً مشابه دنباله کنترلی بازنشانی سختافزاری (RIS) است.
- copy-selection(destname [, ...])
- این کنش متن انتخابشده فعلی را در تمام گزینشها یا میانگیرهای برش مشخصشده توسط destname قرار میدهد. برخلاف select-end، این کنش موقعیت ماوس را ارسال نمیکند و تغییری در وضعیت داخلی گزینش ایجاد نمینماید.
- create-menu(m/v/f/t)
- این کنش یکی از منوهای مورد استفاده توسط xterm را در صورتی که پیشتر ایجاد نشده باشد، میسازد. مقادیر پارامتر بهترتیب نامهای منو هستند: mainMenu، vtMenu، fontMenu و tekMenu.
- dabbrev-expand()
- کلمه قبل از
مکاننما
را با جستجو
در متن قبلی
روی صفحه
نمایش و
میانگیر
پیمایش به
عقب برای
کلماتی که
با آن
اختصار
شروع
میشوند،
بسط میدهد.
تکرار
پیاپی dabbrev-expand()
با جستجو در
فاصلهای
دورتر به
دنبال
بسطهای
جایگزین
میگردد.
نبود
تطابقهای
بیشتر با
صدای زنگ
اعلام
میشود.
تلاش برای
بسط یک کلمه
خالی (یعنی
زمانی که
قبل از
مکاننما
یک فاصله
باشد)
بهطور
متوالی
تمام کلمات
قبلی را
نتیجه
میدهد.
بسطهای
یکسان
متوالی
نادیده
گرفته
میشوند.
کلمه در
اینجا به
عنوان
دنبالهای
از
نویسههای
غیرفاصلهای
تعریف
میشود. این
ویژگی تا
حدی رفتار
بسط “dynamic abbreviation”
را در Emacs (که در
آنجا به M-/
متصل است)
شبیهسازی
میکند. در
اینجا یک
تنظیم منبع
برای xterm
آورده شده
است که همان
کار را
انجام
میدهد:
*VT100*translations: #override \n\ Meta <KeyPress> /:dabbrev-expand()
- deiconify()
- در صورتی که پنجره به نماد تبدیل شده باشد، وضعیت آن را به حالت عادی بازمیگرداند.
- delete-is-del()
- این کنش وضعیت منبع deleteIsDEL را دگرگون میکند.
- dired-button()
- یک رویداد
دکمه (بهجز
فشردن و رها
کردن) را با
بازتاب
موقعیت
رویداد
(یعنی سطر و
ستون نویسه)
در قالب زیر
مدیریت
میکند:
^X ESC G <line+“ ”> <col+“ ”>
- dump-html()
- ویژگی XHTML Screen Dump را فراخوانی میکند.
- dump-svg()
- ویژگی SVG Screen Dump را فراخوانی میکند.
- exec-formatted(format, sourcename [, ...])
- یک دستور خارجی را با استفاده از گزینش فعلی به عنوان بخشی از پارامترهای دستور اجرا میکند. اولین پارامتر، format، دستور اصلی را مشخص میکند. پارامترهای بعدی منبع گزینش را مشابه insert-selection تعیین میکنند.
- پارامتر format این جایگزینیها را مجاز میداند:
- %%
- یک "%" درج میکند.
- %P
- موقعیت صفحه نمایش در ابتدای ناحیه برجستهشده، به عنوان جفتی از اعداد صحیح جداشده با نقطه ویرگول با استفاده از مقادیری که دنباله کنترلی CUP استفاده میکند.
- %p
- موقعیت صفحه نمایش پس از ابتدای ناحیه برجستهشده، با استفاده از همان قاعده “%P”.
- %S
- طول رشتهای که “%s” درج میکند.
- %s
- محتوای گزینش، بدون تغییر.
- %T
- طول رشتهای که “%t” درج میکند.
- %t
- گزینش، پیراستهشده از فاصلههای ابتدایی/انتهایی. فاصلههای میانی (و خطوط جدید) همانطور که هستند کپی میشوند.
- %R
- طول رشتهای که “%r” درج میکند.
- %r
- گزینش، پیراستهشده از فاصلههای انتهایی.
- %V
- ویژگیهای ویدیویی در ابتدای ناحیه برجستهشده، به عنوان فهرستی از اعداد صحیح جداشده با نقطه ویرگول با استفاده از مقادیری که دنباله کنترلی SGR استفاده میکند.
- %v
- ویژگیهای ویدیویی پس از پایان ناحیه برجستهشده، با استفاده از همان قاعده “%V”.
- پس از ساخت رشته دستور، xterm یک زیرفرآیند ایجاد کرده و دستور را اجرا میکند که مستقل از xterm تکمیل میشود.
- برای
نمونه، این
پیوند یک
فرآیند
جدید xterm را
فراخوانی
میکند تا
فایلی را که
نام آن در
حین نگه
داشتن کلید
Shift انتخاب
شده است،
نمایش دهد.
فرآیند
جدید زمانی
آغاز
میشود که
دکمه ماوس
رها شود:
*VT100*translations: #override Shift \ <Btn1Up>:exec-formatted("xterm -e view '%t'", SELECT)
- exec-selectable(format, onClicks)
- یک دستور خارجی را با استفاده از دادههای کپیشده از صفحه نمایش به عنوان بخشی از پارامترهای دستور اجرا میکند. اولین پارامتر، format، دستور اصلی را مشابه exec-formatted مشخص میکند. دومین پارامتر شیوه کپی کردن دادهها را مشابه منبع on2Clicks تعیین مینماید..TP 8 fullscreen(on/off/toggle) این کنش، منبع fullscreen را تنظیم، لغو یا وضعیت آن را دگرگون (toggle) میکند.
- hard-reset()
- این کنش ناحیه پیمایش، زبانهها (tabها)، اندازه پنجره و کلیدهای مکاننما را بازنشانی کرده و صفحه را پاک میکند. همچنین از طریق مدخل hardreset در vtMenu نیز فراخوانی میشود.
- iconify()
- پنجره را نمادین (iconify) میکند.
- ignore()
- این کنش رویداد را نادیده میگیرد اما دنبالههای گریزِ (escape sequences) ویژه موقعیت اشارهگر را بررسی میکند.
- insert()
- این کنش نویسه یا رشته مرتبط با کلید فشردهشده را درج میکند.
- insert-eight-bit()
- این کنش نسخه هشتبیتی (Meta) نویسه یا رشته مرتبط با کلید فشردهشده را درج میکند. تنها مقادیر تکبایتی بهصورت ویژه رفتار میشوند. عملکرد دقیق به مقدار منابع altSendsEscape، metaSendsEscape و eightBitInput بستگی دارد. ابتدا منبع metaSendsEscape بررسی میشود. برای توضیحات کامل، منبع eightBitInput را ببینید.
- عبارت “هشتبیتی” گمراهکننده است: xterm بررسی میکند که آیا کلید در محدوده 128 تا 255 است (بیت هشتم تنظیم شده است) یا خیر. اگر مقدار در آن محدوده باشد، بسته به مقادیر منابع، xterm ممکن است یکی از کارهای زیر را انجام دهد:
- افزودن 128 به مقدار، با تنظیم بیت هشتم آن،
- ارسال یک بایت ESC پیش از کلید، یا
- ارسال کلید بدون تغییر.
- insert-formatted(format, sourcename [, ...])
- انتخاب فعلی یا دادههای مربوط به آن را بهصورت قالببندیشده درج میکند. اولین پارامتر، format، الگوی دادهها را مشابه exec-formatted تعیین میکند. پارامترهای بعدی منبع انتخاب را مشابه insert-selection مشخص میکنند.
- insert-selectable(format, onClicks)
- دادههای رونوشتشده از صفحه را بهصورت قالببندیشده درج میکند. اولین پارامتر، format، الگوی دادهها را مشابه exec-formatted تعیین میکند. پارامتر دوم روش رونوشت دادهها را مشابه منبع on2Clicks مشخص میکند.
- insert-selection(sourcename [, ...])
- این کنش رشته یافتشده در انتخاب (selection) یا بافر برش (cutbuffer) مشخصشده توسط sourcename را درج میکند. منابع به ترتیبی که مشخص شدهاند (با حساسیت به بزرگی و کوچکی حروف) بررسی میشوند تا یکی از آنها پیدا شود. انتخابهای پرکاربرد عبارتند از: PRIMARY، SECONDARY و CLIPBOARD. بافرهای برش معمولاً از CUT_BUFFER0 تا CUT_BUFFER7 نامگذاری میشوند.
- insert-seven-bit()
- این کنش مترادفی برای insert() است. عبارت “هفتبیتی” گمراهکننده است: این فقط بدین معنی است که xterm سعی نمیکند مقدار 128 را به مقدار کلید اضافه کند، مشابه آنچه در insert-eight-bit() انجام میشود.
- interpret(control-sequence)
- دنباله کنترلیِ دادهشده را بهصورت محلی، یعنی بدون ارسال به میزبان، تفسیر میکند. این کار با درج دنباله کنترلی در ابتدای بافر ورودی انجام میشود. از “\” برای گریزِ ارقام هشتهشتی در رشته استفاده کنید. Xt اجازه نمیدهد نویسه تهی (null) (یعنی “\000”) را در رشته قرار دهید.
- keymap(name)
- این کنش بهطور پویا جدول نگاشت (translation table) جدیدی تعریف میکند که نام منبع آن name به همراه پسوند “Keymap” است (یعنی nameKeymap، که در آن بزرگی و کوچکی حروف اهمیت دارد). نام None جدول نگاشت اصلی را بازیابی میکند.
- larger-vt-font()
- قلم را بر اساس ابعاد قلم، به اندازه بزرگتر بعدی تنظیم میکند. همچنین set-vt-font() را ببینید.
- load-vt-fonts(name[,class])
- نام قلمها را از نام زیرمنبع و کلاس مشخصشده بارگذاری میکند. بدین معنا که منبع “*VT100.name.font” را بهعنوان “*VT100.font” و غیره بارگذاری میکند. اگر نامی داده نشود، مجموعه اصلی نام قلمها بازیابی میشود.
- برخلاف set-vt-font()، این کنش بر قلمهای گریز (escape-fonts) و انتخاب (select-fonts) تأثیری ندارد، زیرا آنها بر اساس مقادیر منابع نیستند. اما بر قلمهایی که بهطور عمومی ذیل مدخل منوی “Default” سازماندهی شدهاند اثر میگذارد، از جمله font، boldFont، wideFont و wideBoldFont.
- maximize()
- اندازه پنجره را تغییر میدهد تا تمام صفحه را پر کند.
- meta-sends-escape()
- این کنش وضعیت منبع metaSendsEscape را دگرگون (toggle) میکند.
- pointer-button()
- از این کنش بهعنوان راهکاری جایگزین (fall-back) برای مدیریت رویدادهای فشردن و رها کردن دکمهها برای پروتکل دنباله کنترلی موشواره استفاده کنید، زمانی که نگاشتهای مرتبط با انتخاب توسط منبع omitTranslation مسدود شدهاند.
- pointer-motion()
- از این کنش بهعنوان راهکاری جایگزین (fall-back) برای مدیریت رویدادهای حرکتی برای پروتکل دنباله کنترلی موشواره استفاده کنید، زمانی که نگاشتهای مرتبط با انتخاب توسط منبع omitTranslation مسدود شدهاند.
- popup-menu(menuname)
- این کنش منوی جهنده (popup) مشخصشده را نمایش میدهد. نامهای معتبر (با حساسیت به بزرگی و کوچکی حروف) عبارتند از: mainMenu، vtMenu، fontMenu و tekMenu.
- print(printer-flags)
- این کنش پنجره را چاپ میکند. همچنین از طریق مدخل print در mainMenu نیز فراخوانی میشود.
- این کنش پارامترهای اختیاری را میپذیرد که بهطور موقت تنظیمات منبع را بازنویسی (override) میکنند. تطبیق مقادیر پارامتر بدون در نظر گرفتن بزرگی و کوچکی حروف انجام میشود:
- noFormFeed
- در انتهای آخرین خط چاپشده، هیچ کاراکتر تغذیه صفحه (form feed) ارسال نخواهد شد (یعنی printerFormFeed برابر با “false” است).
- FormFeed
- در انتهای آخرین خط چاپشده، یک کاراکتر تغذیه صفحه (form feed) ارسال خواهد شد (یعنی printerFormFeed برابر با “true” است).
- noNewLine
- در انتهای آخرین خط چاپشده، هیچ خط جدیدی (newline) ارسال نخواهد شد، و خطوط شکسته شده در قالب خطوط طولانی ترکیب خواهند شد (یعنی printerNewLine برابر با “false” است).
- NewLine
- در انتهای آخرین خط چاپشده، یک خط جدید (newline) ارسال خواهد شد، و هر خط (با افزودن یک خط جدید) به عرض صفحه محدود خواهد شد (یعنی printerNewLine برابر با “true” است).
- noAttrs
- صفحه بدون ویژگیها (attributes) چاپ میشود (یعنی printAttributes برابر با “0” است).
- monoAttrs
- صفحه با ویژگیهای تکرنگ (vt220) چاپ میشود (یعنی printAttributes برابر با “1” است).
- colorAttrs
- صفحه با ویژگیهای رنگی ANSI چاپ میشود (یعنی printAttributes برابر با “2” است).
- print-everything(printer-flags)
- این کنش کل تاریخچه متن را افزون بر متن در حال حاضر نمایان، به برنامه تعیینشده در منبع printerCommand ارسال میکند. این کنش همان پارامترهای اختیاری کنش print را میپذیرد. با یک دستور چاپگر مناسب، این کنش میتواند برای بارگذاری تاریخچه متن در یک ویرایشگر به کار رود.
- print-immediate()
- متن پنجره فعلی را طبق آنچه در منابع printFileImmediate، printModeImmediate و printOptsImmediate مشخص شده است، مستقیماً به یک فایل ارسال میکند..TP 8 print-on-error() پرچمی را تغییر وضعیت میدهد که به xterm اعلام میکند اگر با یک خطای X خارج شد، متن پنجرهٔ کنونی را مستقیماً به یک فایل بفرستد، همانگونه که توسط منابع printFileOnXError، printModeOnXError و printOptsOnXError تعیین شده است.
- print-redir()
- این کُنش مقدار printerControlMode را بین 0 و 2 تغییر وضعیت میدهد. مدخل متناظر در منوی جهنده زمانی سودمند است که پس از تصمیم به چاپ فایلهای باینری تصادفی روی ترمینال، نظرتان تغییر کرده باشد و بخواهید چاپگر را خاموش کنید.
- quit()
-
این کُنش یک سیگنال SIGHUP را به زیربرنامه فرستاده و خارج میشود. همچنین توسط مدخل quit در mainMenu فراخوانی میشود. - readline-button()
- از قابلیت اختیاری readline با پژواک توالیهای کنترلی مکرر برای حرکت مکاننما به جلو یا عقب هنگام رویداد رها کردن دکمه پشتیبانی میکند، تا از برنامهٔ میزبان بخواهد تصورش از موقعیت مکاننما را بهمنظور تطابق با رویداد دکمه بهروزرسانی کند.
- redraw()
- این کُنش پنجره را بازترسیم میکند. همچنین توسط مدخل redraw در mainMenu فراخوانی میشود.
- restore()
- پنجره را به اندازهای که پیش از آخرین بیشینهسازی داشت، بازمیگرداند.
- scroll-back(count [,units [,mouse] ])
- این کُنش پنجرهٔ متنی را به سمت عقب پیمایش میکند تا متنی که پیشتر از بالای صفحه خارج شده بود، دوباره قابل مشاهده باشد.
- آرگومان count تعداد units (که میتواند page، halfpage، pixel یا line باشد) را برای پیمایش نشان میدهد. اگر هیچ پارامتر count مشخص نشود، xterm از تعداد خطوط تعیینشده توسط منبع scrollLines استفاده میکند.
- میتوان تنظیمی را برای واحدهای page یا halfpage با افزودن علامت “+” یا “-” به همراه یک عدد مشخص کرد، برای نمونه page-2 برای تعیین ۲ خط کمتر از یک صفحه.
- اگر پارامتر دوم حذف شود، از “lines” استفاده میشود.
- اگر پارامتر سوم یعنی mouse داده شود، هنگامی که گزارشدهی ماوس فعال باشد این کُنش نادیده گرفته میشود.
- scroll-forw(count [,units [,mouse] ])
- این کُنش شبیه به scroll-back است با این تفاوت که در جهت مخالف پیمایش میکند.
- scroll-lock(on/off/toggle)
- این کُنش با رعایت منبع allowScrollLock، وضعیت درونی را که به xterm نشان میدهد آیا Scroll Lock فعال است یا خیر، تنظیم، غیرفعال یا تغییر وضعیت میدهد.
- scroll-to(count)
- پیمایش به خط دادهشده نسبت به ابتدای خطوط ذخیرهشده. برای نمونه، “scroll-to(0)” به ابتدا پیمایش میکند. دو پارامتر غیرعددی ویژه شناسایی میشوند:
- scroll-to(begin)
- پیمایش به ابتدای خطوط ذخیرهشده.
- scroll-to(end)
- پیمایش به انتهای خطوط ذخیرهشده، یعنی به صفحهٔ فعال کنونی.
- secure()
- این کُنش حالت Secure Keyboard را تغییر وضعیت میدهد (بخش SECURITY را ببینید)، و از مدخل securekbd در mainMenu فراخوانی میشود.
- select-cursor-end(destname [, ...])
- این کُنش شبیه به select-end است با این تفاوت که باید همراه با select-cursor-start استفاده شود.
- select-cursor-extend()
- این کُنش شبیه به select-extend است با این تفاوت که باید همراه با select-cursor-start استفاده شود.
- select-cursor-start()
- این کُنش شبیه به select-start است با این تفاوت که گزینش را از موقعیت فعلی مکاننمای متن آغاز میکند.
- select-end(destname [, ...])
- این کُنش متن گزینششدهٔ فعلی را در تمامی گزینشها یا cutbufferهای مشخصشده توسط destname قرار میدهد. همچنین موقعیت ماوس را فرستاده و وضعیت گزینش درونی را برای بازتاب پایان فرایند گزینش بهروزرسانی میکند.
- select-extend()
- این کُنش اشارهگر را دنبال کرده و گزینش را گسترش میدهد. این کُنش تنها باید به رویدادهای حرکت (Motion) مقید شود.
- select-set()
- این کُنش متن متناظر با گزینش کنونی را ذخیره میکند، بدون اینکه بر حالت گزینش تأثیر بگذارد.
- select-start()
- این کُنش گزینش متن را در موقعیت فعلی اشارهگر آغاز میکند. برای اطلاعات دربارهٔ انجام گزینشها، بخش POINTER USAGE را ببینید.
- اگر xterm برای پشتیبانی از گزینش بلوکی پیکربندی شده باشد، این کُنش پارامتر “block” را میپذیرد که بهجای گزینش نویسهمحور پیشفرض، یک گزینش بلوکی را آغاز میکند.
- send-signal(signame)
- این کُنش سیگنال مشخصشده با signame را به زیرفرایند xterm (پوسته یا برنامهٔ مشخصشده با گزینهٔ خط فرمان -e) میفرستد. همچنین توسط مدخلهای suspend، continue، interrupt، hangup، terminate و kill در mainMenu فراخوانی میشود. نامهای مجاز سیگنال عبارتند از (حساسیت به بزرگی و کوچکی حروف وجود ندارد): tstp (در صورت پشتیبانی سیستمعامل)، suspend (همانند tstp)، cont (در صورت پشتیبانی سیستمعامل)، int، hup، term، quit، alrm، alarm (همانند alrm) و kill.
- set-8-bit-control(on/off/toggle)
- این کُنش منبع eightBitControl را تنظیم، غیرفعال یا تغییر وضعیت میدهد. همچنین از مدخل 8-bit-control در vtMenu فراخوانی میشود.
- set-allow132(on/off/toggle)
- این کُنش منبع c132 را تنظیم، غیرفعال یا تغییر وضعیت میدهد. همچنین از مدخل allow132 در vtMenu فراخوانی میشود.
- set-altscreen(on/off/toggle)
- این کُنش وضعیت بین صفحهٔ جایگزین و صفحهٔ کنونی را تنظیم، غیرفعال یا جابهجا (تغییر وضعیت) میکند.
- set-appcursor(on/off/toggle)
- این کُنش مدیریت حالت Application Cursor Key را تنظیم، غیرفعال یا تغییر وضعیت میدهد و همچنین توسط مدخل appcursor در vtMenu فراخوانی میشود.
- set-appkeypad(on/off/toggle)
- این کُنش مدیریت حالت Application Keypad را تنظیم، غیرفعال یا تغییر وضعیت میدهد و همچنین توسط مدخل appkeypad در vtMenu فراخوانی میشود.
- set-autolinefeed(on/off/toggle)
- این کُنش درج خودکار سطر جدید را تنظیم، غیرفعال یا تغییر وضعیت میدهد. همچنین توسط مدخل autolinefeed در vtMenu فراخوانی میشود.
- set-autowrap(on/off/toggle)
- این کُنش شکستن خودکار خطوط طولانی را تنظیم، غیرفعال یا تغییر وضعیت میدهد. همچنین توسط مدخل autowrap در vtMenu فراخوانی میشود.
- set-backarrow(on/off/toggle)
- این کُنش منبع backarrowKey را تنظیم، غیرفعال یا تغییر وضعیت میدهد. همچنین از مدخل backarrow key در vtMenu فراخوانی میشود.
- set-bellIsUrgent(on/off/toggle)
- این کُنش منبع bellIsUrgent را تنظیم، غیرفعال یا تغییر وضعیت میدهد. همچنین توسط مدخل bellIsUrgent در vtMenu فراخوانی میشود.
- set-cursesemul(on/off/toggle)
- این کُنش منبع curses را تنظیم، غیرفعال یا تغییر وضعیت میدهد. همچنین از مدخل cursesemul در vtMenu فراخوانی میشود.
- set-cursorblink(on/off/toggle)
- این کُنش منبع cursorBlink را تنظیم، غیرفعال یا تغییر وضعیت میدهد. همچنین از مدخل cursorblink در vtMenu فراخوانی میشود..TP 8 set-font-doublesize(on/off/toggle) این کُنش منبع fontDoublesize را تنظیم، لغو یا معکوس میکند. همچنین توسط مدخل font-doublesize در fontMenu فراخوانی میشود.
- set-font-linedrawing(on/off/toggle)
- این کُنش وضعیت xterm را در رابطه با اینکه آیا قلم فعلی نویسههای خطکشی (line-drawing) دارد و آیا باید آنها را مستقیماً رسم کند یا خیر، تنظیم، لغو یا معکوس میکند. همچنین توسط مدخل font-linedrawing در fontMenu فراخوانی میشود.
- set-font-packed(on/off/toggle)
- این کُنش منبع forcePackedFont را که استفاده از کمینه یا بیشینهٔ پهنای گلیف قلم را کنترل میکند، تنظیم، لغو یا معکوس میکند. همچنین توسط مدخل font-packed در fontMenu فراخوانی میشود.
- set-hp-function-keys(on/off/toggle)
- این کُنش منبع hpFunctionKeys را تنظیم، لغو یا معکوس میکند. همچنین توسط مدخل hpFunctionKeys در mainMenu فراخوانی میشود.
- set-jumpscroll(on/off/toggle)
- این کُنش منبع jumpscroll را تنظیم، لغو یا معکوس میکند. همچنین توسط مدخل jumpscroll در vtMenu فراخوانی میشود.
- set-keep-clipboard(on/off/toggle)
- این کُنش منبع keepClipboard را تنظیم، لغو یا معکوس میکند.
- set-keep-selection(on/off/toggle)
- این کُنش منبع keepSelection را تنظیم، لغو یا معکوس میکند. همچنین توسط مدخل keepSelection در vtMenu فراخوانی میشود.
- set-logging(on/off/toggle)
- این کُنش وضعیت گزینهٔ گزارشگیری را تنظیم، لغو یا معکوس میکند.
- set-marginbell(on/off/toggle)
- این کُنش منبع marginBell را تنظیم، لغو یا معکوس میکند.
- set-num-lock(on/off/toggle)
- این کُنش وضعیت منبع numLock را معکوس میکند.
- set-old-function-keys(on/off/toggle)
- این کُنش وضعیت کلیدهای عملکردی موروثی (legacy) را تنظیم، لغو یا معکوس میکند. همچنین توسط مدخل oldFunctionKeys در mainMenu فراخوانی میشود.
- set-pop-on-bell(on/off/toggle)
- این کُنش منبع popOnBell را تنظیم، لغو یا معکوس میکند. همچنین توسط مدخل poponbell در vtMenu فراخوانی میشود.
- set-private-colors(on/off/toggle)
- این کُنش منبع privateColorRegisters را تنظیم، لغو یا معکوس میکند.
- set-render-font(on/off/toggle)
- این کُنش منبع renderFont را تنظیم، لغو یا معکوس میکند. همچنین توسط مدخل render-font در fontMenu فراخوانی میشود.
- set-reverse-video(on/off/toggle)
- این کُنش منبع reverseVideo را تنظیم، لغو یا معکوس میکند. همچنین توسط مدخل reversevideo در vtMenu فراخوانی میشود.
- set-reversewrap(on/off/toggle)
- این کُنش منبع reverseWrap را تنظیم، لغو یا معکوس میکند. همچنین توسط مدخل reversewrap در vtMenu فراخوانی میشود.
- set-sco-function-keys(on/off/toggle)
- این کُنش منبع scoFunctionKeys را تنظیم، لغو یا معکوس میکند. همچنین توسط مدخل scoFunctionKeys در mainMenu فراخوانی میشود.
- set-scroll-on-key(on/off/toggle)
- این کُنش منبع scrollKey را تنظیم، لغو یا معکوس میکند. همچنین از طریق مدخل scrollkey در vtMenu فراخوانی میشود.
- set-scroll-on-tty-output(on/off/toggle)
- این کُنش منبع scrollTtyOutput را تنظیم، لغو یا معکوس میکند. همچنین از طریق مدخل scrollttyoutput در vtMenu فراخوانی میشود.
- set-scrollbar(on/off/toggle)
- این کُنش منبع scrollbar را تنظیم، لغو یا معکوس میکند. همچنین توسط مدخل scrollbar در vtMenu فراخوانی میشود.
- set-select(on/off/toggle)
- این کُنش منبع selectToClipboard را تنظیم، لغو یا معکوس میکند. همچنین توسط مدخل selectToClipboard در vtMenu فراخوانی میشود.
- set-sixel-scrolling(on/off/toggle)
- این کُنش بین حالت درونخطی (پیمایش sixel) و موقعیتیابی مطلق جابهجا میشود. همچنین میتواند از طریق حالت اختصاصی DEC 80 (DECSDM) یا از طریق مدخل sixelScrolling در btMenu کنترل شود.
- set-sun-function-keys(on/off/toggle)
- این کُنش منبع sunFunctionKeys را تنظیم، لغو یا معکوس میکند. همچنین توسط مدخل sunFunctionKeys در mainMenu فراخوانی میشود.
- set-sun-keyboard(on/off/toggle)
- این کُنش منبع sunKeyboard را تنظیم، لغو یا معکوس میکند. همچنین توسط مدخل sunKeyboard در mainMenu فراخوانی میشود.
- set-tek-text(large/2/3/small)
- این کُنش قلم استفادهشده در پنجرهٔ Tektronix را بر اساس آرگومان به مقدار منبع انتخابشده تنظیم میکند. آرگومان میتواند یک کلیدواژه یا یک نام مستعار تکحرفی باشد، همانطور که در پرانتز نشان داده شده است:
- set-terminal-type(type)
- این کُنش خروجی را بر اساس رشتهٔ type، به یکی از پنجرههای vt یا tek هدایت میکند. همچنین توسط مدخل tekmode در vtMenu و مدخل vtmode در tekMenu فراخوانی میشود.
- set-titeInhibit(on/off/toggle)
- این کُنش منبع titeInhibit را که جابهجایی میان صفحهٔ جایگزین و صفحهٔ کنونی را کنترل میکند، تنظیم، لغو یا معکوس میکند.
- set-toolbar(on/off/toggle)
- این کُنش ویژگی نوارابزار را تنظیم، لغو یا معکوس میکند. همچنین توسط مدخل toolbar در mainMenu فراخوانی میشود.
- set-utf8-fonts(on/off/toggle)
- این کُنش منبع utf8Fonts را تنظیم، لغو یا معکوس میکند. همچنین توسط مدخل utf8-fonts در fontMenu فراخوانی میشود.
- set-utf8-mode(on/off/toggle)
- این کُنش منبع utf8 را تنظیم، لغو یا معکوس میکند. همچنین توسط مدخل utf8-mode در fontMenu فراخوانی میشود.
- set-utf8-title(on/off/toggle)
- این کُنش منبع utf8Title را تنظیم، لغو یا معکوس میکند. همچنین توسط مدخل utf8-title در fontMenu فراخوانی میشود.
- set-visibility(vt/tek,on/off/toggle)
- این کُنش نمایان بودن یا نبودن پنجرههای vt یا tek را تنظیم، لغو یا معکوس میکند. همچنین از طریق مدخلهای tekshow و vthide در vtMenu و مدخلهای vtshow و tekhide در tekMenu فراخوانی میشود.
- set-visual-bell(on/off/toggle)
- این کُنش منبع visualBell را تنظیم، لغو یا معکوس میکند. همچنین توسط مدخل visualbell در vtMenu فراخوانی میشود.
- set-vt-font(d/1/2/3/4/5/6/7/e/s [,normalfont [, boldfont]])
- این کُنش قلم یا قلمهایی را که در حال حاضر در پنجرهٔ VTxxx استفاده میشوند، تنظیم میکند. نخستین آرگومان، نویسهای منفرد است که قلم مورد استفاده را مشخص میکند:
d یا D نشاندهندهٔ قلم پیشفرض هستند (قلمی که در ابتدا هنگام شروع به کار xterm استفاده شده بود)،
1 تا 7 نشاندهندهٔ قلمهای مشخصشده توسط منابع font1 تا font7 هستند،
e یا E نشاندهندهٔ قلمهای عادی و برجسته (bold) هستند که از طریق کدهای گریز تنظیم شدهاند (یا به ترتیب به عنوان آرگومانهای دوم و سوم کُنش مشخص شدهاند)، و
s یا S نشاندهندهٔ قلم انتخابی (همانطور که توسط برنامههایی مانند xfontsel(1) انجام میشود) است که توسط آرگومان دوم کُنش مشخص شده است. اگر xterm برای پشتیبانی از نویسههای عریض پیکربندی شده باشد، دو پارامتر اختیاری دیگر برای آرگومان e شناسایی میشوند: قلم عریض (wide font) و قلم توپر عریض (wide bold font).
- smaller-vt-font()
- تنظیم قلم به قلم کوچکتر بعدی، بر اساس ابعاد قلم. همچنین ببینید: set-vt-font().
- soft-reset()
- این کنش، ناحیهٔ پیمایش را بازنشانی میکند. این مورد همچنین از مدخل softreset در vtMenu فراخوانی میشود. اثر آن با توالی کنترلی بازنشانی نرم (DECSTR) یکسان است.
- spawn-new-terminal(params)
- ایجاد یک فرایند جدید xterm. این قابلیت در سیستمهایی در دسترس است که نگارش نوینی از سامانه فایل فرایندها، مانند “/proc” دارند که xterm میتواند آن را بخواند.
- از مدخل فرایند “cwd”، مانند /proc/12345/cwd برای به دست آوردن دایرکتوری کاری فرایندی که در xterm فعلی در حال اجرا است، استفاده میکند.
- در سیستمهایی که مدخل فرایند “exe” دارند، مانند /proc/12345/exe، از این مدخل برای به دست آوردن فایل اجرایی واقعی استفاده میکند. در غیر این صورت، از متغیر محیطی $PATH برای یافتن xterm استفاده میشود.
- اگر پارامترهایی در این کنش مشخص شده باشند، آنها به فرایند جدید xterm فرستاده میشوند.
- start-cursor-extend()
- این کنش مشابه select-extend است، با این تفاوت که انتخاب تا موقعیت فعلی مکاننمای متن گسترش مییابد.
- start-extend()
- این کنش مشابه select-start است، با این تفاوت که انتخاب تا موقعیت فعلی نشانگر گسترش مییابد.
- string(string)
- این کنش رشتهٔ متنی مشخصشده را طوری درج میکند که گویی تایپ شده است. اگر رشته شامل فضای خالی یا نویسههای غیرالفباییعددی باشد، قرار دادن آن در علامت نقلقول الزامی است. اگر آرگومان رشته با نویسههای “0x” آغاز شود، به عنوان یک ثابت نویسهای بر پایهٔ شانزده (هگز) تفسیر میشود.
- tek-copy()
- این کنش کدهای گریز (escape codes) استفادهشده برای ایجاد محتویات پنجرهٔ فعلی را در فایلی در دایرکتوری جاری که نام آن با COPY آغاز میشود کپی میکند. این مورد همچنین از طریق مدخل tekcopy در tekMenu فراخوانی میشود.
- tek-page()
- این کنش پنجرهٔ Tektronix را پاک میکند. این مورد همچنین از طریق مدخل tekpage در tekMenu فراخوانی میشود.
- tek-reset()
- این کنش پنجرهٔ Tektronix را بازنشانی میکند. این مورد همچنین از طریق مدخل tekreset در tekMenu فراخوانی میشود.
- vi-button()
- یک رویداد
دکمه (به جز
فشردن و رها
کردن) را با
چاپ یک
توالی
کنترلی
محاسبهشده
از شماره
سطر رویداد
در صفحه
نسبت به سطر
فعلی،
مدیریت
میکند:
ESC ^P
- یا
ESC ^N
- به ترتیب بسته به اینکه رویداد قبل یا بعد از سطر فعلی باشد. نویسهٔ ^N (یا ^P) به ازای هر سطری که رویداد با سطر فعلی اختلاف دارد، یک بار تکرار میشود. اگر رویداد دکمه روی سطر فعلی رخ دهد، توالی کنترلی بهطور کامل نادیده گرفته میشود.
- visual-bell()
- این کنش موجب چشمک زدن سریع پنجره میشود.
پنجرهٔ Tektronix نیز کنش زیر را دارد:
- gin-press(l/L/m/M/r/R)
- این کنش کد
ورودی
گرافیکی
مشخصشده
را ارسال
میکند.
اتصالهای
پیشفرض در
پنجرهٔ VTxxx
از نشانهٔ
SELECT استفاده
میکنند،
که توسط
منبع selectToClipboard
تعیین
میشود. این
موارد برای
ویجت vt100
هستند:
Shift <KeyPress> Prior:scroll-back(1,halfpage) \n\ Shift <KeyPress> Next:scroll-forw(1,halfpage) \n\ Shift <KeyPress> Select:select-cursor-start() \ select-cursor-end(SELECT, CUT_BUFFER0) \n\ Shift <KeyPress> Insert:insert-selection(SELECT, CUT_BUFFER0) \n\ Alt <Key>Return:fullscreen() \n\ <KeyRelease> Scroll_Lock:scroll-lock() \n\ Shift~Ctrl <KeyPress> KP_Add:larger-vt-font() \n\ Shift Ctrl <KeyPress> KP_Add:smaller-vt-font() \n\ Shift <KeyPress> KP_Subtract:smaller-vt-font() \n\ ~Meta <KeyPress>:insert-seven-bit() \n\ Meta <KeyPress>:insert-eight-bit() \n\ !Ctrl <Btn1Down>:popup-menu(mainMenu) \n\ !Lock Ctrl <Btn1Down>:popup-menu(mainMenu) \n\ !Lock Ctrl @Num_Lock <Btn1Down>:popup-menu(mainMenu) \n\ ! @Num_Lock Ctrl <Btn1Down>:popup-menu(mainMenu) \n\ Meta <Btn1Down>:select-start(block) \n\ ~Meta <Btn1Down>:select-start() \n\ ~Meta <Btn1Motion>:select-extend() \n\ !Ctrl <Btn2Down>:popup-menu(vtMenu) \n\ !Lock Ctrl <Btn2Down>:popup-menu(vtMenu) \n\ !Lock Ctrl @Num_Lock <Btn2Down>:popup-menu(vtMenu) \n\ ! @Num_Lock Ctrl <Btn2Down>:popup-menu(vtMenu) \n\ ~Ctrl ~Meta <Btn2Down>:ignore() \n\ Meta <Btn2Down>:clear-saved-lines() \n\ ~Ctrl ~Meta <Btn2Up>:insert-selection(SELECT, CUT_BUFFER0) \n\ !Ctrl <Btn3Down>:popup-menu(fontMenu) \n\ !Lock Ctrl <Btn3Down>:popup-menu(fontMenu) \n\ !Lock Ctrl @Num_Lock <Btn3Down>:popup-menu(fontMenu) \n\ ! @Num_Lock Ctrl <Btn3Down>:popup-menu(fontMenu) \n\ ~Ctrl ~Meta <Btn3Down>:start-extend() \n\ ~Meta <Btn3Motion>:select-extend() \n\ Ctrl <Btn4Down>:scroll-back(1,halfpage,m) \n\ Lock Ctrl <Btn4Down>:scroll-back(1,halfpage,m) \n\ Lock @Num_Lock Ctrl <Btn4Down>:scroll-back(1,halfpage,m) \n\ @Num_Lock Ctrl <Btn4Down>:scroll-back(1,halfpage,m) \n\ <Btn4Down>:scroll-back(5,line,m) \n\ Ctrl <Btn5Down>:scroll-forw(1,halfpage,m) \n\ Lock Ctrl <Btn5Down>:scroll-forw(1,halfpage,m) \n\ Lock @Num_Lock Ctrl <Btn5Down>:scroll-forw(1,halfpage,m) \n\ @Num_Lock Ctrl <Btn5Down>:scroll-forw(1,halfpage,m) \n\ <Btn5Down>:scroll-forw(5,line,m) \n\ <BtnUp>:select-end(SELECT, CUT_BUFFER0) \n\ <BtnMotion>:pointer-motion() \n\ <BtnDown>:pointer-button() \n\ <BtnUp>:pointer-button() \n\ <BtnDown>:ignore()
اتصالهای پیشفرض در پنجرهٔ Tektronix مشابه اما محدودتر هستند. این موارد مربوط به ویجت tek4014 میباشند:
~Meta<KeyPress>: insert-seven-bit() \n\
Meta<KeyPress>: insert-eight-bit() \n\
!Ctrl <Btn1Down>: popup-menu(mainMenu) \n\
!Lock Ctrl <Btn1Down>: popup-menu(mainMenu) \n\
!Lock Ctrl @Num_Lock <Btn1Down>: popup-menu(mainMenu) \n\
!Ctrl @Num_Lock <Btn1Down>: popup-menu(mainMenu) \n\
!Ctrl <Btn2Down>: popup-menu(tekMenu) \n\
!Lock Ctrl <Btn2Down>: popup-menu(tekMenu) \n\
!Lock Ctrl @Num_Lock <Btn2Down>: popup-menu(tekMenu) \n\
!Ctrl @Num_Lock <Btn2Down>: popup-menu(tekMenu) \n\
Shift ~Meta<Btn1Down>: gin-press(L) \n\
~Meta<Btn1Down>: gin-press(l) \n\
Shift ~Meta<Btn2Down>: gin-press(M) \n\
~Meta<Btn2Down>: gin-press(m) \n\
Shift ~Meta<Btn3Down>: gin-press(R) \n\
~Meta<Btn3Down>: gin-press(r)
اتصالهای سفارشی کلید (Custom Key Bindings)
شما میتوانید منبع translations را با بازنویسی بخشهایی از آن، یا با ادغام منابع خود با آن تغییر دهید.
در اینجا مثالی آمده است که از انتخاب/جایگذاری همراه با Shift برای رونوشت در کلیپبورد، و از انتخاب/جایگذاری بدون Shift برای گزینش اصلی (primary selection) استفاده میکند. در هر حالت، یک بافر برش (متفاوت) نیز مقصد یا منبع عملیات انتخاب/جایگذاری است. با این حال، به یاد داشتن این نکته مهم است که بافرهای برش دادهها را با کدگذاری ISO-8859-1 ذخیره میکنند، در حالی که گزینشها میتوانند دادهها را در قالبها و کدگذاریهای گوناگونی ذخیره نمایند. تا زمانی که xterm مالک گزینش است، آن را برجسته نشان میدهد. هنگامی که مالکیت گزینش را از دست میدهد، برجستهسازی مربوطه را برمیدارد. اما همچنان میتوانید از بافر برش متناظر جایگذاری کنید.
*VT100*translations: #override \n\
~Shift~Ctrl<Btn2Up>: insert-selection(PRIMARY, CUT_BUFFER0) \n\
Shift~Ctrl<Btn2Up>: insert-selection(CLIPBOARD, CUT_BUFFER1) \n\
~Shift <BtnUp> : select-end(PRIMARY, CUT_BUFFER0) \n\
Shift <BtnUp> : select-end(CLIPBOARD, CUT_BUFFER1)
در این مثال، به جای نام ویجت از نام کلاس VT100 استفاده شده است. این دو متفاوت هستند؛ یک نام کلاس میتواند برای بیش از یک ویجت اعمال شود. علامت “*” ابتدایی به این دلیل استفاده شده است که سلسلهمراتب ویجتها در بالای ویجت vt100 به این بستگی دارد که آیا پشتیبانی از نوار ابزار در xterm کامپایل شده است یا خیر.
بیشتر ترجمههای از پیش تعریفشده مربوط به موشواره هستند، و تعداد اندکی از آنها از برخی کلیدهای ویژهٔ صفحهکلید استفاده میکنند. برنامهها از کلیدهای ویژه (کلیدهای تابع، کلیدهای مکاننما، کلیدهای صفحهکلید عددی) به همراه کلیدهای تبدیل (shift، control، alt) استفاده میکنند. اگر xterm ترجمهای را برای ترکیب مشخصی از کلید ویژه و کلید تبدیل تعریف کند، استفاده از آن توسط برنامههای درون ترمینال غیرممکن خواهد شد. به عنوان نمونه، میتوان استفاده از کلیدهای Page Up و Page Down را که در اینجا دیده میشود:
Shift <KeyPress> Prior : scroll-back(1,halfpage) \n\ Shift <KeyPress> Next : scroll-forw(1,halfpage) \n\
به کلیدهای Home و End گسترش داد:
Shift <KeyPress> Home : scroll-to(begin) \n\ Shift <KeyPress> End : scroll-to(end)
اما در این صورت shift-Home و shift-End دیگر برای برنامهها در دسترس نخواهند بود.
استفاده از اتصالهای موشوارهٔ سهدکمهای برای همه آسان نیست. در یک موشوارهٔ چرخدار، دکمهٔ میانی ممکن است همان چرخ باشد. به عنوان جایگزین، میتوانید با استفاده از کلیدهای ترکیبی با Shift اتصالی اضافه کنید:
*VT100*translations: #override \n\
Shift <Key>Home: copy-selection(SELECT) \n\
Shift <Key>Insert: copy-selection(SELECT) \n\
Ctrl Shift <Key>C: copy-selection(SELECT) \n\
Ctrl Shift <Key>V: insert-selection(SELECT)
شما همچنان از دکمههای چپ و راست موشواره (معمولاً ۱ و ۳) برای آغاز و گسترش گزینشها استفاده خواهید کرد.
علاوه بر مشکلات موشواره، صفحهکلیدهایی با چیدمان نامناسب نیز وجود دارند. برخی فاقد صفحهکلید عددی (کیپد) هستند، که استفاده از اتصالهای مثبت و منفی کیپد به همراه Shift را برای جابهجایی میان اندازههای قلم دشوار میسازد. میتوانید با انتساب این کنشها به کلیدهایی با دسترسی آسانتر، این مشکل را برطرف کنید:
*VT100*translations: #override \n\
Ctrl <Key> +: larger-vt-font() \n\
Ctrl <Key> -: smaller-vt-font()
قابلیت نگاشت کلید (keymap) به شما امکان میدهد میان مجموعههای مختلف ترجمه جابهجا شوید. نمونهٔ زیر نشان میدهد چگونه میتوان از کنش keymap() برای افزودن کلیدهای ویژه جهت وارد کردن واژههای پرکاربرد استفاده کرد:
*VT100.Translations: #override <Key>F13: keymap(dbx)
*VT100.dbxKeymap.translations: \
<Key>F14: keymap(None) \n\
<Key>F17: string("next") \n\
string(0x0d) \n\
<Key>F18: string("step") \n\
string(0x0d) \n\
<Key>F19: string("continue") \n\
string(0x0d) \n\
<Key>F20: string("print ") \n\
insert-selection(PRIMARY, CUT_BUFFER0)
اتصالهای کلید معمولاً با ویجتهای vt100 یا tek4014
که به عنوان شبیهسازهای ترمینال عمل میکنند مرتبط هستند.
نوار پیمایشِ Xterm (و نوار ابزار در صورت پیکربندی شدن) ویجتهای مجزایی هستند.
از آنجا که همه اینها از X Toolkit استفاده میکنند،
دارای منابع translations متناظر هستند.
این منابع متمایز بوده
و با الگوهای متفاوتی تطابق دارند، مانند تفاوت در نام ویجت (widget-name) و
تعداد سطوح ویجتهایی که ممکن است شامل شوند.
ویجت scrollbar فرزندی از ویجت vt100 است. این ویجت روی ویجت vt100 قرار میگیرد. تغییر وضعیت فعال یا غیرفعال بودن نوار پیمایش باعث تغییر اندازه ویجت vt100 میشود.
اتصالهای پیشفرض برای ویجت نوار پیمایش تنها از رویدادهای دکمه ماوس استفاده میکنند: <Btn5Down>: StartScroll(Forward) \n\ <Btn1Down>: StartScroll(Forward) \n\ <Btn2Down>: StartScroll(Continuous) MoveThumb() NotifyThumb() \n\ <Btn3Down>: StartScroll(Backward) \n\ <Btn4Down>: StartScroll(Backward) \n\ <Btn2Motion>: MoveThumb() NotifyThumb() \n\ <BtnUp>: NotifyScroll(Proportional) EndScroll()
رویدادهایی که ویجت scrollbar اصلاً آنها را تشخیص ندهد از دست میروند.
با این حال، در هنگام راهاندازی، xterm این ترجمهها را با ترجمههای پیشفرضی که برای ویجت vt100 به کار میروند، همراه با منبع “actions” که آن ترجمهها استفاده میکنند، گسترش میدهد. از آنجا که ویجتهای scrollbar (یا menubar) این کنشها (actions) را تشخیص نمیدهند (اما از آنجا که نگاشت ترجمه متناظری دارند)، به ویجت vt100 ارسال میشوند.
این گسترش ترجمههای نوار پیمایش محدودیتهایی دارد:
- برنامه Xterm میداند که ترجمههای پیشفرض چه هستند، اما هیچ رابط کتابخانهای مناسبی برای تشخیص اینکه کاربر چه سفارشیسازیهایی را به ویجت vt100 اضافه کرده است وجود ندارد. تمام کاری که xterm میتواند انجام دهد گسترش ویجت scrollbar است تا نقطه شروع یکسانی را برای سفارشیسازی بیشتر توسط کاربر فراهم سازد.
- رویدادها در فاصله بین ویجتها ممکن است از دست بروند.
- دنبالههای Compose آغاز شده در یک ویجت نمیتوانند در ویجت دیگر تکمیل شوند، زیرا روشهای ورودی برای هر ویجت اطلاعات زمینه (context) را به اشتراک نمیگذارند.
بیشتر سفارشیسازیهای ترجمههای نوار پیمایش مربوط به اتصالهای کلید نیست. بلکه کاربران عموماً بیشتر علاقهمند به تغییر اتصالهای دکمههای ماوس هستند. برای مثال، برخی ترجیح میدهند از دکمه سمت چپ ماوس برای کشیدن لغزنده نوار پیمایش (scrollbar thumb) استفاده کنند. این مورد را میتوان با تغییر منبع translations تنظیم کرد، به عنوان مثال:
*VT100.scrollbar.translations: #override \n\ <Btn5Down>: StartScroll(Forward) \n\ <Btn1Down>: StartScroll(Continuous) MoveThumb() NotifyThumb() \n\ <Btn4Down>: StartScroll(Backward) \n\ <Btn1Motion>: MoveThumb() NotifyThumb() \n\ <BtnUp>: NotifyScroll(Proportional) EndScroll()
دنبالههای کنترلی و صفحهکلید (CONTROL SEQUENCES AND KEYBOARD)
برنامهها میتوانند دنبالههایی از نویسهها را به ترمینال بفرستند تا رفتار آن را تغییر دهند. اغلب از آنها به عنوان “دنبالههای گریز ANSI” یا صرفاً “دنبالههای گریز” نام برده میشود، اما هر دو عبارت گمراهکننده هستند:
- استاندارد ANSI x3.64 (منسوخ) که با ISO 6429 (ECMA-48) جایگزین شد، قوانینی برای قالب این دنبالههای نویسهای ارائه کرد.
- اگرچه ادعا میشد که نسخه اصلی VT100 سازگار با ANSI است (در برابر x3.64)، هیچ نسخه آزاد و در دسترسی از استاندارد ANSI وجود ندارد که نشان دهد VT100 در کجا تفاوت دارد. بیشتر اسنادی که به استاندارد ANSI اشاره دارند، الحاقاتی دارند که در نسخه اصلی یافت نمیشود (مانند مواردی که مبتنی بر ansi.sys هستند). بنابراین این بحث بر استانداردهای ISO متمرکز است.
- این استاندارد تنها دنبالههای فرستادهشده از میزبان به ترمینال را توصیف میکند. هیچ استانداردی برای دنبالههای ارسالشده توسط کلیدهای ویژه از ترمینال به میزبان وجود ندارد. بر حسب قرارداد (و با ارجاع به ترمینالهای موجود)، قالب این دنبالهها معمولاً با استاندارد میزبان به ترمینال مطابقت دارد.
- برخی از
دنبالههای
xterm در
طرحواره
استاندارد
نمیگنجند.
از نظر فنی
این
دنبالهها
“نامشخص”
(unspecified) هستند. به
عنوان
مثال،
آزمون تراز
صفحه نمایش
DEC (یا DECALN) این
دنباله سه
نویسهای
است:
ESC # 8
- برخی دنبالهها در قالب استاندارد میگنجند، اما در استاندارد فهرست نشدهاند. اینها شامل دنبالههای مورد استفاده برای تنظیم حاشیههای پیمایش و انجام پیمایش رو به جلو/معکوس هستند.
- برخی از دنبالهها (بهویژه عملکردهای تکنویسهای مانند tab و backspace) شامل نویسه escape نیستند.
با در نظر گرفتن همه این موارد، استاندارد از این دنبالههای نویسهای با عنوان “دنبالههای کنترلی” یاد میکند.
سند Xterm Control Sequences دنبالههای کنترلی را که یک برنامه میتواند به xterm ارسال کند تا عملیات مختلفی انجام دهد، فهرست کرده است. بیشتر این عملیاتها استانداردسازی شدهاند، چه از سوی ترمینالهای DEC یا Tektronix، یا از سوی استانداردهای فراگیرتری مانند ISO-6429.
چند مثال کاربردی در این بخش ارائه شده است..SS "عنوانهای پنجره و آیکون (Window and Icon Titles)" برخی اسکریپتها از echo به همراه گزینههای -e و -n استفاده میکنند تا به پوسته بگویند رشتهی “\e” را به عنوان نویسهی escape تفسیر کند و از درج خط جدید پایانی در خروجی جلوگیری نماید. این روشها نه سازگار و قابلحمل هستند و نه توصیه میشوند. به جای آن، از printf(1) (استاندارد POSIX) استفاده کنید.
برای نمونه، جهت تنظیم عنوان پنجره به “Hello world!”، میتوانید از یکی از این دستورها در یک اسکریپت استفاده کنید:
printf '\033]2;Hello world!\033\\' printf '\033]2;Hello world!\007' printf '\033]2;%s\033\\' "Hello world!" printf '\033]2;%s\007' "Hello world!"
دستور printf(1) مقدار هشتهشتی “\033” را برای escape تفسیر میکند، و (از آنجا که در قالب مشخص نشده است) خط جدید پایانی را از خروجی حذف میکند.
برخی برنامهها (مانند screen(1)) هر دو عنوان پنجره و آیکون را بهطور همزمان، با استفاده از توالی کنترلی اندکی متفاوت تنظیم میکنند:
printf '\033]0;Hello world!\033\\' printf '\033]0;Hello world!\007' printf '\033]0;%s\033\\' "Hello world!" printf '\033]0;%s\007' "Hello world!"
تفاوت در پارامتر “0” در هر دستور است. بیشتر مدیرهای پنجره عنوان پنجره یا عنوان آیکون را اعمال میکنند. برخی تمایز قائل شده و اجازه میدهند فقط عنوان آیکون را تنظیم کنید. میتوانید به xterm بگویید با یک پارامتر متفاوت در توالی کنترلی این درخواست را ارسال کند:
printf '\033]1;Hello world!\033\\' printf '\033]1;Hello world!\007' printf '\033]1;%s\033\\' "Hello world!" printf '\033]1;%s\007' "Hello world!"
کلیدهای ویژه (Special Keys)
Xterm، مانند هر شبیهساز پایانه سازگار با VT100، دارای دو حالت برای کلیدهای ویژه (کلیدهای مکاننما، صفحه کلید عددی، و برخی کلیدهای تابع) است:
- حالت عادی (normal mode)، که باعث میشود کلیدهای ویژه توالیهای “مفید” را ارسال کنند؛ مانند توالی کنترلی برای حرکت مکاننما به بالا هنگام فشردن کلید جهتنمای بالا، و
- حالت برنامه (application mode)، که از یک توالی کنترلی متفاوت استفاده میکند تا با توالیهای “مفید” اشتباه گرفته نشود.
تفاوت اصلی بین دو حالت این است که توالیهای حالت عادی با CSI (escape [) و توالیهای حالت برنامه با SS3 (escape O) آغاز میشوند.
پایانه بر اساس توصیف پایانه (termcap یا terminfo) در یکی از این دو حالت (معمولاً حالت عادی) مقداردهی اولیه میشود. توصیف پایانه همچنین دارای قابلیتهایی (رشتههایی) است که برای حالت صفحه کلید عددیِ مورد استفاده در برنامههای curses تعریف شدهاند.
در استفاده از توصیف پایانه برای برنامههایی که قرار نیست برنامههای تمامصفحه curses باشند، مشکلی وجود دارد: تعاریف کلیدهای ویژه تنها برای این حالت صفحه کلید عددی صحیح هستند. برای نمونه، برخی پوستهها (برخلاف ksh(1) که به نظر میرسد مقادیر به صورت درونکد بوده و حتی از termcap استفاده نمیکند) به کاربران خود اجازه میدهند مقیدسازی کلیدها (key-bindings) را سفارشی کرده و اقدامات پوسته را به کلیدهای ویژه اختصاص دهند.
- bash(1) اجازه میدهد رشتههای ثابت به توابع اختصاص یابند. این کار تنها در صورتی موفقیتآمیز است که پایانه به صورت پیشفرض در حالت برنامه مقداردهی اولیه شود، زیرا bash در این زمینه فاقد انعطافپذیری است. این پوسته برای برپاسازی مقیدسازیهای کلید از زبان اسکریپتنویسی readline (که نسبت به زبان خود bash بیانگری کمتری دارد) استفاده میکند، که متکی بر این است که کاربر به صورت ایستا مقیدسازیهای ممکن را برای مقادیر معین $TERM فهرست کند.
- zsh(1) ویژگی
مشابهی را
فراهم
میکند،
اما
عبارتهای
زمان اجرا
را
میپذیرد و
همچنین یک
آرایه $terminfo را
برای
اسکریپتها
ارائه
میدهد.
بهویژه،
میتوان از
پایگاهداده
پایانه
استفاده
کرده و
هنگام
تعریف
مقیدسازی
کلید، آن را
تغییر شکل
داد. با
تبدیل
خروجی به
گونهای که
CSI و SS3 برابر
در نظر
گرفته
شوند، zsh
میتواند
بدون در نظر
گرفتن
اینکه
پایانه در
ابتدا از
حالت عادی
یا برنامه
استفاده
میکند، از
پایگاهداده
پایانه
تعاریف
مفیدی را
برای
استفاده در
خط فرمان
خود به دست
آورد. در
اینجا یک
مثال آورده
شده است:
[[ "$terminfo[kcuu1]" == "^[O"* ]] && \ bindkey -M viins "${terminfo[kcuu1]/O/[}" \ vi-up-line-or-history
برخی از برنامههای شل این امکان را به کاربران میدهند که به رشتههای اعلان (prompt)، رنگ و سایر ویژگیهای نمایشی را بیفزایند. کاربران میتوانند این کار را با مقداردهی $PS1 (رشته اعلان اولیه) انجام دهند. در این مورد نیز bash و zsh قابلیتهایی ارائه کردهاند که در ksh یافت نمیشود. با این حال، مشکلی وجود دارد: عرض اعلان روی صفحه لزوماً با تعداد نویسهها (کاراکترها) یکسان نخواهد بود. از آنجا که هیچ راهنمایی در استاندارد POSIX برای این موضوع وجود ندارد، هر شل به روش متفاوتی به حل این مشکل میپردازد: - bash با نویسههای میان “\[” و “\]” بهعنوان نویسههای غیرقابلچاپ (بدون اشغال هیچ عرضی روی صفحه) برخورد میکند.
- zsh با نویسههای میان “%{” و “%}” بهعنوان نویسههای غیرقابلچاپ برخورد میکند.
افزون بر تفاوت در نحو (syntax)، شلها روشهای متفاوتی را برای بهدست آوردن توالیهای گریز (escape sequences) کاربردی ارائه میدهند:
- •
- همانطور که در Special Keys اشاره شد، zsh آرایهٔ $terminfo را با قابلیتهای پایانه مقداردهی اولیه میکند.
- این شل همچنین تابعی به نام echoti فراهم میکند که مانند tput(1) عمل کرده و یک قابلیت پایانه را به همراه پارامترهایش به رشتهای تبدیل میکند که میتواند در پایانه نوشته شود.
- •
- شلهایی که فاقد قابلیت مشابه هستند (مانند bash) همیشه میتوانند از برنامهٔ tput(1) برای انجام این تبدیل استفاده کنند.
توالیهای گریز هاردکدشده (تعبیهشده در متن) توسط هر شل پشتیبانی میشوند، اما توصیه نمیگردند زیرا به پیکربندیهای خاصی وابسته هستند و نمیتوان آنها را بهسادگی میان محیطهای کاربری گوناگون منتقل کرد.
محیط (ENVIRONMENT)
Xterm چندین متغیر محیطی را تنظیم میکند. همچنین متغیرهای محیطی مشخصی را که تداخل آنها با سایر برنامهها شناخته شده است، حذف مینماید. برای نمونه، متغیرهای COLUMNS، LINES و TERMCAP را در پیکربندیهایی که غیرضروری هستند، حذف میکند.
مستقل از سیستم (System Independent)
برخی متغیرها در هر سیستمی استفاده میشوند:
- DISPLAY
- نام نمایشگر است که به کارساز X اشاره میکند (ببینید DISPLAY NAMES در X(1)).
- TERM
-
بر اساس مدخل terminfo (یا termcap) که بهعنوان مرجع استفاده میکند، تنظیم میشود.
- در برخی سیستمها، ممکن است با شرایطی روبرو شوید که در آن، شل مورد استفادهٔ شما و xterm با کتابخانههایی ساخته شدهاند که پایگاههای دادهٔ پایانهٔ متفاوتی دارند. در چنین شرایطی، ممکن است xterm توصیفی از پایانه را برگزیند که برای شل ناشناخته است.
- WINDOWID
- روی شماره شناسه پنجره X مربوط به پنجرهٔ xterm تنظیم میشود.
- XTERM_FILTER
- در صورت استفاده از یک locale-filter تنظیم میشود. مقدار آن، مسیر فایلِ فیلتر است.
- XTERM_LOCALE
- لوکالی (locale) را نشان میدهد که توسط xterm هنگام راهاندازی استفاده شده است. برخی اسکریپتهای مقداردهی اولیهٔ شل ممکن است لوکال متفاوتی را تنظیم کنند.
- XTERM_SHELL
- به مسیر برنامهای که فراخوانی شده است تنظیم میشود. معمولاً این برنامه یک شل است، مانند /bin/sh. با این حال، از آنجا که لزوماً یک برنامهٔ شل نیست، از “SHELL” متمایز است.
- XTERM_VERSION
- به رشتهای که توسط گزینهٔ -version نمایش داده میشود، تنظیم میگردد. این مقدار معمولاً شناسهای برای کتابخانههای سامانه پنجره X است که برای ساخت xterm استفاده شدهاند، به همراه شماره وصلهٔ (patch number) xterm در پرانتز. شماره وصله همچنین بخشی از پاسخ به توالی کنترلی Secondary Device Attributes (DA) است (ببینید Xterm Control Sequences). بسته به پیکربندی سیستم شما، ممکن است xterm موارد زیر را نیز تنظیم کند:
- COLUMNS
- عرض xterm بر حسب نویسه (مقایسه کنید با: “stty columns”).
- هنگامی که این متغیر مقداردهی شده باشد، برنامههای مبتنی بر curses (و بیشتر برنامههای ترمینال) فرض خواهند کرد که ترمینال این تعداد ستون دارد.
- Xterm این کار را برای سیستمهایی انجام میدهد که قابلیتی برای تشخیص اندازهٔ ترمینال ندارند. این سیستمها بسیار نادر هستند و هیچکدام جدیدتر از اواسط دههٔ ۱۹۹۰ میلادی (زمانی که SVR4 فراگیر شد) نیستند.
- HOME
-
هنگامی که xterm (در زمان ساخت) برای بهروزرسانی utmp پیکربندی شده باشد. - LINES
- ارتفاع xterm بر حسب نویسه (مقایسه کنید با: “stty rows”).
- هنگامی که این متغیر مقداردهی شده باشد، برنامههای مبتنی بر curses (و بیشتر برنامههای ترمینال) فرض خواهند کرد که ترمینال این تعداد سطر دارد.
- Xterm این کار را برای سیستمهایی انجام میدهد که قابلیتی برای تشخیص اندازهٔ ترمینال ندارند. این سیستمها بسیار نادر هستند و هیچکدام جدیدتر از اواسط دههٔ ۱۹۹۰ میلادی (زمانی که SVR4 فراگیر شد) نیستند.
- LOGNAME
- هنگامی که xterm (در زمان ساخت) برای بهروزرسانی utmp پیکربندی شده باشد.
- ممکن است پیکربندی شما LOGNAME را تنظیم کرده باشد؛ xterm آن را تغییر نمیدهد. اگر مقداردهی نشده باشد، در صورت تنظیم بودن USER، xterm از آن استفاده خواهد کرد. در نهایت، اگر هیچیک تنظیم نشده باشند، xterm از تابع getlogin(3) استفاده خواهد کرد.
- SHELL
- هنگامی که xterm (در زمان ساخت) برای بهروزرسانی utmp پیکربندی شده باشد. همچنین اگر نام یک پوستهٔ معتبر را به عنوان پارامتر اختیاری تعیین کنید، تنظیم میشود.
- Xterm این متغیر را روی یک مسیر مطلق تنظیم میکند. اگر متغیر را روی یک مسیر نسبی تنظیم کرده باشید، ممکن است xterm آن را روی مسیر پوستهٔ دیگری تنظیم کند.
- اگر این متغیر را روی مسیری تنظیم کرده باشید که به یک پوستهٔ معتبر اشاره نمیکند، xterm ممکن است برای جلوگیری از سردرگمی، مقدار آن را حذف کند.
- TERMCAP
- محتویات مدخل termcap متناظر با $TERM، به طوری که مقادیر سطرها و ستونها با اندازهٔ واقعی پنجرهای که ایجاد کردهاید جایگزین شدهاند.
- این ویژگی، مانند LINES و COLUMNS، بهندرت استفاده میشود. این مورد همان محدودیت تعداد اندکی از سیستمهای قدیمیتر را برطرف میکند و راهی برای برنامههای مبتنی بر termcap فراهم میسازد تا اندازهٔ اولیهٔ صفحه را به دست آورند.
- TERMINFO
- ممکن است با استفاده از اسکریپت configure در یک مکان غیر استاندارد تعریف شود.
- XCURSOR_THEME
- منبع cursorTheme را ببینید.
ویژگیهای پنجره (WINDOW PROPERTIES)
در خروجی دستور xprop(1)، ویژگیهای متعددی وجود دارد.
ویژگیهای تنظیمشده توسط X Toolkit (Properties set by X Toolkit)
- WM_CLASS
- این ویژگی
instance name و class
منبع X را که
در حین
مقداردهی
اولیهٔ xterm
به X Toolkit
ارسال شده
است نشان
میدهد؛
مانند:
WM_CLASS(STRING) = "xterm", "UXTerm"
- WM_CLIENT_LEADER
- این ویژگی
شناسهٔ
پنجره (window-id) را
که xterm با یک
متغیر
محیطی (WINDOWID)
ارائه
میکند
نشان
میدهد؛
مانند:
WM_CLIENT_LEADER(WINDOW): window id # 0x800023
- WM_COMMAND
- این ویژگی
آرگومانهای
خط فرمان را
برای xterm که
در حین
مقداردهی
اولیه به
X Toolkit ارسال
شدهاند
نشان
میدهد؛
مانند:
WM_COMMAND(STRING) = { "xterm", "-class", "UXTerm", "-title", "uxterm", "-u8" }
- WM_ICON_NAME
- این ویژگی عنوان نماد (آیکون) را نگه میدارد که مدیران پنجرهٔ مختلف به روشهای گوناگونی با آن رفتار میکنند. این ویژگی از طریق منبع iconName تنظیم میشود. برنامهها میتوانند این مقدار را با استفاده از توالیهای کنترلی تغییر دهند.
- WM_LOCALE_NAME
- این ویژگی
نتیجهٔ
حاصل از
تابع setlocale(3) را
برای دستهٔ
LC_CTYPE نشان
میدهد؛
مانند:
WM_LOCALE_NAME(STRING) = "en_US.UTF-8"
- WM_NAME
- این ویژگی عنوان پنجره را نگه میدارد که معمولاً در بالای پنجرهٔ xterm قرار دارد. این مقدار از طریق منبع title تنظیم میشود. برنامهها میتوانند این مقدار را با استفاده از توالیهای کنترلی تغییر دهند..SS "ویژگیهای تنظیمشده توسط Xterm (Properties set by Xterm)" X Toolkit ویژگیهای EWMH را مدیریت نمیکند. Xterm این کار را مستقیماً انجام میدهد.
- _NET_WM_ICON_NAME
- نام آیکون را ذخیره میکند.
- _NET_WM_NAME
- رشته عنوان را ذخیره میکند.
- _NET_WM_PID
- شناسه فرایند را برای نمایشگر xterm ذخیره میکند.
ویژگیهای استفادهشده توسط Xterm (Properties used by Xterm)
- _NET_SUPPORTED
- Xterm این ویژگی را روی supporting window بررسی میکند تا مشخص کند آیا مدیر پنجره از شیوههای خاص بیشینهسازی پشتیبانی میکند یا خیر. این ممکن است شامل سایر اعلانهای راهنمای مدیر پنجره باشد؛ xterm برای مدیریت آنها از فراخوانیهای کتابخانه X استفاده میکند.
- _NET_SUPPORTING_WM_CHECK
- Xterm این ویژگی را بررسی میکند تا مطمئن شود ویژگیهای EWMH را فقط برای مدیر پنجرهای بهروزرسانی میکند که مدعی سازگاری با EWMH است.
- _NET_WM_STATE
- این ویژگی به xterm اعلام میکند که آیا پنجرهاش توسط مدیر پنجره بیشینه شده است یا خیر، و در صورت مثبت بودن، چه نوعی از بیشینهسازی انجام گرفته است:
- _NET_WM_STATE_FULLSCREEN
- _NET_WM_STATE_MAXIMIZED_HORZ
- _NET_WM_STATE_MAXIMIZED_VERT
فایلها (FILES)
مسیرهای واقعی مشخصشده ممکن است در سیستم شما متفاوت باشند.
- /etc/shells
- شامل فهرستی از برنامههای شل معتبر است که توسط xterm برای تصمیمگیری درباره لزوم تنظیم متغیر محیطی “SHELL” برای فرایند آغازشده توسط xterm استفاده میشود.
- در سیستمهایی که تابع getusershell را دارند، xterm به جای خواندن مستقیم فایل از آن تابع استفاده خواهد کرد؛ زیرا اگر سیستم از تنظیمات پیشفرض استفاده کند، ممکن است فایل موجود نباشد.
- /var/run/utmp
- فایل گزارش سیستم که ورود کاربران به سیستم را ثبت میکند.
- /var/log/wtmp
- فایل گزارش سیستم که ورودها و خروجهای کاربران را ثبت میکند.
- /usr/share/X11/app-defaults//XTerm
- منابع پیشفرض برنامه xterm.
- /usr/share/X11/app-defaults//XTerm-color
- منابع رنگی
برنامه xterm.
اگر
نمایشگر
شما از رنگ
پشتیبانی
میکند،
این عبارت
را
*customization: -color
- در فایل .Xdefaults خود قرار دهید تا بهطور خودکار به جای /usr/share/X11/app-defaults//XTerm از این فایل منابع استفاده شود. اگر این کار را نکنید، xterm از تنظیمات منابع پیشفرض کامپایلشده داخلی خود برای رنگها استفاده میکند.
- /usr/share/pixmaps
- دایرکتوریای که فایلهای آیکون pixmap مربوط به xterm در آن نصب شدهاند.
پیامهای خطا (ERROR MESSAGES)
بیشتر پیامهای خطای مهلک از xterm از قالب زیر استفاده میکنند:
xterm: Error XXX, errno YYY: ZZZ
کدهای XXX (که توسط xterm به عنوان کد خروج به کار میروند) در زیر با توضیحی کوتاه فهرست شدهاند.
- 1
- ERROR_MISC
خطاهای متفرقه، که معمولاً با یک پیام مشخص همراه است، - 11
- ERROR_FIONBIO
main: ioctl() failed on FIONBIO - 12
- ERROR_F_GETFL
main: ioctl() failed on F_GETFL - 13
- ERROR_F_SETFL
main: ioctl() failed on F_SETFL - 14
- ERROR_OPDEVTTY
spawn: open() failed on /dev/tty - 15
- ERROR_TIOCGETP
spawn: ioctl() failed on TIOCGETP - 17
- ERROR_PTSNAME
spawn: ptsname() failed - 18
- ERROR_OPPTSNAME
spawn: open() failed on ptsname - 19
- ERROR_PTEM
spawn: ioctl() failed on I_PUSH/"ptem" - 20
- ERROR_CONSEM
spawn: ioctl() failed on I_PUSH/"consem" - 21
- ERROR_LDTERM
spawn: ioctl() failed on I_PUSH/"ldterm" - 22
- ERROR_TTCOMPAT
spawn: ioctl() failed on I_PUSH/"ttcompat" - 23
- ERROR_TIOCSETP
spawn: ioctl() failed on TIOCSETP - 24
- ERROR_TIOCSETC
spawn: ioctl() failed on TIOCSETC - 25
- ERROR_TIOCSETD
spawn: ioctl() failed on TIOCSETD - 26
- ERROR_TIOCSLTC
spawn: ioctl() failed on TIOCSLTC - 27
- ERROR_TIOCLSET
spawn: ioctl() failed on TIOCLSET - 28
- ERROR_INIGROUPS
spawn: initgroups() failed - 29
- ERROR_FORK
spawn: fork() failed.TP 30 ERROR_EXEC
spawn: فراخوانی exec() ناموفق بود - 32
- ERROR_PTYS
get_pty: pty کافی وجود ندارد - 34
- ERROR_PTY_EXEC
در انتظار نگاشت اولیه - 35
- ERROR_SETUID
spawn: فراخوانی setuid() ناموفق بود - 36
- ERROR_INIT
spawn: امکان مقداردهی اولیه پنجره وجود ندارد - 46
- ERROR_TIOCKSET
spawn: فراخوانی ioctl() روی TIOCKSET ناموفق بود - 47
- ERROR_TIOCKSETC
spawn: فراخوانی ioctl() روی TIOCKSETC ناموفق بود - 49
- ERROR_LUMALLOC
luit: تخصیص حافظه (malloc) برای خط فرمان ناموفق بود - 50
- ERROR_SELECT
in_put: فراخوانی select() ناموفق بود - 54
- ERROR_VINIT
VTInit: امکان مقداردهی اولیه پنجره وجود ندارد - 57
- ERROR_KMMALLOC1
HandleKeymapChange: فراخوانی malloc ناموفق بود - 60
- ERROR_TSELECT
Tinput: فراخوانی select() ناموفق بود - 64
- ERROR_TINIT
TekInit: امکان مقداردهی اولیه پنجره وجود ندارد - 71
- ERROR_BMALLOC2
SaltTextAway: فراخوانی malloc() ناموفق بود - 80
- ERROR_LOGEXEC
StartLog: فراخوانی exec() ناموفق بود - 83
- ERROR_XERROR
xerror: رویداد XError - 84
- ERROR_XIOERROR
xioerror: خطای ورودی/خروجی (I/O) در X - 85
- ERROR_ICEERROR
خطای ورودی/خروجی ICE - 90
- ERROR_SCALLOC
Alloc: فراخوانی calloc() روی base ناموفق بود - 91
- ERROR_SCALLOC2
Alloc: فراخوانی calloc() روی rows ناموفق بود - 102
- ERROR_SAVE_PTR
ScrnPointers: فراخوانی malloc/realloc() ناموفق بود جایگذاریهای حجیم در برخی سیستمها کار نمیکنند. این یک باگ در xterm نیست؛ بلکه اشکالی در درایور شبهترمینال (pseudo terminal) آن سیستمها است. Xterm دادههای حجیم جایگذاریشده را تنها با همان سرعتی به pty ارسال میکند که pty قادر به پذیرش دادهها باشد، اما برخی درایورهای pty اطلاعات کافی برای آگاهی از اینکه آیا عملیات نوشتن موفق بوده است یا نه، بازنمیگردانند.
هنگام اتصال به یک روش ورودی (input method)، در صورتی که کارساز XIM معلق شود یا خاتمه یابد (kill شود)، ممکن است xterm قفل کند (hang کند).
بسیاری از گزینهها پس از راهاندازی xterm قابل بازنشانی نیستند.
این برنامه هنوز نیازمند بازنویسی است. باید به بخشهای بسیار ماژولار تقسیم شود، بهطوری که شبیهسازهای گوناگون ویجتهای کاملاً جداگانهای باشند که از یکدیگر اطلاعی ندارند. در حالت ایدهآل، باید بتوانید ویجتهای شبیهساز را انتخاب کرده و آنها را درون یک ویجت کنترلی واحد قرار دهید.
باید یک کادر محاورهای وجود داشته باشد تا امکان ورود نام فایل Tek COPY فراهم شود.
نویسندگان (AUTHORS)
افراد بسیار زیاد.
این افراد در X Consortium مشارکت داشتهاند: Loretta Guarino Reid (DEC-UEG-WSL)، Joel McCormack (DEC-UEG-WSL)، Terry Weissman (DEC-UEG-WSL)، Edward Moy (Berkeley)، Ralph R. Swick (MIT-Athena)، Mark Vandevoorde (MIT-Athena)، Bob McNamara (DEC-MAD)، Jim Gettys (MIT-Athena)، Bob Scheifler (MIT X Consortium)، Doug Mink (SAO)، Steve Pitschke (Stellar)، Ron Newman (MIT-Athena)، Jim Fulton (MIT X Consortium)، Dave Serisky (HP)، Jonathan Kamens (MIT-Athena).
با آغاز XFree86، مشارکتکنندگان شناختهشده بسیار بیشتری حضور داشتند. فایل THANKS در سورسکد xterm شامل ۲۴۳ نام در ژوئن 2022 است. این افراد را به خاطر داشته باشید: Jason Bacon، Jens Schweikhardt، Ross Combs، Stephen P. Wall، David Wexelblat و Thomas Dickey (invisible-island.net).
همچنین ببینید (SEE ALSO)
resize(1), luit(1), uxterm(1), X(1), Xcursor(1), pty(4), tty(4)
Xterm Control Sequences (این همان فایل ctlseqs.ms است).
https://invisible-island.net/xterm/xterm.html
https://invisible-island.net/xterm/manpage/xterm.html
https://invisible-island.net/xterm/ctlseqs/ctlseqs.html
https://invisible-island.net/xterm/xterm.faq.html
https://invisible-island.net/xterm/xterm.log.html
X Toolkit Intrinsics – C Language Interface
(Xt)،
Joel McCormack، Paul Asente، Ralph R. Swick (1994)،
Thomas E. Dickey (2019).
Inter-Client Communication Conventions Manual
(ICCCM)،
David Rosenthal و Stuart W. Marks (نسخه
2.0، 1994).
Extended Window Manager Hints (EWMH)،
X Desktop Group (نسخه 1.5، 2011).
استاندارد EWMH بدون تعریف UTF8_STRING، بهطور گسترده از آن استفاده میکند، اما به ICCCM ارجاع میدهد. نسخه 2.0 از ICCCM به UTF-8 نمیپردازد. این یک افزونه بود که در XFree86 اضافه شد.
- •
- Markus Kuhn این موضوع را در UTF-8 and Unicode FAQ for Unix/Linux (2001)، در بخش “Is X11 ready for Unicode?” خلاصه کرده است.
- •
- Juliusz Chroboczek اتم گزینش UTF8_STRING را در 1999/2000 پیشنهاد داد، که در XFree86 بخشی از ICCCM شد.
- https://www.irif.fr/~jch/software/UTF8_STRING
- یکی از توسعهدهندگان Xorg در سال 2004 آن بخش از مستندات را هنگام گنجاندن کارهای دیگر از XFree86 در Xorg، حذف کرد. این قابلیت همچنان در Xorg پشتیبانی میشود، هرچند تا سال 2019 مستند نشده است.
| 2026-08-24 | Patch #411 |