.\" Generated by scdoc 1.11.5
.\" Complete documentation for this program is not available as a GNU info page
.ie \n(.g .ds Aq \(aq
.el .ds Aq '
.nh
.ad l
.\" Begin generated content:
.TH "foot.ini" "5" "2026\-09\-03"
.PP
.SH "نام (NAME)"
.PP
foot.\&ini \- پرونده پیکربندی برای \fBfoot\fR(1)
.PP
.SH "توضیحات (DESCRIPTION)"
.PP
\fBfoot\fR از \fIقالب پیکربندی استاندارد یونیکس\fR با جفتهای کلید/مقدار مبتنی بر بخش استفاده میکند.\& بخش پیشفرض معمولاً بدون نام است، یعنی پیشوند \fI[section]\fR ندارد.\& با این حال میتوان آن را صراحتاً \fI[main]\fR نامید، مثلاً اگر پس از هر یک از بخشهای دیگر نیاز به بازگشایی مجدد آن باشد.\&
.PP
foot پرونده پیکربندی را به ترتیب در مکانهای زیر جستجو میکند:
.PP
.RS 4
.PD 0
.IP \(bu 4
\fBXDG_CONFIG_HOME/foot/foot.\&ini\fR (در صورت عدم تنظیم، به صورت پیشفرض \fB$HOME/.\&config/foot/foot.\&ini\fR)
.IP \(bu 4
\fBXDG_CONFIG_DIRS/foot/foot.\&ini\fR (در صورت عدم تنظیم، به صورت پیشفرض \fB/etc/xdg/foot/foot.\&ini\fR)
.PD
.PP
.RE
یک نمونه پرونده پیکربندی که تمام گزینهها را با مقادیر پیشفرض آنها به صورت کامنتشده در بر دارد، معمولاً در \fB/etc/xdg/foot/foot.\&ini\fR نصب میشود.\&
.PP
گزینهها با استفاده از جفتهای KEY=VALUE تنظیم میشوند:
.PP
.RS 4
\fB[colors\-dark]\fR
.br
\fBbackground=000000\fR
.br
\fBforeground=ffffff\fR
.PP
.RE
مقادیر خالی (\fBKEY=\fR) پشتیبانی نمیشوند.\& گزینههای رشتهای امکان تنظیم رشته خالی را دارند، اما باید در گیومه قرار گیرند: \fBKEY=""\fR
.PP
.SH "بخش: اصلی (SECTION: main)"
.PP
\fBshell\fR
.RS 4
فایل اجرایی برای راهاندازی.\& معمولاً یک پوسته است.\& پیشفرض: \fI$SHELL\fR در صورت تنظیم، وگرنه پوسته پیشفرض کاربر (همانطور که در \fI/etc/passwd\fR مشخص شده است).\& همچنین میتوانید آرگومانها را ارسال کنید.\& برای مثال \fB/bin/bash \-\-norc\fR.\&
.PP
.RE
\fBlogin\-shell\fR
.RS 4
بولی.\& در صورت فعال بودن، پوسته با افزودن یک '\&\-\&' به argv[0] به عنوان یک پوسته ورود (login shell) راهاندازی میشود.\& پیشفرض: \fIno\fR.\&
.PP
.RE
\fBterm\fR
.RS 4
مقداری که متغیر محیطی \fBTERM\fR روی آن تنظیم میشود.\& پیشفرض: \fIfoot\fR
.PP
.RE
\fBfont\fR, \fBfont\-bold\fR, \fBfont\-italic\fR, \fBfont\-bold\-italic\fR
.RS 4
فهرستی از قلمهای جداشده با کاما برای استفاده، در قالب fontconfig.\& یعنی نام قلم و به دنبال آن فهرستی از گزینههای جداشده با دونقطه.\& مهمترین آنها \fB:size=n\fR (یا \fB:pixelsize=n\fR) است که برای تنظیم اندازه قلم استفاده میشود.\& توجه داشته باشید که اندازه قلم تحت تأثیر گزینه \fBdpi\-aware\fR نیز قرار میگیرد.\&
.PP
مثالها:
.RS 4
.PD 0
.IP \(bu 4
Dina:weight=bold:slant=italic
.IP \(bu 4
Courier New:size=12
.IP \(bu 4
Fantasque Sans Mono:fontfeatures=ss01
.IP \(bu 4
Iosevka:fontfeatures=cv01=1:fontfeatures=cv06=1
.IP \(bu 4
Meslo LG S:size=12, Noto Color Emoji:size=12
.IP \(bu 4
Courier New:pixelsize=8
.PD
.PP
.RE
توجه داشته باشید که بسته به تنظیمات شما، ممکن است گزینههای سراسری FontConfig وجود داشته باشند که گزینههای تنظیمشده در اینجا را بازنویسی کنند.\& اگر به نظر میرسد گزینهای بیاثر است، اطمینان حاصل کنید پرونده پیکربندی سراسری وجود نداشته باشد که همان گزینه را با \fBassign\fR یا \fBassign_replace\fR تنظیم کند؛ از یکی از حالتهای متعدد \fBappend\fR یا احتمالاً \fBprepend\fR استفاده کنید.\&
.PP
برای هر گزینه، قلم نخست همان قلم اصلی است.\& قلمهای باقیمانده قلمهای جایگزین (fallback) هستند که هرگاه گلیفی در قلم اصلی یافت نشود استفاده خواهند شد.\&
.PP
قلمهای جایگزین به ترتیبی که ظاهر میشوند جستجو میشوند.\& اگر گلیفی در هیچیک از قلمهای جایگزین یافت نشود، فهرست جایگزین پویای fontconfig (برای قلم اصلی) جستجو میشود.\&
.PP
گزینههای \fBfont\-bold\fR، \fBfont\-italic\fR و \fBfont\-bold\-italic\fR امکان استفاده از قلمهای سفارشی را برای قلمهای پررنگ/مورب/پررنگ+مورب فراهم میکنند.\& در صورت عدم پیکربندی، گونههای پررنگ/مورب قلم (یا قلمهای) عادی مشخصشده در \fBfont\fR استفاده میشوند.\& \fBنکته\fR: ممکن است لازم باشد اندازه قلمهای سفارشی پررنگ/مورب را طوری تنظیم کنید که با قلم عادی هماهنگ شوند.\&
.PP
برای غیرفعال کردن قلمهای پررنگ و/یا مورب، مثلاً \fBfont\-bold\fR را \fIدقیقاً\fR روی همان مقدار \fBfont\fR تنظیم کنید.\&
.PP
مقدار \fB\fRsize\fB\fR بر حسب \fIپوینت\fR است (همانطور که در قالب FontConfig تعریف شده است).\& برای تنظیم اندازه بر حسب \fIپیکسل\fR، به جای آن از \fB\fRpixelsize\fB\fR استفاده کنید.\& توجه داشته باشید که اندازههای پیکسلی تحت تأثیر رندر آگاه از DPI نیستند (به \fBdpi\-aware\fR مراجعه کنید)، اما تحت تأثیر مقیاسبندی میزکار قرار میگیرند.\&
.PP
پیشفرض: \fImonospace:size=8\fR (\fBfont\fR)، \fInot set\fR (\fBfont\-bold\fR، \fBfont\-italic\fR، \fBfont\-bold\-italic\fR).\&
.PP
.RE
\fBfont\-size\-adjustment\fR
.RS 4
مقدار بر حسب \fIپوینت\fR، \fIپیکسل\fR یا \fIدرصد\fR، برای افزایش یا کاهش اندازه قلم هنگام بزرگنمایی یا کوچکنمایی.\&
.PP
مثالها:
.nf
.RS 4
font\-size\-adjustment=0\&.5 # تنظیم به اندازه ۰٫۵ پوینت
font\-size\-adjustment=10px # تنظیم به اندازه ۱۰ پیکسل
font\-size\-adjustment=7\&.5% # تنظیم به اندازه ۷٫۵ درصد
.fi
.RE
.PP
پیشفرض: \fI0.\&5\fR
.PP
.RE
\fBinclude\fR
.RS 4
مسیر مطلق به پرونده پیکربندی جهت وارد کردن.\&
.PP
پرونده واردشده دامنه بخش مستقل خود را دارد.\& یعنی پیکربندی شاملکننده پس از include همچنان در بخش پیشفرض میماند، صرفنظر از اینکه پرونده واردشده در چه بخشی به پایان برسد.\&
.PP
.RS 4
.PD 0
.IP \(bu 4
مسیر باید یک مسیر مطلق باشد، یا با \fB\(ti/\fR آغاز شود.\&
.IP \(bu 4
چندین دستور include مجاز است، اما در هر دستور فقط یک مسیر مشخص میشود.\&
.IP \(bu 4
وارد کردن تو در تو مجاز است.\&
.PD
.PP
.RE
پیشفرض: \fInot set\fR.\&
.PP
.RE
\fBline\-height\fR
.RS 4
یک مقدار مطلق، بر حسب \fIپوینت\fR، که ارتفاع سطر برآمده از معیارهای قلم (font metrics) را بازنویسی میکند.\&
.PP
میتوانید با استفاده از پسوند \fBpx\fR ارتفاعی بر حسب \fIپیکسل\fR مشخص کنید: برای نمونه \fBline\-height=12px\fR.\&
.PP
\fBهشدار\fR: هنگام تغییر اندازه قلم در زمان اجرا (یعنی بزرگنمایی یا کوچکنمایی)، foot ارتفاع سطر را با همان درصد تغییر میدهد.\& با این حال، به دلیل گرد کردن، این احتمال وجود دارد که ارتفاع سطر برای برخی اندازههای قلم «بیش از حد کوچک» شود و باعث «ناپدید شدن» مثلاً خطوط زیرین (underscores) گردد.\&
.PP
همچنین ببینید: \fBvertical\-letter\-offset\fR.\&
.PP
پیشفرض: \fInot set\fR.\&
.PP
.RE
\fBletter\-spacing\fR
.RS 4
فاصله بین حروف، بر حسب \fIپوینت\fR.\& یک مقدار مثبت اندازه سلول را افزایش میدهد و یک مقدار منفی آن را کوچک میکند.\&
.PP
میتوانید با استفاده از پسوند \fBpx\fR فاصله حروف را بر حسب \fIپیکسل\fR مشخص کنید: برای نمونه \fBletter\-spacing=2px\fR.\&
.PP
همچنین ببینید: \fBhorizontal\-letter\-offset\fR.\&
.PP
پیشفرض: \fI0\fR.\&
.PP
.RE
\fBhorizontal\-letter\-offset\fR, \fBvertical\-letter\-offset\fR
.RS 4
آفستهای افقی و عمودی مورداستفاده هنگام قرار دادن گلیفها درون سلولها را بر حسب \fIپوینت\fR، نسبت به گوشه بالا سمت چپ پیکربندی میکند.\&
.PP
برای تعیین آفست بر حسب \fIپیکسل\fR، پسوند \fBpx\fR را اضافه کنید: برای نمونه \fBhorizontal\-letter\-offset=2px\fR.\&
.PP
پیشفرض: \fI0\fR.\&
.PP
.RE
\fBunderline\-offset\fR
.RS 4
استفاده از آفست سفارشی برای خطوط زیرین.\& آفست به طور پیشفرض بر حسب \fIپوینت\fR و نسبت به خط مبنای قلم (baseline) است.\& یک مقدار مثبت خط زیرین را زیر خط مبنا قرار میدهد، در حالی که مقدار منفی آن را بالای خط مبنا قرار میدهد.\&
.PP
برای مشخص کردن آفست بر حسب \fIپیکسل\fR، پسوند \fBpx\fR را اضافه کنید: \fBunderline\-offset=2px\fR.\&
.PP
در صورت عدم تنظیم (حالت پیشفرض)، از آفست مشخصشده در قلم استفاده میشود، یا اگر اطلاعات موقعیت خط زیرین در قلم موجود نباشد، توسط foot تخمین زده میشود.\&
.PP
پیشفرض: \fIunset\fR.\&
.PP
.RE
\fBunderline\-thickness\fR
.RS 4
استفاده از ضخامت (ارتفاع) سفارشی برای خطوط زیرین.\& ضخامت به طور پیشفرض بر حسب \fIپوینت\fR است.\&
.PP
برای مشخص کردن ضخامت بر حسب \fIپیکسل\fR، پسوند \fBpx\fR را اضافه کنید: \fBunderline\-thickness=1px\fR.\&
.PP
در صورت عدم تنظیم (حالت پیشفرض)، از ضخامت مشخصشده در قلم استفاده میشود.\&
.PP
پیشفرض: \fIunset\fR
.PP
.RE
\fBstrikeout\-thickness\fR
.RS 4
استفاده از ضخامت (ارتفاع) سفارشی برای خطوط خطخورده (strikeout).\& ضخامت به طور پیشفرض بر حسب \fIپوینت\fR است.\&
.PP
برای مشخص کردن ضخامت بر حسب \fIپیکسل\fR، پسوند \fBpx\fR را اضافه کنید: \fBstrikeout\-thickness=1px\fR.\&
.PP
در صورت عدم تنظیم (حالت پیشفرض)، از ضخامت مشخصشده در قلم استفاده میشود.\&
.PP
پیشفرض: \fIunset\fR
.PP
.RE
\fBgamma\-correct\-blending\fR
.RS 4
بولی.\& در صورت فعال بودن، foot ترکیب تصحیحشده با گاما را در فضای رنگی خطی انجام میدهد.\& این روشی است که گلیفهای قلم قرار است رندر شوند، اما از آنجا که تقریباً هیچ برنامه یا ابزار رابط کاربری این کار را در لینوکس انجام نمیدهد، نتیجه ممکن است شبیه آنچه به آن عادت کردهاید به نظر نرسد.\&
.PP
در مقایسه با حالت پیشفرض (غیرفعال)، گلیفهای روشن روی پسزمینه تیره ضخیمتر به نظر میرسند و گلیفهای تیره روی پسزمینه روشن باریکتر خواهند بود.\&
.PP
کتابخانه FreeType میتواند با تکنیکی به نام تیره کردن ساقه (stem darkening) تأثیر دومی را محدود کند.\& این قابلیت فقط برای قلمهای CFF (مانند OpenType، .\&otf) در دسترس است و به طور پیشفرض (در FreeType) غیرفعال است.\& میتوانید با تنظیم متغیر محیطی \fBFREETYPE_PROPERTIES="cff:no\-stem\-darkening=0"\fR پیش از راهاندازی foot آن را فعال کنید.\&
.PP
همچنین توجه داشته باشید که بسیاری از قلمها روی سیستمهایی توسعه یافتهاند که ترکیب تصحیحشده با گاما را انجام نمیدهند، بنابراین ممکن است هنگام رندر با ترکیب تصحیحشده با گاما ضخیمتر از حد انتظار به نظر برسند، زیرا طراح قلم وزن آن را بر اساس رندر نادرست تنظیم کرده است.\&
.PP
به منظور نمایش صادقانه رنگها، به بافرهای تصویری با دقت بالاتر نیاز است.\& به طور پیشفرض، foot در صورت فعال بودن ترکیب تصحیحشده با گاما، بسته به در دسترس بودن، از کانالهای رنگی ۱۶ بیتی یا ۱۰ بیتی استفاده خواهد کرد.\& با این حال، بافرهای با دقت بالا کُند هستند؛ اگر میخواهید از ترکیب تصحیحشده با گاما استفاده کنید اما سرعت (توان پردازش و تاخیر ورودی) را به رنگهای دقیق ترجیح میدهید، میتوانید با تنظیم \fBtweak.\&surface\-bit\-depth=8\-bit\fR کانالهای رنگی ۸ بیتی را اجباری کنید.\&
.PP
پیشفرض: \fIno\fR.\&
.PP
.RE
\fBuppercase\-regex\-insert\fR
.RS 4
بولی.\& در صورت فعال بودن، وارد کردن یک نویسه راهنمای بزرگ در حالت \fBshow\-urls\-copy\fR یا \fBregex\-copy\fR، علاوه بر رونوشت متن انتخابشده در بریدهدان، آن را در خط فرمان نیز درج میکند.\&
.PP
پیشفرض: \fIyes\fR
.PP
.RE
\fBbox\-drawings\-uses\-font\-glyphs\fR
.RS 4
بولی.\& در صورت غیرفعال بودن، foot خودش نویسههای ترسیم جدول/خط را تولید میکند.\& انجام این کار به جای استفاده از گلیفهای قلم چندین مزیت دارد:
.PP
.RS 4
.PD 0
.IP \(bu 4
نبود اثرات anti\-aliasing که در آن مثلاً انتهای خطوط کمرنگ یا تار به نظر میرسند.\&
.IP \(bu 4
تضمین اینکه نویسههای خط و جعبه تمام سلول را پوشش دهند که منجر به ظاهری بدون شکاف میشود.\&
.IP \(bu 4
نبود مشکلات تراز، یعنی خطوط زمانی که باید در مرکز باشند، دقیقاً در مرکز قرار میگیرند.\&
.IP \(bu 4
بسیاری از قلمها فاقد برخی یا همه نویسههای ترسیم خط و جعبه هستند که باعث استفاده از قلمهای جایگزین میشود و در نتیجه گلیفهایی با ظاهر ناهمگون (مثلاً با اندازه نامناسب) ایجاد میگردد.\&
.PD
.PP
.RE
در صورت فعال بودن، نویسههای ترسیم جعبه/خط با استفاده از گلیفهای قلم رندر میشوند.\& این ممکن است در برخی موارد استفاده، به ظاهری یکنواختتر منجر شود.\&
.PP
در صورت غیرفعال بودن، foot کدهای یونیکد زیر را خودش رندر میکند:
.PP
.RS 4
.PD 0
.IP \(bu 4
U+02500 \- U+0259F
.IP \(bu 4
U+02800 \- U+028FF
.IP \(bu 4
U+1CD00 \- U+1CDE5
.IP \(bu 4
U+1Fb00 \- U+1FB9B
.PD
.PP
.RE
پیشفرض: \fIno\fR.\&
.PP
.RE
\fBdpi\-aware\fR
.RS 4
بولی.\&
.PP
هنگامی که روی \fByes\fR تنظیم شود، اندازه قلمها با استفاده از DPI نمایشگر تعیین میشود، به طوری که قلمی با اندازه مشخص، بدون در نظر گرفتن نمایشگر، اندازه فیزیکی یکسانی خواهد داشت.\& به عبارت دیگر، اگر یک پنجره foot را بین نمایشگرهای مختلف بکشید، اندازه قلم یکسان باقی میماند.\&
.PP
در این حالت، ضریب مقیاسبندی (scaling factor) نمایشگر نادیده گرفته میشود؛ دو برابر کردن ضریب مقیاسبندی اندازه قلم را دو برابر \fBنخواهد کرد\fR.\&
.PP
هنگامی که روی \fBno\fR تنظیم شود، DPI نمایشگر نادیده گرفته میشود.\& در عوض اندازه قلم با استفاده از ضریب مقیاسبندی نمایشگر تعیین میشود؛ دو برابر کردن ضریب مقیاسبندی اندازه قلم را دو برابر \fBمیکند\fR.\&
.PP
توجه داشته باشید که این گزینه معمولاً با قلمهای بیتمپ (bitmap) که فقط شامل مجموعهای از اندازههای از پیش تعریفشده هستند و نمیتوانند به صورت پویا مقیاسبندی شوند، کار نمیکند.\& هر اندازهای (از اندازههای موجود) که بهترین تطابق را با DPI یا ضریب مقیاسبندی داشته باشد، استفاده خواهد شد.\&
.PP
همچنین توجه داشته باشید که اگر اندازه قلم بر حسب پیکسل مشخص شده باشد (\fB:pixelsize=\fR\fIN\fR به جای \fB:size=\fR\fIN\fR)، مقیاسبندی DPI (\fBdpi\-aware=yes\fR) هیچ تأثیری نخواهد داشت (اندازه پیکسلی مشخصشده همانطور که هست استفاده میشود).\& اما اگر از ضریب مقیاسبندی نمایشگر برای تعیین اندازه قلم استفاده شود (\fBdpi\-aware=no\fR)، اندازه پیکسلی قلم در ضریب مقیاسبندی ضرب خواهد شد.\&
.PP
پیشفرض: \fIno\fR
.PP
.RE
\fBpad\fR
.RS 4
فاصله درونی (Padding) بین حاشیه و گلیفها، بر حسب پیکسل (تابع مقیاسبندی خروجی)، در قالب
.PP
.nf
.RS 4
_XxY_ [center | center\-when\-fullscreen | center\-when\-maximized\-and\-fullscreen]
.fi
.RE
یا
.nf
.RS 4
RIGHTxTOPxLEFTxBOTTOM [center | center\-when\-fullscreen | center\-when\-maximized\-and\-fullscreen]
.fi
.RE
.PP
.PD 0
.IP \(bu 4
`\fIXxY\fR` \fIدستکم\fR مقادیر زیر را میافزاید:
\- X پیکسل در سمتهای چپ و راست.\&
\- Y پیکسل در سمتهای بالا و پایین.\&
.PD
.PP
.PD 0
.IP \(bu 4
`LEFTxTOPxRIGHTxBOTTOM` \fB\fRدستکم\fB\fR مقادیر زیر را میافزاید:
\- LEFT پیکسل به چپ
\- TOP پیکسل به بالا
\- RIGHT پیکسل به راست
\- BOTTOM پیکسل به پایین
.PD
.PP
هنگامی که هیچ وسطچینی مشخص نشده باشد، محتوای شبکه به گوشه بالا سمت چپ متصل (مهار) میشود.\& یعنی اگر مدیر پنجره اندازه پنجره فردی را به foot تحمیل کند، پیکسلهای اضافی به سمتهای راست و پایین افزوده خواهند شد.\&
.PP
اگر \fBcenter\fR مشخص شود، محتوای شبکه در مرکز قرار میگیرد.\& این ممکن است هنگام تغییر اندازه پنجره باعث «پرش» شود.\&
.PP
با \fBcenter\-when\-fullscreen\fR و \fBcenter\-when\-maximized\-and\-fullscreen\fR، محتوای شبکه به گوشه بالا سمت چپ مهار میشود، مگر اینکه پنجره بیشینه (maximized) یا تمامصفحه شده باشد.\&
.PP
پیشفرض: \fI0x0\fR center\-when\-maximized\-and\-fullscreen.\&
.PP
.RE
\fBresize\-delay\-ms\fR
.PP
.RS 4
زمان، بر حسب میلیثانیه، از «زمان بیکاری» پیش از آنکه foot بازآرایی متن (text reflow) را انجام دهد و ابعاد پنجره جدید را حین تغییر اندازه تعاملی پنجره foot به برنامه کلاینت ارسال کند.\& زمان بیکاری در این زمینه، دورهای از زمان است که اندازه پنجره در آن تغییر نمیکند.\&
.PP
به عبارت دیگر، در حالی که در حال دستکاری اندازه پنجره هستید، foot ابعاد بهروزشده را به کلاینت ارسال نمیکند.\& همچنین به جای بازآرایی واقعی محتوا، یک تغییر اندازه «برشدهنده» سریع روی شبکه انجام میدهد.\& فقط زمانی که دستکاری را به مدت \fBresize\-delay\-ms\fR میلیثانیه متوقف کنید، کلاینت بهروز شده و محتوا به درستی بازآرایی میشود.\&
.PP
در اینجا تأکید بر \fIحین\fR است؛ به محض پایان تغییر اندازه تعاملی (یعنی زمانی که حاشیه پنجره را رها میکنید)، ابعاد نهایی بدون هیچ تاخیری به کلاینت ارسال میشود.\&
.PP
تنظیم آن روی 0 تاخیر را به طور کامل غیرفعال میکند.\&
.PP
پیشفرض: \fI100\fR.\&
.PP
.RE
\fBresize\-by\-cells\fR
.RS 4
بولی.\&
.PP
هنگامی که روی \fByes\fR تنظیم شود، اندازه پنجره به مضربهایی از اندازه سلول (به علاوه هرگونه فاصله درونی پیکربندیشده) محدود خواهد شد.\& هنگامی که روی \fBno\fR تنظیم شود، اندازه پنجره نامحدود خواهد بود و فاصله درونی ممکن است در صورت لزوم برای جای دادن اندازههای پنجرهای که مضربی از اندازه سلول نیستند، تنظیم شود.\&
.PP
این گزینه فقط برای پنجرههای شناور (floating) اعمال میشود.\& اندازه پنجرههای بیشینهشده، کاشیشده (tiled) یا تمامصفحه به مضربهای اندازه سلول محدود نخواهد شد.\&
.PP
پیشفرض: \fIyes\fR
.PP
.RE
\fBresize\-keep\-grid\fR
.RS 4
بولی.\&
.PP
هنگامی که روی \fByes\fR تنظیم شود، با تغییر اندازه قلم، اندازه پنجره تنظیم میشود تا ابعاد شبکه متنی حفظ شود.\& هنگامی که روی \fBno\fR تنظیم شود، اندازه پنجره ثابت میماند و شبکه متنی در صورت نیاز برای متناسب شدن با پنجره تنظیم خواهد شد.\&
.PP
این گزینه فقط برای پنجرههای شناور اعمال میشود.\&
.PP
پیشفرض: \fIyes\fR
.PP
.RE
\fBinitial\-color\-theme\fR
.RS 4
پوسته رنگی مورداستفاده را مشخص میکند، \fBdark\fR یا \fBlight\fR.\&
.PP
مقدار \fBdark\fR از رنگهای تعریفشده در بخش \fBcolors\-dark\fR استفاده میکند، در حالی که \fBlight\fR از رنگهای بخش \fBcolors\-light\fR بهره میبرد.\&
.PP
از کلیدهای میانبر \fBcolor\-theme\-switch\-dark\fR، \fBcolor\-theme\-switch\-light\fR و \fBcolor\-theme\-toggle\fR برای جابجایی بین دو پوسته در زمان اجرا استفاده کنید، یا سیگنالهای SIGUSR1/SIGUSR2 را به فرآیند foot بفرستید (برای جزئیات به \fBfoot\fR(1) مراجعه کنید).\&
.PP
پیشفرض: \fIdark\fR
.PP
.RE
\fBinitial\-window\-size\-pixels\fR
.RS 4
عرض و ارتفاع اولیه پنجره بر حسب \fIپیکسل\fR (تابع مقیاسبندی خروجی)، در قالب \fIWIDTHxHEIGHT\fR.\& در صورت استفاده از CSD، ارتفاع \fIشامل\fR نوار عنوان است.\& مانعةالجمع با \fBinitial\-window\-size\-chars\fR.\&
.PP
توجه داشته باشید که در صورت استفاده از مقیاسبندی کسری (fractional scaling)، ممکن است این گزینه مطابق انتظار کار نکند، به دلیل این واقعیت که بسیاری از کامپوزیتورها ضریب مقیاسبندی صحیح را تا پس از نگاشت پنجره گزارش نمیدهند.\&
.PP
پیشفرض: \fI700x500\fR.\&
.PP
.RE
\fBinitial\-window\-size\-chars\fR
.RS 4
عرض و ارتفاع اولیه پنجره بر حسب \fIنویسه\fR، در قالب \fIWIDTHxHEIGHT\fR.\& مانعةالجمع با \fBinitial\-window\-size\-pixels\fR.\&
.PP
توجه داشته باشید که اگر از پیکربندی چند نمایشگر با ضرایب مقیاسبندی متفاوت استفاده میکنید، این احتمال وجود دارد که اندازه پنجره به درستی تنظیم نشود.\& در این صورت، به جای آن از \fBinitial\-window\-size\-pixels\fR استفاده کنید.\&
.PP
و درست مانند \fBinitial\-window\-size\-pixels\fR، در صورت استفاده از مقیاسبندی کسری ممکن است این گزینه مطابق انتظار عمل نکند (برای جزئیات به \fBinitial\-window\-size\-pixels\fR مراجعه کنید).\&
.PP
پیشفرض: \fInot set\fR.\&
.PP
.RE
\fBinitial\-window\-mode\fR
.RS 4
حالت پنجره اولیه برای هر پنجره جدید ایجادشده: \fBwindowed\fR، \fBmaximized\fR یا \fBfullscreen\fR.\& پیشفرض: \fIwindowed\fR.\&
.PP
.RE
\fBtitle\fR
.RS 4
عنوان اولیه پنجره.\& پیشفرض: \fIfoot\fR.\&
.PP
.RE
\fBlocked\-title\fR
.RS 4
بولی.\& در صورت فعال بودن، برنامهها مجاز به تغییر عنوان در زمان اجرا نیستند.\& پیشفرض: \fIno\fR.\&
.PP
.RE
\fBapp\-id\fR
.RS 4
مقداری برای تنظیم ویژگی \fBapp\-id\fR روی پنجره Wayland.\& کامپوزیتور میتواند از این مقدار برای مثلاً گروهبندی چند پنجره، یا اعمال قوانین مدیریت پنجره استفاده کند.\& پیشفرض: \fIfoot\fR (حالت عادی)، یا \fIfootclient\fR (حالت سرور).\&
.PP
.RE
\fBtoplevel\-tag\fR
.RS 4
مقداری برای تنظیم ویژگی \fBtoplevel\-tag\fR روی پنجره Wayland.\& کامپوزیتور میتواند از این مقدار برای مدیریت نشست، قوانین پنجره و غیره استفاده کند.\& پیشفرض: \fInot set\fR
.PP
.RE
\fBbold\-text\-in\-bright\fR
.RS 4
نیمهبولی.\& در صورت فعال بودن، متن پررنگ علاوه بر استفاده از قلم پررنگ، با رنگ روشنتر رندر میشود.\& رنگ با ترکیب شدن با سفید روشنتر میگردد.\&
.PP
اگر به جای یک \fByes|true\fR ساده روی \fBpalette\-based\fR تنظیم شود، رنگهایی که با یکی از ۸ رنگ پالت معمولی تطابق دارند، با استفاده از رنگ پالت روشن متناظر روشنتر میشوند.\& سایر رنگها روشنتر نخواهند شد.\&
.PP
پیشفرض: \fIno\fR.\&
.PP
.RE
\fBword\-delimiters\fR
.RS 4
رشتهای از نویسهها که هنگام انتخاب متن به عنوان جداکننده کلمه عمل میکنند.\& توجه داشته باشید که نویسههای فضای خالی، بدون توجه به این تنظیم، \fIهمیشه\fR جداکننده کلمه هستند.\& پیشفرض: \fI,│`|:"'\&()[]{}<>\fR
.PP
.RE
\fBselection\-target\fR
.RS 4
مقصد بریدهدان جهت رونوشت خودکار متن انتخابشده.\& یکی از \fBnone\fR، \fBprimary\fR، \fBclipboard\fR یا \fBboth\fR.\& پیشفرض: \fIprimary\fR.\&
.PP
.RE
\fBworkers\fR
.RS 4
تعداد ریسمانهای مورداستفاده برای رندرینگ.\& برای غیرفعال کردن چندریسمانی روی 0 تنظیم کنید.\& پیشفرض: تعداد پردازندههای منطقی موجود (شامل SMT).\& توجه داشته باشید که این مقدار همیشه بهترین مقدار نیست.\& در برخی موارد، تعداد \fIهستههای\fR فیزیکی بهتر است.\&
.PP
در صورتی که تعداد بسیار زیادی هسته و/یا ریسمان دارید، محدود کردن تعداد \fBworkers\fR را مد نظر قرار دهید، زیرا foot نمیتواند بیش از تعداد سطرهای قابل مشاهده را موازیسازی کند.\&
.PP
.RE
\fButmp\-helper\fR
.RS 4
مسیر به باینری کمکی ثبت وقایع utmp.\&
.PP
هنگام راهاندازی foot، با اجرای باینری کمکی به همراه آرگومانهای زیر، یک رکورد utmp ایجاد میشود:
.PP
.nf
.RS 4
add $WAYLAND_DISPLAY
.fi
.RE
.PP
هنگام بسته شدن foot، با اجرای باینری کمکی به همراه آرگومانهای زیر، رکورد utmp حذف میشود:
.PP
.nf
.RS 4
del
.fi
.RE
.PP
برای غیرفعال کردن رکوردهای utmp روی \fBnone\fR تنظیم کنید.\& پیشفرض: \fI/usr/lib/utempter/utempter\fR.\&
.PP
.RE
.SH "بخش: محیط (SECTION: environment)"
.PP
این بخش برای تعریف متغیرهای محیطی استفاده میشود که علاوه بر متغیرهای به ارث رسیده از خود فرآیند ترمینال، در برنامه کلاینت تنظیم خواهند شد.\&
.PP
قالب آن بسیار ساده است:
.PP
\fBname\fR=\fIvalue\fR
.PP
نکته: \fBTERM\fR را در اینجا تنظیم نکنید؛ به جای آن از گزینه \fBterm\fR در بخش اصلی (پیشفرض) استفاده کنید.\&
.PP
.SH "بخش: امنیت (SECTION: security)"
.PP
\fBosc52\fR
.PP
.RS 4
اینکه آیا OSC\-52 (دسترسی به بریدهدان) فعال است یا غیرفعال.\& یکی از مقادیر
\fBdisabled\fR، \fBcopy\-enabled\fR، \fBpaste\-enabled\fR یا \fBenabled\fR.\&
.PP
قابلیت OSC\-52 به برنامه ترمینال دسترسی به بریدهدان میزبان (یعنی بریدهدان Wayland) را میدهد.\& این مورد معمولاً یک مشکل امنیتی نیست، زیرا تمام برنامهها میتوانند مستقیماً از طریق سوکت Wayland به بریدهدان دسترسی داشته باشند.\&
.PP
با این حال، هنگام اتصال با SSH به یک سیستم دوردست، یا دسترسی به یک کانتینر و غیره، برنامههای ترمینال ممکن است غیرقابل اعتماد باشند و شاید بخواهید دسترسی به بریدهدان میزبان را غیرفعال کنید.\&
.PP
.PD 0
.IP \(bu 4
\fBdisabled\fR: تمام دسترسیها به بریدهدان را غیرفعال میکند
.IP \(bu 4
\fBcopy\-enabled\fR: برنامهها میتوانند روی بریدهدان بنویسند، اما نمیتوانند از آن بخوانند.\&
.IP \(bu 4
\fBpaste\-enabled\fR: برنامهها میتوانند از بریدهدان بخوانند، اما نمیتوانند روی آن بنویسند.\&
.IP \(bu 4
\fBenabled\fR: تمام برنامهها دسترسی کامل به بریدهدان میزبان دارند.\& این حالت پیشفرض است.\&
.PD
.PP
پیشفرض: \fIenabled\fR
.PP
.PP
.RE
.SH "بخش: زنگ اعلان (SECTION: bell)"
.PP
\fBsystem\fR
.RS 4
بولی، در صورت تنظیم روی \fIyes\fR، زنگ سیستم (system bell) به صدا درمیآید.\& زنگ بدون توجه به اینکه پنجره foot فوکوس صفحهکلید را دارد یا خیر نواخته میشود.\& رفتار دقیق آن وابسته به کامپوزیتور است.\&
.PP
پیشفرض: \fIyes\fR
.PP
.RE
\fBurgent\fR
.RS 4
بولی، در صورت تنظیم روی \fIyes\fR، هرگاه کاراکتر \fBBEL\fR دریافت شود و پنجره فوکوس صفحهکلید را نداشته باشد، foot وضعیت اضطرار (urgency) را از طریق پروتکل فعالسازی XDG به کامپوزیتور مخابره میکند.\&
.PP
اگر کامپوزیتور این پروتکل را پیادهسازی نکرده باشد، حاشیهها به رنگ قرمز نمایش داده خواهند شد.\&
.PP
برنامهها میتوانند این ویژگی را به صورت برنامهنویسیشده با توالیهای گریز \fBCSI ?\& 1042 h\fR و \fBCSI ?\& 1042 l\fR فعال/غیرفعال کنند.\&
.PP
پیشفرض: \fIno\fR
.PP
.RE
\fBnotify\fR
.RS 4
بولی، در صورت تنظیم روی \fIyes\fR، هرگاه کاراکتر \fBBEL\fR دریافت شود، foot با استفاده از دستور مشخصشده در گزینه \fBnotify\fR یک اعلان میزکار صادر میکند.\& به طور پیشفرض، اعلانهای زنگ تنها زمانی نمایش داده میشوند که پنجره فوکوس صفحهکلید را \fBنداشته باشد\fR.\& به \fIdesktop\-notifications.\&inhibit\-when\-focused\fR مراجعه کنید.\&
.PP
پیشفرض: \fIno\fR
.PP
.RE
\fBvisual\fR
.RS 4
بولی، در صورت تنظیم روی \fIyes\fR، پنجره ترمینال توسط foot چشمک میزند (فلاش میزند).\& پیشفرض: \fIno\fR
.PP
.RE
\fBcommand\fR
.RS 4
در صورت تنظیم، foot هنگام دریافت کاراکتر \fBBEL\fR این دستور را اجرا میکند.\&
پیشفرض: none
.PP
.RE
\fBcommand\-focused\fR
.RS 4
بولی، آیا دستور زنگ \fBBEL\fR حتی هنگام فوکوس بودن پنجره نیز اجرا شود یا خیر.\& پیشفرض: \fIno\fR
.PP
.RE
.SH "بخش: اعلانهای میزکار (SECTION: desktop\-notifications)"
.PP
\fBcommand\fR
.RS 4
دستوری که برای نمایش یک اعلان اجرا میشود.\&
.PP
آرگومانهای الگو
.RS 4
\fI${title}\fR و \fI${body}\fR با \fItitle\fR (عنوان) و \fIbody\fR (متن پیام) واقعی اعلان جایگزین خواهند شد.\&
.PP
\fI${app\-id}\fR با مقدار گزینه خط فرمان \fI\-\-app\-id\fR جایگزین میشود، و به صورت پیشفرض \fBfoot\fR (حالت عادی)، یا \fBfootclient\fR (حالت سرور) است.\&
.PP
\fI${window\-title}\fR با عنوان پنجره جاری جایگزین میشود.\&
.PP
\fI${icon}\fR با آیکون مشخصشده در درخواست اعلان، یا یک رشته خالی در صورت عدم تعیین آیکون، جایگزین میشود.\& میتواند همراه با مثلاً گزینه \fB\-\-icon\fR در notify\-send استفاده شود، یا ترجیحاً، با تنظیم هینت \fBimage\-path\fR (با مثلاً گزینه \fB\-\-hint\fR در notify\-send).\&
.PP
\fI${category}\fR با دستهبندی اعلان جایگزین میشود.\& میتواند همراه با مثلاً گزینه \fB\-\-category\fR در notify\-send استفاده شود.\&
.PP
\fI${urgency}\fR با درجه اضطرار اعلان جایگزین میشود؛ مقادیر \fBlow\fR، \fBnormal\fR یا \fBcritical\fR.\& میتواند همراه با مثلاً گزینه \fB\-\-urgency\fR در notify\-send استفاده شود.\&
.PP
\fI${expire\-time}\fR با مدت انقضای مشخصشده برای اعلان جایگزین میشود.\& میتواند همراه با مثلاً گزینه \fB\-\-expire\-time\fR در notify\-send استفاده شود.\&
.PP
\fI${replace\-id}\fR با شناسه تخصیصیافته توسط دیمن اعلان جایگزین میشود که این اعلان آن را جایگزین/بهروز میکند.\& برای کارکرد این قابلیت، foot باید شناسههای تخصیصیافته بیرونی اعلانهای منتشرشده قبلی را بداند؛ به بخش «stdout» در زیر مراجعه کنید.\& میتواند همراه با مثلاً گزینه \fB\-\-replace\-id\fR در notify\-send استفاده شود.\&
.PP
\fI${muted}\fR بسته به اینکه آیا اعلان درخواست بیصدا کردن تمام صداهای اعلان را داده است یا خیر، با \fBtrue\fR یا \fBfalse\fR جایگزین میشود.\& هدف از آن تنظیم هینت \fBsuppress\-sound\fR است (با مثلاً گزینه \fB\-\-hint\fR در notify\-send).\&
.PP
\fI${sound\-name}\fR با نام صدای درخواستشده توسط اعلان جایگزین میشود.\& این نام باید از مشخصات نامگذاری صدای freedesktop باشد، اما این چیزی نیست که foot اجبار کند.\& هدف از آن تنظیم هینت \fBsound\-name\fR است (با مثلاً گزینه \fB\-\-hint\fR در notify\-send).\&
.PP
\fI${action\-argument}\fR برای هر اقدام (action) اعلان به گزینه \fBcommand\-action\-argument\fR بسط داده میشود.\& همیشه دستکم یک اقدام، اقدام «پیشفرض» (default)، وجود خواهد داشت.\& foot از این قابلیت برای فعالسازی فوکوس پنجره و گزارش فعالسازی اعلان به برنامههایی که درخواست چنین رویدادهایی را دادهاند استفاده میکند.\&
.PP
برنامهها همچنین میتوانند اقدامات اعلان سفارشی خود را تعریف کنند.\& برای جزئیات به گزینه \fBcommand\-action\-argument\fR مراجعه کنید.\&
.PP
.RE
راههای راهاندازی اعلانها
.RS 4
برنامهها میتوانند اعلانها را به روشهای زیر راهاندازی کنند:
.PP
.PD 0
.IP \(bu 4
دستور OSC 777: \fB\ee]777;notify;
;\ee\e\e\fR
.IP \(bu 4
دستور OSC 99: \fB\ee]99;;\ee\e\e\fR (این تنها یک نمونه پایه است؛ این پروتکل ویژگیهای متعددی دارد، به https://sw.\&kovidgoyal.\&net/kitty/desktop\-notifications مراجعه کنید)
.PD
.PP
به طور پیشفرض، اگر پنجره foot دارای فوکوس صفحهکلید باشد، اعلانها \fBمهار میشوند\fR.\& به \fIdesktop\-notifications.\&inhibit\-when\-focused\fR مراجعه کنید.\&
.PP
.RE
فعالسازی پنجره (فوکوس کردن)
.RS 4
هنگامی که اعلان «فعال» (activated) میشود، foot میتواند پنجره را فوکوس کند.\& همچنین میتواند رویدادی را به برنامه کلاینت بازگرداند و به آن اطلاع دهد که اعلان «فعال» شده است.\& این رویداد معمولاً زمانی رخ میدهد که اقدام پیشفرض فراخوانی شود و/یا روی اعلان کلیک شود، اما رفتار دقیق به دیمن اعلان مورداستفاده و نحوه پیکربندی آن بستگی دارد.\&
.PP
برای کارکرد این قابلیت، foot باید بداند اعلان چه زمانی فعال شده است (در مقایسه با زمانی که صرفاً رد یا بسته شده است) و به یک توکن فعالسازی XDG نیاز دارد.\&
.PP
برای مدیریت این موضوع دو بخش وجود دارد.\& نخست، اعلان باید یک اقدام تعریف کند.\& برای این منظور، foot یک اقدام «پیشفرض» به اعلان اضافه میکند (به گزینه \fBcommand\-action\-argument\fR مراجعه کنید).\&
.PP
دوم، foot باید بداند چه زمانی اعلان فعال شده است و باید توکن فعالسازی XDG را به دست آورد.\&
.PP
انتظار میرود هر دو در خروجی استاندارد (stdout) چاپ شوند.\&
.PP
foot انتظار دارد نام اقدام (نه برچسب آن) در یک سطر جداگانه چاپ شود.\& بدون پیشوند و بدون پسوند.\&
.PP
foot انتظار دارد توکن فعالسازی در یک سطر جداگانه با پیشوند \fBxdgtoken=\fR چاپ شود.\&
.PP
مثال:
.RS 4
default
.br
xdgtoken=18179adf579a7a904ce73754964b1ec3
.PP
.RE
قالب مورد انتظار خروجی استاندارد ممکن است در هر زمانی تغییر کند.\& لطفاً هنگام ارتقای foot، گزارش تغییرات (changelog) را مطالعه کنید.\&
.PP
\fBنکته\fR: ابزار notify\-send به صورت پیشفرض از گزارش توکن فعالسازی XDG به هیچ روشی پشتیبانی نمیکند.\& این بدان معناست که فعالسازی پنجره به صورت پیشفرض کار نخواهد کرد.\&
.PP
.RE
خروجی استاندارد (Stdout)
.RS 4
foot موارد زیر را از خروجی استاندارد (stdout) برنامه کمکی اعلان تشخیص میدهد:
.PP
.PD 0
.IP \(bu 4
\fIid\fR: عدد صحیح در مبنای ۱۰، شناسه اعلان تخصیصیافته توسط دیمن
.IP \(bu 4
\fBid=\fR\fIid\fR: همانند \fInnn\fR ساده.\&
.IP \(bu 4
\fBdefault\fR: اقدام «پیشفرض» (default) راهاندازی شد
.IP \(bu 4
\fBaction=\fR\fIdefault\fR: همانند \fIdefault\fR
.IP \(bu 4
\fBaction=\fR\fIn\fR: اقدام سفارشی برنامه \fIn\fR راهاندازی شد
.IP \(bu 4
\fIn\fR: عدد صحیح در مبنای ۱۰، که پس از شناسه ظاهر میشود؛ اقدام سفارشی برنامه \fIn\fR راهاندازی شد
.IP \(bu 4
\fBxdgtoken=\fR\fIxyz\fR: توکن فعالسازی XDG.\&
.PD
.PP
مثال شماره ۱:
.RS 4
17
.br
action=default
.br
xdgtoken=95ebdfe56e4f47ddb5bba9d7dc3a2c35
.PP
foot این خروجی را به صورت زیر تشخیص میدهد:
.PD 0
.IP \(bu 4
اعلان دارای شناسه ۱۷ تخصیصیافته توسط دیمن است
.IP \(bu 4
کاربر اقدام پیشفرض را راهاندازی کرده است
.IP \(bu 4
اعلان یک توکن فعالسازی XDG ارسال کرده است
.PD
.PP
.RE
مثال شماره ۲:
.RS 4
17
.br
1
.PP
foot این خروجی را به صورت زیر تشخیص میدهد:
.PD 0
.IP \(bu 4
اعلان دارای شناسه ۱۷ تخصیصیافته توسط دیمن است
.IP \(bu 4
کاربر اولین اقدام سفارشی، «۱» را راهاندازی کرده است
.PD
.PP
.RE
مثال شماره ۳:
.RS 4
id=17
.br
1
.PP
foot این خروجی را به صورت زیر تشخیص میدهد:
.PD 0
.IP \(bu 4
اعلان دارای شناسه ۱۷ تخصیصیافته توسط دیمن است
.IP \(bu 4
کاربر اولین اقدام سفارشی، «۱» را راهاندازی کرده است
.PD
.PP
.RE
.RE
پیشفرض: \fInotify\-send
.br
\-\-wait
.br
\-\-app\-name ${app\-id}
.br
\-\-icon ${app\-id}
.br
\-\-category ${category}
.br
\-\-urgency ${urgency}
.br
\-\-expire\-time ${expire\-time}
.br
\-\-hint STRING:image\-path:${icon}
.br
\-\-hint BOOLEAN:suppress\-sound:${muted}
.br
\-\-hint STRING:sound\-name:${sound\-name}
.br
\-\-replace\-id ${replace\-id}
.br
${action\-argument}
.br
\-\-print\-id
.br
\-\- ${title} ${body}\fR.\&
.PP
جایگزین: نمونه پیکربندی \fB\fRfyi\fB\fR: \fIfyi
.br
\-\-wait
.br
\-\-app\-name ${app\-id}
.br
\-\-icon ${app\-id}
.br
\-\-category ${category}
.br
\-\-urgency ${urgency}
.br
\-\-expire\-time ${expire\-time}
.br
\-\-hint string:image\-path:${icon}
.br
\-\-hint boolean:suppress\-sound:${muted}
.br
\-\-hint string:sound\-name:${sound\-name}
.br
\-\-replaces ${replace\-id}
.br
${action\-argument}
.br
\-\-print\-token
.br
\-\- ${title} ${body}\fR.\&
.PP
.PP
.RE
\fBcommand\-action\-argument\fR
.RS 4
رشتهای برای استفاده همراه با \fBcommand\fR جهت فعال کردن ارسال نامهای اقدام/دکمه به برنامه کمکی اعلان.\&
.PP
foot همیشه یک اقدام «پیشفرض» (default) را پیکربندی میکند که میتواند برای «فعالسازی» اعلان استفاده شود، که به نوبه خود میتواند باعث فوکوس پنجره foot شود یا یک توالی گریز به برنامه ترمینال ارسال کند (بسته به اینکه برنامه چگونه اعلان را تولید کرده است).\&
.PP
علاوه بر این، پروتکل اعلانهای OSC\-99 به برنامهها اجازه میدهد تا اقدامات سفارشی خود را تعریف کنند.\& foot از ترکیبی از گزینه \fBcommand\fR و گزینه \fBcommand\-action\-argument\fR برای ارسال نامهای اقدامات به برنامه کمکی اعلان استفاده میکند.\&
.PP
این گزینه دارای آرگومانهای الگوی زیر است:
.PP
.PD 0
.IP \(bu 4
\fI${action\-name}\fR: نام اقدام؛ \fBdefault\fR برای اقدام پیشفرض پیکربندیشده توسط foot، و \fIn\fR که در آن \fIn\fR یک عدد صحیح ۱ =< است برای اقدامات تعریفشده توسط برنامه.\&
.IP \(bu 4
\fI${action\-label}\fR: مقدار \fBActivate\fR برای اقدام پیشفرض، و یک رشته آزاد برای اقدامات تعریفشده توسط برنامه.\&
.PD
.PP
به ازای هر اقدام اعلان (به یاد داشته باشید، همیشه دستکم یک اقدام وجود خواهد داشت)، گزینه \fBcommand\-action\-argument\fR با نام و برچسب آن اقدام بسط داده میشود.\&
.PP
سپس، \fI${action\-argument}\fR در دستور \fBcommand\fR به فهرست کامل اقدامات بسط مییابد.\&
.PP
اگر \fBcommand\-action\-argument\fR روی یک رشته خالی تنظیم شود، هیچ اقدامی به \fBcommand\fR ارسال نخواهد شد.\& یعنی \fI${action\-argument}\fR با یک رشته خالی جایگزین میشود.\&
.PP
مثال:
.PP
\fBcommand\-action\-argument=\-\-action ${action\-name}=${action\-label}\fR
.br
\fBcommand=notify\-send ${action\-argument} .\&.\&.\&\fR
.PP
فرض کنید برنامه دو اقدام سفارشی تعریف کرده است: \fBOK\fR و \fBCancel\fR.\&
.PP
با توجه به موارد فوق، foot دستور زیر را اجرا خواهد کرد:
.PP
.RS 4
notify\-send
.br
\-\-action default='\&Click to activate'\&
.br
\-\-action 1=OK
.br
\-\-action 2=Cancel
.br
.\&.\&.\&
.PP
.RE
پیشفرض: \fI\-\-action ${action\-name}=${action\-label}\fR
.PP
.RE
\fBclose\fR
.RS 4
دستوری که برای بستن یک اعلان موجود اجرا میشود.\&
.PP
\fI${id}\fR به شناسه اعلانی که باید بسته شود بسط مییابد.\& برای مثال:
.PP
.RS 4
fyi \-\-close ${id}
.PP
.RE
بستن اعلان تنها توسط پروتکل اعلانهای میزکار کیتی (Kitty Desktop Notification)، OSC\-99 پشتیبانی میشود.\&
.PP
اگر روی رشته خالی تنظیم شود (حالت پیشفرض)، foot در عوض تلاش میکند تا با ارسال سیگنال SIGINT به فرآیند کمکی اعلان، آن را ببندد.\& برای مثال، دستور \fBnotify\-send \-\-wait\fR (در libnotify >= 0.\&8.\&0) با بستن اعلان به SIGINT پاسخ میدهد.\&
.PP
پیشفرض: \fInot set\fR
.PP
.RE
\fBinhibit\-when\-focused\fR
.RS 4
بولی.\& در صورت فعال بودن، اگر پنجره ترمینال فوکوس صفحهکلید را داشته باشد، foot اعلانها را نمایش نخواهد داد.\&
.PP
پیشفرض: \fIyes\fR
.PP
.RE
.SH "بخش: تاریخچه پیمایش (SECTION: scrollback)"
.PP
\fBlines\fR
.RS 4
تعداد سطرهای تاریخچه پیمایش (scrollback).\& حداکثر تعداد سطرهای تخصیصیافته برابر با این مقدار به علاوه تعداد سطرهای قابل مشاهده خواهد بود که به نزدیکترین توان ۲ به بالا گرد میشود.\& پیشفرض: \fI1000\fR.\&
.PP
.RE
\fBmultiplier\fR
.RS 4
مقداری برای ضرب در پیمایش موشواره.\& این یک عدد اعشاری است، یعنی مقادیر کسری مجاز هستند.\& پیشفرض: \fI3.\&0\fR.\&
.PP
.RE
\fBindicator\-position\fR
.RS 4
شیوه نمایش نشانگر موقعیت تاریخچه پیمایش را پیکربندی میکند.\& یکی از مقادیر \fBnone\fR، \fBfixed\fR یا \fBrelative\fR.\& مقدار \fBnone\fR نشانگر را به طور کامل غیرفعال میکند.\& مقدار \fBfixed\fR همیشه نشانگر را نزدیک بالای پنجره رندر میکند، و \fBrelative\fR نشانگر را در موقعیتی متناسب با موقعیت پیمایش جاری رندر مینماید.\& پیشفرض: \fIrelative\fR.\&
.PP
.RE
\fBindicator\-format\fR
.RS 4
قالبی که هنگام نمایش نشانگر موقعیت تاریخچه پیمایش استفاده میشود.\& یکی از مقادیر \fIpercentage\fR (درصد)، \fIline\fR (سطر)، یا یک رشته ثابت سفارشی.\& در صورت تنظیم \fBindicator\-position=none\fR این گزینه نادیده گرفته میشود.\& پیشفرض: \fIempty string\fR (رشته خالی).\&
.PP
.RE
.SH "بخش: پیوندها (SECTION: url)"
.PP
توجه داشته باشید که میتوانید عبارات منظم سفارشی را نیز اضافه کنید، به بخش «regex» مراجعه کنید.\&
.PP
\fBlaunch\fR
.RS 4
دستوری که هنگام باز کردن URLها اجرا میشود.\& \fI${url}\fR با URL واقعی جایگزین خواهد شد.\& پیشفرض: \fIxdg\-open ${url}\fR.\&
.PP
.RE
\fBosc8\-underline\fR
.RS 4
زمان زیرخط کشیدن زیر URLهای OSC\-8.\& مقادیر ممکن \fBurl\-mode\fR و \fBalways\fR هستند.\&
.PP
هنگامی که روی \fBurl\-mode\fR تنظیم شود، نشانیهای OSC\-8 درست مانند نشانیهای به طور خودکار شناساییشده، فقط در حالت URL برجسته میشوند.\&
.PP
هنگامی که روی \fBalways\fR تنظیم شود، نشانیهای OSC\-8 همیشه بدون در نظر گرفتن سایر ویژگیهایشان (پررنگ، مورب و غیره) برجسته میشوند.\& توجه داشته باشید که این کار آنها را قابل کلیک \fIنمیکند\fR.\&
.PP
پیشفرض: \fIurl\-mode\fR
.PP
.RE
\fBstyle\fR
.RS 4
سبک خط زیرین مورداستفاده هنگام رندر خطوط زیر URL.\& این گزینه هم برای خطوط زیرین OSC\-8 در حالت \fBosc8\-underline=always\fR و هم برای تمام URLهای شناساییشده در حالت URL اعمال میشود.\& یکی از مقادیر \fBnone\fR (هیچ)، \fBsingle\fR (تکخط)، \fBdouble\fR (دوخط)، \fBcurly\fR (موجدار)، \fBdotted\fR (نقطهچین) یا \fBdashed\fR (خطچین).\&
.PP
پیشفرض: \fIdotted\fR
.PP
.RE
\fBlabel\-letters\fR
.RS 4
رشتهای از نویسهها برای استفاده هنگام ایجاد توالی کلیدها جهت برچسبهای پرش URL.\&
.PP
اگر این گزینه را طوری تغییر دهید که شامل حرف \fBt\fR باشد، باید کلید میانبر پیشفرض \fB[url\-bindings].\&toggle\-url\-visible\fR را نیز تغییر دهید تا از تداخل جلوگیری شود.\&
.PP
پیشفرض: \fIsadfjklewcmpgh\fR.\&
.PP
.RE
\fBregex\fR
.RS 4
عبارت منظم مورداستفاده هنگام شناسایی خودکار URLها.\& قالب آن "POSIX\-Extended Regular Expressions" (عبارات منظم گسترشیافته پازیکس) است.\& توجه داشته باشید که نخستین زیرعبارت علامتگذاریشده به عنوان URL استفاده میشود.\& به عبارت دیگر، اگر میخواهید کل تطابق regex به عنوان URL استفاده شود، تمام آن را درون پرانتز قرار دهید: \fB(regex\-pattern)\fR.\&
.PP
پیشفرض: \fI(((https?\&://|mailto:|ftp://|file:|ssh:|ssh://|git://|tel:|magnet:|ipfs://|ipns://|gemini://|gopher://|news:)|www.)([0\-9a\-zA\-Z:/?\@!\&$&*+,;=.\&\(ti_%\(ha'\&-]+|([]["0\-9a\-zA\-Z:/?\@!\&$&'\&*+,;=.\&\(ti_%\(ha-]+)|[[()"0\-9a\-zA\-Z:/?\@!\&$&'\&*+,;=.\&\(ti_%\(ha-]+]|"[][()0\-9a\-zA\-Z:/?\@!\&$&'\&*+,;=.\&\(ti_%\(ha-]+"|'\&[][()0\-9a\-zA\-Z:/?\@!\&$&*+,;=.\&\(ti_%\(ha-]+'\&)+([0\-9a\-zA\-Z/#@$&*+=\(ti_%\(ha-]|([]["0\-9a\-zA\-Z:/?\@!\&$&'\&*+,;=.\&\(ti_%\(ha-]+)|[[()"0\-9a\-zA\-Z:/?\@!\&$&'\&*+,;=.\&\(ti_%\(ha-]+]|"[][()0\-9a\-zA\-Z:/?\@!\&$&'\&*+,;=.\&\(ti_%\(ha-]+"|'\&[][()0\-9a\-zA\-Z:/?\@!\&$&*+,;=.\&\(ti_%\(ha-]+'\&))\fR
.PP
.RE
.SH "بخش: عبارت منظم (SECTION: regex)"
.PP
مشابه حالت «url»، اما با عبارات منظم سفارشی تعریفشده (و اجراکنندهها).\&
.PP
برای استفاده از یک عبارت منظم سفارشی، باید یک کلید میانبر نیز برای آن اضافه کنید.\& این کار در بخش \fBkey\-binding\fR انجام میشود، برای جزئیات به زیر مراجعه کنید.\& برای مثال، یک عبارت منظم برای شناسایی خلاصه هشها (مانند هشهای کامیت گیت) میتواند به شکل زیر باشد:
.PP
.nf
.RS 4
[regex:hashes]
regex=([a\-fA\-F0\-9]{7,128})
launch=path\-to\-script\-or\-application ${match}
[key\-bindings]
regex\-launch=[hashes] Control+Shift+q
regex\-copy=[hashes] Control+Mod1+Shift+q
.fi
.RE
.PP
\fBlaunch\fR
.RS 4
دستوری که هنگام «اجرای» یک تطابق عبارت منظم اجرا میشود.\& \fI${match}\fR با URL واقعی جایگزین خواهد شد.\& پیشفرض: \fInot set\fR.\&
.PP
.RE
\fBregex\fR
.RS 4
عبارت منظم مورداستفاده هنگام تطبیق متن.\& قالب آن "POSIX\-Extended Regular Expressions" است.\& توجه داشته باشید که نخستین زیرعبارت علامتگذاریشده به عنوان تطابق استفاده میشود.\& به عبارت دیگر، اگر میخواهید کل تطابق regex استفاده شود، تمام آن را درون پرانتز قرار دهید: \fB(regex\-pattern)\fR.\&
.PP
پیشفرض: \fInot set\fR.\&
.PP
.PP
.RE
.SH "بخش: مکاننما (SECTION: cursor)"
.PP
این بخش سبک و رنگ مکاننما را کنترل میکند.\& توجه داشته باشید که برنامهها میتوانند این موارد را در زمان اجرا تغییر دهند.\&
.PP
\fBstyle\fR
.RS 4
سبک پیشفرض مکاننما را پیکربندی میکند، و یکی از موارد زیر است: \fBblock\fR (بلوک)، \fBbeam\fR (خط عمودی)، \fBunderline\fR (خط زیرین) یا \fBhollow\fR (توخالی).\& توجه داشته باشید که برنامهها میتوانند این مقدار را بازنویسی کنند.\& پیشفرض: \fIblock\fR.\&
.PP
.RE
\fBunfocused\-style\fR
.RS 4
نحوه رندر مکاننما هنگام عدم فوکوس پنجره ترمینال را پیکربندی میکند.\& مقادیر ممکن عبارتند از:
.PP
.PD 0
.IP \(bu 4
unchanged: رندر مکاننما دقیقاً به همان روشی که پنجره دارای فوکوس است.\&
.IP \(bu 4
hollow: رندر مکاننمای بلوکی، اما به صورت توخالی.\&
.IP \(bu 4
none: اصلاً هیچ مکاننمایی نمایش داده نشود.\&
.PD
.PP
.RE
\fBblink\fR
.RS 4
بولی.\& چشمک زدن مکاننما را فعال میکند.\& توجه داشته باشید که برنامهها میتوانند این مقدار را بازنویسی کنند.\& گزینه مرتبط: \fBblink\-rate\fR.\& پیشفرض: \fIno\fR.\&
.PP
.RE
\fBblink\-rate\fR
.RS 4
سرعتی که مکاننما هنگام فعال بودن چشمکزن پلک میزند.\& بر حسب میلیثانیه بین هر چشمک بیان میشود.\& پیشفرض: \fI500\fR.\&
.PP
.RE
\fBbeam\-thickness\fR
.RS 4
ضخامت (عرض) مکاننمای سبک خط عمودی (beam).\& مقدار آن بر حسب پوینت است، و مقدار دقیق آن بنابراین به DPI نمایشگر بستگی دارد.\& برای تعیین ضخامت بر حسب پیکسل، از پسوند \fBpx\fR استفاده کنید: برای مثال \fBbeam\-thickness=2px\fR.\& پیشفرض: \fI1.\&5\fR
.PP
.RE
\fBunderline\-thickness\fR
.RS 4
ضخامت (ارتفاع) مکاننمای سبک خط زیرین (underline).\& مقدار آن بر حسب پوینت است، و مقدار دقیق آن بنابراین به DPI نمایشگر بستگی دارد.\&
.PP
برای مشخص کردن ضخامت بر حسب پیکسل، از پسوند \fBpx\fR استفاده کنید: برای مثال \fBunderline\-thickness=2px\fR.\&
.PP
توجه داشته باشید که در صورت عدم تنظیم، ضخامت مکاننما با اندازه قلم مقیاسبندی میشود، در حالی که در صورت تنظیم، اندازه ثابت خواهد بود.\&
.PP
پیشفرض: \fIfont underline thickness\fR.\&
.PP
.RE
.SH "بخش: موشواره (SECTION: mouse)"
.PP
\fBhide\-when\-typing\fR
.RS 4
بولی.\& در صورت فعال بودن، مکاننمای موشواره هنگام تایپ کردن پنهان میشود.\& پیشفرض: \fIno\fR.\&
.PP
.RE
\fBalternate\-scroll\-mode\fR
.RS 4
بولی.\& این گزینه مقدار اولیه را برای \fIحالت پیمایش جایگزین\fR (alternate scroll mode) کنترل میکند.\& هنگامی که این حالت فعال باشد، رویدادهای پیمایش موشواره هنگام نمایش صفحه جایگزین به رویدادهای کلیدهای \fIup\fR/\fIdown\fR تبدیل میشوند.\&
.PP
این به شما امکان میدهد با موشواره در مثلاً صفحهبندها (مانند \fIless\fR) بدون فعالسازی پشتیبانی بومی موشواره در آنها پیمایش کنید.\&
.PP
اگر برنامه پشتیبانی بومی موشواره را فعال کند، پیمایش جایگزین استفاده \fBنمیشود\fR.\&
.PP
این گزینه میتواند توسط برنامهها در زمان اجرا با استفاده از توالیهای گریز \fBCSI ?\& 1007 h\fR (فعال) و \fBCSI ?\& 1007 l\fR (غیرفعال) تغییر کند.\&
.PP
پیشفرض: \fIyes\fR.\&
.PP
.RE
.SH "بخش: لمس (SECTION: touch)"
.PP
\fBlong\-press\-delay\fR
.RS 4
تعداد میلیثانیهها برای تشخیص تفاوت بین یک فشار کوتاه و یک فشار طولانی روی صفحه لمسی.\&
.PP
پیشفرض: \fI400\fR.\&
.PP
.RE
.SH "بخش: رنگهای تیره و روشن (SECTION: colors\-dark, colors\-light)"
.PP
این دو بخش ۱۶ رنگ ANSI، رنگهای پیشفرض پیشزمینه و پسزمینه، و پالت گسترشیافته ۲۵۶ رنگ را کنترل میکنند.\& توجه داشته باشید که برنامهها میتوانند این موارد را در زمان اجرا تغییر دهند.\&
.PP
رنگها در قالب RRGGBB هستند (یعنی مقادیر هگز ۶ رقمی معمولی، بدون پیشوند).\& به این معنی که مؤلفه آلفا (شفافیت) \fBندارند\fR.\& میتوانید شفافیت پسزمینه را با گزینه \fIalpha\fR پیکربندی کنید.\&
.PP
بخش \fBcolors\-dark\fR برای تعریف یک پوسته رنگی تیره در نظر گرفته شده است، و \fBcolors\-light\fR برای تعریف یک پوسته رنگی روشن در نظر گرفته شده است.\& میتوانید با استفاده از کلیدهای میانبر \fBcolor\-theme\-switch\-dark\fR، \fBcolor\-theme\-switch\-light\fR و \fBcolor\-theme\-toggle\fR، یا با ارسال سیگنالهای SIGUSR1/SIGUSR2 به فرآیند foot بین آنها جابجا شوید.\&
.PP
پوسته پیشفرض مورداستفاده \fBcolors\-dark\fR است، مگر اینکه گزینه \fBinitial\-color\-theme=light\fR تنظیم شده باشد.\&
.PP
\fBcursor\fR
.RS 4
دو مقدار RRGGBB جداشده با فاصله (یعنی مقادیر هگز ۶ رقمی معمولی، بدون پیشوند) که رنگهای پیشزمینه (متن) و پسزمینه (مکاننما) را برای مکاننما مشخص میکنند.\&
.PP
مثال: \fBff0000 00ff00\fR (مکاننمای سبز، متن قرمز)
.PP
پیشفرض: رنگهای پیشزمینه و پسزمینه عادی، معکوسشده.\&
.PP
.RE
\fBforeground\fR
.RS 4
رنگ پیشزمینه پیشفرض.\& این رنگ زمانی استفاده میشود که از هیچ رنگ ANSI استفاده نشده باشد.\& پیشفرض: \fI839496\fR.\&
.PP
.RE
\fBbackground\fR
.RS 4
رنگ پسزمینه پیشفرض.\& این رنگ زمانی استفاده میشود که از هیچ رنگ ANSI استفاده نشده باشد.\& پیشفرض: \fI002b36\fR.\&
.PP
.RE
\fBregular0\fR, \fBregular1\fR \fB.\&.\&\fR \fBregular7\fR
.RS 4
هشت رنگ پایه ANSI (سیاه، قرمز، سبز، زرد، آبی، سرخابی، فیروزهای، سفید).\& پیشفرض: \fI242424\fR، \fIf62b5a\fR، \fI47b413\fR، \fIe3c401\fR، \fI24acd4\fR، \fIf2affd\fR، \fI13c299\fR، \fIe6e6e6\fR (پوسته starlight، نسخه ۴).\&
.PP
.RE
\fBbright0\fR, \fBbright1\fR \fB.\&.\&\fR \fBbright7\fR
.RS 4
هشت رنگ روشن ANSI (سیاه، قرمز، سبز، زرد، آبی، سرخابی، فیروزهای، سفید).\& پیشفرض: \fI616161\fR، \fIff4d51\fR، \fI35d450\fR، \fIe9e836\fR، \fI5dc5f8\fR، \fIfeabf2\fR، \fI24dfc4\fR، \fIffffff\fR (پوسته starlight، نسخه ۴).\&
.PP
.RE
\fBdim0\fR, \fBdim1\fR \fB.\&.\&\fR \fBdim7\fR
.RS 4
رنگهای سفارشی برای استفاده با رنگهای کمرنگشده (dimmed).\& رنگهای کمرنگ ورودی جداگانهای در پالت رنگ ندارند.\& برنامهها آنها را با ترکیب یک مقدار رنگ و یک ویژگی «dim» منتشر میکنند.\&
.PP
به طور پیشفرض، foot این ویژگی را با ترکیب رنگ جاری با سیاه یا سفید، بسته به اینکه گزینه \fBdim\-blend\-towards\fR روی چه مقداری تنظیم شده باشد، پیادهسازی میکند.\& این یک رویکرد کلی است که هم برای رنگهای پالت ۲۵۶ رنگی و هم برای رنگهای ۲۴ بیتی RGB اعمال میشود.\&
.PP
میتوانید با تنظیم گزینههای \fBdimN\fR این رفتار را تغییر دهید.\& در صورت تنظیم، foot رنگ جاری را با پالت رنگ مطابقت میدهد، و اگر با یکی از رنگهای \fBregularN\fR مطابقت داشته باشد، رنگ متناظر \fBdimN\fR استفاده خواهد شد.\&
.PP
اگر در عوض رنگ جاری با یکی از رنگهای \fBbrightN\fR مطابقت داشته باشد، رنگ متناظر \fBregularN\fR استفاده خواهد شد.\&
.PP
اگر رنگ جاری با هیچ رنگ شناختهشدهای مطابقت نداشته باشد، با ترکیب با سیاه کمرنگ میشود (یعنی همان رفتاری که در صورت عدم پیکربندی گزینههای \fBdimN\fR رخ میدهد).\& رنگهای ۲۴ بیتی RGB معمولاً در این دسته قرار میگیرند.\&
.PP
توجه داشته باشید که برنامهها میتوانند رنگهای \fBregularN\fR و \fBbrightN\fR را در زمان اجرا تغییر دهند.\& با این حال، راهی برای تغییر رنگهای \fBdimN\fR ندارند.\& اگر برنامهای رنگهای \fBregularN\fR را تغییر داده باشد، foot همچنان از رنگ \fBdimN\fR متناظر، همانطور که در foot.\&ini پیکربندی شده، استفاده خواهد کرد.\&
.PP
پیشفرض: \fInot set\fR.\&
.PP
.RE
\fB0\fR \fB.\&.\&\fR \fB255\fR
.RS 4
رنگهای دلخواه در پالت ۲۵۶ رنگ.\& پیشفرض: برای \fB0\fR \fB.\&.\&\fR \fB15\fR، مقادیر پیشفرض regular و bright در بالا را ببینید؛ برای توضیحات باقی موارد به https://en.\&wikipedia.\&org/wiki/ANSI_escape_code#8\-bit مراجعه کنید.\&
.PP
.RE
\fBsixel0\fR \fB.\&.\&\fR \fBsixel15\fR
.RS 4
پالت رنگی پیشفرض sixel.\& پیشفرض: \fI000000\fR، \fI3333cc\fR، \fIcc2121\fR، \fI33cc33\fR، \fIcc33cc\fR، \fI33cccc\fR، \fIcccc33\fR، \fI878787\fR، \fI424242\fR، \fI545499\fR، \fI994242\fR، \fI549954\fR، \fI995499\fR، \fI549999\fR، \fI999954\fR، \fIcccccc\fR.\&
.PP
.RE
\fBalpha\fR
.RS 4
شفافیت پسزمینه.\& مقداری در بازه 0.\&0\-1.\&0، که در آن 0.\&0 به معنی کاملاً شفاف و 1.\&0 کدر (کاملاً مات) است.\& پیشفرض: \fI1.\&0\fR.\&
.PP
.RE
\fBalpha\-mode\fR
.RS 4
مشخص میکند که \fBalpha\fR چه زمانی اعمال شود.\& یکی از مقادیر \fBdefault\fR، \fBmatching\fR یا \fBall\fR.\&
.PP
مقدار \fBdefault\fR شفافیت \fBalpha\fR را روی سلولهایی با رنگ پسزمینه پیشفرض اعمال میکند، به استثنای سلولهایی که دارای مقدار RGB یکسان با رنگ پسزمینه پیشفرض هستند.\&
.PP
مقدار \fBmatching\fR مانند \fBdefault\fR است، اما \fBalpha\fR را روی سلولهایی با مقدار RGB یکسان با رنگ پسزمینه پیشفرض نیز اعمال میکند.\&
.PP
مقدار \fBall\fR شفافیت \fBalpha\fR را بدون در نظر گرفتن رنگ پسزمینه، روی تمام سلولها اعمال مینماید.\&
.PP
پیشفرض: \fIdefault\fR
.PP
.RE
\fBblur\fR
.RS 4
بولی.\& در صورت فعال بودن، foot در زمان شفاف بودن پسزمینه، آن را مات (blur) میکند (تنها پنجره اصلی، نه CSDها و غیره).\& این ویژگی نیازمند آن است که کامپوزیتور پروتکل \fIext\-background\-effect\-v1\fR (و به طور مشخص، جلوه \fIblur\fR) را پیادهسازی کرده باشد.\&
.PP
پیشفرض: \fIno\fR
.PP
.RE
\fBdim\-blend\-towards\fR
.RS 4
رنگی که هنگام کمرنگسازی «خودکار» یک رنگ به سمت آن ترکیب انجام میشود (به \fBdim0\fR.\&.\&\fBdim7\fR در بالا مراجعه کنید).\& یکی از مقادیر \fBblack\fR (سیاه) یا \fBwhite\fR (سفید).\& ترکیب به سمت سیاه متن را تیرهتر میکند، در حالی که ترکیب به سمت سفید آن را سفیدتر میسازد (اما همچنان کمرنگتر از متن عادی).\&
.PP
پیشفرض: \fIblack\fR (\fBcolors\-dark\fR)، \fIwhite\fR (\fBcolors\-light\fR)
.PP
.RE
\fBselection\-foreground\fR, \fBselection\-background\fR
.RS 4
رنگ پیشزمینه (متن) و پسزمینه برای استفاده در متن انتخابشده.\& پیشفرض: \fIinverse foreground/background\fR (معکوس پیشزمینه/پسزمینه).\&
.PP
.RE
\fBjump\-labels\fR
.RS 4
دو مقدار رنگ که رنگهای پیشزمینه (متن) و پسزمینه را برای استفاده هنگام رندر برچسبهای پرش در حالت URL مشخص میکنند.\& پیشفرض:
\fIregular0 regular3\fR.\&
.PP
.RE
\fBscrollback\-indicator\fR
.RS 4
دو مقدار رنگ که رنگهای پیشزمینه (متن) و پسزمینه (خود نشانگر) را برای نشانگر تاریخچه پیمایش مشخص میکنند.\& پیشفرض:
\fIregular0 bright4\fR.\&
.PP
.RE
\fBsearch\-box\-no\-match\fR
.RS 4
دو مقدار رنگ که رنگهای پیشزمینه (متن) و پسزمینه را برای جعبه جستجوی تاریخچه پیمایش، در زمانی که هیچ تطابقی وجود ندارد، مشخص میکنند.\& پیشفرض: \fIregular0 regular1\fR.\&
.PP
.RE
\fBsearch\-box\-match\fR
.RS 4
دو مقدار رنگ که رنگهای پیشزمینه (متن) و پسزمینه را برای جعبه جستجوی تاریخچه پیمایش، در زمانی که جعبه جستجو خالی است یا تطابقهایی وجود دارد، مشخص میکنند.\& پیشفرض: \fIregular0 regular3\fR.\&
.PP
.RE
\fBurls\fR
.RS 4
رنگ مورداستفاده برای خط زیرین که جهت برجستهسازی URLها در حالت URL استفاده میشود.\& پیشفرض: \fIregular3\fR.\&
.PP
.RE
\fBflash\fR
.RS 4
رنگ مورداستفاده برای فلاش زدن پنجره ترمینال.\& پیشفرض: \fI7f7f00\fR.\&
.PP
.RE
\fBflash\-alpha\fR
.RS 4
شفافیت فلاش زدن.\& مقداری در بازه 0.\&0\-1.\&0، که در آن 0.\&0 به معنی کاملاً شفاف و 1.\&0 کدر است.\& پیشفرض: \fI0.\&5\fR.\&
.PP
.RE
.SH "بخش: تزئین سمت کلاینت (SECTION: csd)"
.PP
این بخش ظاهر \fICSD\fRها (تزئینات سمت کلاینت \- Client Side Decorations) را کنترل میکند.\& توجه داشته باشید که حالت پیشفرض \fBعدم\fR استفاده از CSD است، و در عوض زمانی که کامپوزیتور پشتیبانی کند از \fISSD\fRها (تزئینات سمت سرور \- Server Side Decorations) استفاده میشود.\&
.PP
توجه داشته باشید که برخلاف رنگهای تعریفشده در بخش \fIcolors\fR، مقادیر رنگ در اینجا در قالب AARRGGBB (یعنی مقادیر هگز ۸ رقمی معمولی) هستند.\& به این معنی که آنها حاوی مؤلفه آلفا هستند \- 00 یعنی کاملاً شفاف، و ff کاملاً مات.\&
.PP
مثالها:
.PP
.PD 0
.IP \(bu 4
ffffffff: سفید، کاملاً مات
.IP \(bu 4
ff000000: سیاه، کاملاً مات
.IP \(bu 4
7fffffff: سفید، نیمهشفاف
.IP \(bu 4
ff00ff00: سبز، کاملاً مات
.PD
.PP
\fBpreferred\fR
.RS 4
کدام نوع تزئین پنجره ترجیح داده شود: \fBclient\fR (سمت کلاینت)، \fBserver\fR (سمت سرور) یا \fBnone\fR (هیچکدام).\&
.PP
توجه داشته باشید که این مورد تنها یک پیشنهاد به کامپوزیتور است.\& بسته به پشتیبانی کامپوزیتور و نحوه پیکربندی آن، ممکن است به foot دستور دهد از CSD استفاده کند حتی اگر این گزینه روی \fBserver\fR تنظیم شده باشد، یا با وجود تنظیم \fBclient\fR یا \fBnone\fR، تزئینات SSD را رندر کند.\&
.PP
پیشفرض: \fIserver\fR.\&
.PP
.RE
\fBsize\fR
.RS 4
ارتفاع نوار عنوان بر حسب پیکسل (تابع مقیاسبندی خروجی).\& تنظیم آن روی 0 نوار عنوان را پنهان میکند، در حالی که همچنان حاشیه را نشان میدهد (اگر \fBborder\-width\fR روی یک مقدار غیر صفر تنظیم شده باشد).\& پیشفرض: \fI26\fR.\&
.PP
.RE
\fBcolor\fR
.RS 4
رنگ نوار عنوان.\& پیشفرض: استفاده از رنگ پیشفرض \fIforeground\fR.\&
.PP
.RE
\fBfont\fR
.RS 4
قلم مورداستفاده برای نوار عنوان.\& این گزینهای مشابه گزینه اصلی \fBfont\fR و به صورت فهرستی از قلمها است.\& توجه داشته باشید که اندازه قلم با استفاده از اندازه نوار عنوان تعیین میشود.\& یعنی تمام ویژگیهای \fB:size\fR و \fB:pixelsize\fR نادیده گرفته خواهند شد.\& پیشفرض: \fIprimary font\fR.\&
.PP
.RE
\fBhide\-when\-maximized\fR
.RS 4
بولی.\& در صورت فعال بودن، نوار عنوان CSD هنگام بیشینه شدن پنجره پنهان میشود.\& برای غیرفعال کردن کامل نوار عنوان، به جای آن \fBsize\fR را روی 0 تنظیم کنید.\& پیشفرض: \fIno\fR.\&
.PP
.RE
\fBdouble\-click\-to\-maximize\fR
.RS 4
بولی.\& در صورت فعال بودن، دوبار کلیک روی نوار عنوان CSD پنجره را بیشینه (یا از حالت بیشینه خارج) میکند.\& پیشفرض: \fIyes\fR.\&
.PP
.RE
\fBborder\-width\fR
.RS 4
عرض حاشیه بر حسب پیکسل (تابع مقیاسبندی خروجی).\& توجه داشته باشید که حاشیه کل پنجره، از جمله نوار عنوان را در بر میگیرد.\& پیشفرض: \fI0\fR.\&
.PP
.RE
\fBborder\-color\fR
.RS 4
رنگ حاشیه.\& به طور پیشفرض، از رنگ نوار عنوان استفاده میشود.\& اگر رنگ نوار عنوان تنظیم نشده باشد، از رنگ پیشزمینه پیشفرض (از طرح رنگ) استفاده میشود.\& پیشفرض: \fItitlebar color\fR.\&
.PP
.RE
\fBbutton\-width\fR
.RS 4
عرض دکمههای کمینهسازی/بیشینهسازی/بستن بر حسب پیکسل (تابع مقیاسبندی خروجی).\& پیشفرض: \fI26\fR.\&
.PP
.RE
\fBbutton\-color\fR
.RS 4
رنگ پیشزمینه روی دکمههای کمینهسازی/بیشینهسازی/بستن و متن نوار عنوان.\& پیشفرض: استفاده از رنگ پیشفرض \fIbackground\fR.\&
.PP
.RE
\fBbutton\-minimize\-color\fR
.RS 4
رنگ پسزمینه دکمه کمینهسازی.\& پیشفرض: استفاده از رنگ پیشفرض \fIregular4\fR (آبی).\&
.PP
.RE
\fBbutton\-maximize\-color\fR
.RS 4
رنگ پسزمینه دکمه بیشینهسازی.\& پیشفرض: استفاده از رنگ پیشفرض \fIregular2\fR (سبز).\&
.PP
.RE
\fBbutton\-close\-color\fR
.RS 4
رنگ پسزمینه دکمه بستن.\& پیشفرض: استفاده از رنگ پیشفرض \fIregular1\fR (قرمز).\&
.PP
.RE
.SH "بخش: کلیدهای میانبر (SECTION: key\-bindings)"
.PP
این بخش به شما امکان میدهد کلیدهای میانبر پیشفرض را بازنویسی کنید.\&
.PP
قالب کلی به صورت \fIaction=combo1.\&.\&.\&comboN\fR است.\& یعنی هر اقدام میتواند یک یا چند ترکیب کلید داشته باشد که با فاصله از هم جدا میشوند.\& هر ترکیب به صورت \fImod1+mod2+key\fR است.\& نامهای کلیدهای تبدیلگر (modifiers) و خود کلید \fBباید\fR نامهای معتبر کلید در XKB باشند.\&
.PP
توجه داشته باشید که اگر \fBShift\fR یکی از کلیدهای تبدیلگر باشد، نام \fIkey\fR \fBنباید\fR با حروف بزرگ نوشته شود.\& برای مثال، \fBControl+Shift+V\fR هرگز عمل نخواهد کرد، اما \fBControl+Shift+v\fR کار میکند.\&
.PP
تمام کلیدهای میانبر پیشفرض از تبدیلگرهای «واقعی» (\fBMod1\fR، \fBMod4\fR و غیره) استفاده میکنند، اما تبدیلگرهای «مجازی» (\fBAlt\fR، \fBSuper\fR و غیره) نیز مجاز هستند.\&
.PP
دستور \fBxkbcli interactive\-wayland\fR میتواند برای یافتن نامهای keysym مفید باشد.\&
.PP
هنگام تطبیق فشردن کلیدها با کلیدهای میانبر، foot از چند رویکرد مختلف استفاده میکند.\&
.PP
به عنوان مثال، فرض کنید کلیدهای ctrl+shift+c را فشار میدهید (با فرض چیدمان ساده us ASCII).\& کتابخانه XKB به foot خواهد گفت که کلید \fBControl+C\fR فشرده شده است.\& به عدم وجود کلید تبدیلگر shift و حرف بزرگ «C» توجه کنید.\& در ساختار داخلی، به این حالت قالب «ترجمهشده» (translated) میگویند.\&
.PP
قالب «ترجمهنشده» (\fBControl+Shift+c\fR) از قالب ترجمهشده مشتق میشود، و چیزی است که foot ابتدا سعی میکند با آن تطابق دهد.\&
.PP
اگر هیچ کلید میانبر «ترجمهنشدهای» یافت نشود، foot به سراغ بررسی گونه «ترجمهشده» میرود.\&
.PP
این بدان معناست که میتوانید از هر دو قالب در پیکربندی foot خود استفاده کنید، و اینکه \fBControl+Shift+c\fR (و موارد مشابه) اولویت بالاتری نسبت به \fBControl+C\fR دارد.\& همچنین توجه داشته باشید در حالی که foot معمولاً تخصیص یک ترکیب یکسان به چند اقدام را تشخیص میدهد، تداخل \fBControl+C\fR در مقابل \fBControl+Shift+c\fR را تشخیص نخواهد داد.\& میتوان آن را یک باگ شناختهشده نامید...\&
.PP
در نهایت، foot تلاش میکند تا کد خام کلید را مطابقت دهد.\& در اینجا، چیدمان اصلی برای تمام کدهای کلیدی که نماد خاصی از XKB را تولید میکنند پرسوجو میشود، و کد کلید فشردهشده با آن تطبیق داده میشود.\& برای مثال، اگر از چیدمانهای \fB"us,de(neo)"\fR استفاده میکنید، کلید «r» در چیدمان neo نماد «c» را تولید میکند.\& یعنی برای دریافت «c»، کلید «r» را فشار میدهید.\& منطق تطبیق توضیحدادهشده در بالا تنها با کلیدهای میانبر «c» تطابق مییابد (مثلاً \fBControl+Shift+c\fR).\& با این حال، حالت خام با کلیدهای میانبر «r» تطابق خواهد یافت (مثلاً \fBControl+Shift+r\fR).\& این برای چیدمانهای غیرلاتین مفید است، جایی که در غیر این صورت مجبور بودید تمام کلیدهای میانبر را سفارشیسازی کنید.\&
.PP
یک ترکیب کلید تنها میتواند به \fBیک\fR اقدام نگاشت شود.\& فرض کنید میخواهید \fBControl+Shift+R\fR را به \fBfullscreen\fR اختصاص دهید.\& از آنجا که این میانبر پیشفرض برای \fBsearch\-start\fR است، ابتدا باید نگاشت پیشفرض را لغو کنید.\& این کار را میتوان با تنظیم \fIaction=none\fR انجام داد؛ برای نمونه \fBsearch\-start=none\fR.\&
.PP
\fBnoop\fR
.RS 4
تمام ترکیبهای کلیدی که در اینجا فهرست شدهاند به برنامه ارسال نخواهند شد.\& پیشفرض: \fInone\fR.\&
.PP
.RE
\fBscrollback\-up\-page\fR
.RS 4
یک صفحه در تاریخچه به بالا/عقب پیمایش میکند.\& پیشفرض: \fIShift+Page_Up Shift+KP_Page_Up\fR.\&
.PP
.RE
\fBscrollback\-up\-half\-page\fR
.RS 4
نیم صفحه در تاریخچه به بالا/عقب پیمایش میکند.\& پیشفرض: \fInone\fR.\&
.PP
.RE
\fBscrollback\-up\-line\fR
.RS 4
یک سطر در تاریخچه به بالا/عقب پیمایش میکند.\& پیشفرض: \fInone\fR.\&
.PP
.RE
\fBscrollback\-down\-page\fR
.RS 4
یک صفحه در تاریخچه به پایین/جلو پیمایش میکند.\& پیشفرض:
\fIShift+Page_Down Shift+KP_Page_Down\fR.\&
.PP
.RE
\fBscrollback\-down\-half\-page\fR
.RS 4
نیم صفحه در تاریخچه به پایین/جلو پیمایش میکند.\& پیشفرض: \fInone\fR.\&
.PP
.RE
\fBscrollback\-down\-line\fR
.RS 4
یک سطر در تاریخچه به پایین/جلو پیمایش میکند.\& پیشفرض: \fInone\fR.\&
.PP
.RE
\fBscrollback\-home\fR
.RS 4
به ابتدای تاریخچه پیمایش میرود.\& پیشفرض: \fInone\fR.\&
.PP
.RE
\fBscrollback\-end\fR
.RS 4
به انتها (پایین) تاریخچه پیمایش میرود.\& پیشفرض: \fInone\fR.\&
.PP
.RE
\fBclipboard\-copy\fR
.RS 4
متن انتخابشده جاری را در \fIبریدهدان\fR رونوشت میکند.\& پیشفرض: \fIControl+Shift+c\fR \fIXF86Copy\fR.\&
.PP
.RE
\fBclipboard\-paste\fR
.RS 4
از \fIبریدهدان\fR جایگذاری میکند.\& پیشفرض: \fIControl+Shift+v\fR \fIXF86Paste\fR.\&
.PP
.RE
\fBprimary\-paste\fR
.RS 4
از \fIانتخاب اولیه\fR (primary selection) جایگذاری میکند.\& پیشفرض: \fIShift+Insert\fR (همچنین در \fBmouse\-bindings\fR تعریف شده است).\&
.PP
.RE
\fBsearch\-start\fR
.RS 4
جستجو در تاریخچه پیمایش را آغاز میکند.\& پیشفرض: \fIControl+Shift+r\fR.\&
.PP
.RE
\fBfont\-increase\fR
.RS 4
اندازه قلم را ۰٫۵ پوینت افزایش میدهد.\& پیشفرض: \fIControl+plus Control+equal Control+KP_Add\fR (همچنین در \fBmouse\-bindings\fR تعریف شده است).\&
.PP
.RE
\fBfont\-decrease\fR
.RS 4
اندازه قلم را ۰٫۵ پوینت کاهش میدهد.\& پیشفرض: \fIControl+minus Control+KP_Subtract\fR (همچنین در \fBmouse\-bindings\fR تعریف شده است).\&
.PP
.RE
\fBfont\-reset\fR
.RS 4
اندازه قلم را به مقدار پیشفرض بازنشانی میکند.\& پیشفرض: \fIControl+0 Control+KP_0\fR.\&
.PP
.RE
\fBspawn\-terminal\fR
.RS 4
یک ترمینال جدید ایجاد میکند.\& اگر پوسته برای ارسال توالی گریز OSC 7 پیکربندی شده باشد، ترمینال جدید در دایرکتوری کاری جاری آغاز به کار خواهد کرد.\& پیشفرض: \fIControl+Shift+n\fR.\&
.PP
.RE
\fBminimize\fR
.RS 4
پنجره را کمینه میکند.\& پیشفرض: \fInone\fR.\&
.PP
.RE
\fBmaximize\fR
.RS 4
وضعیت بیشینهسازی پنجره را تغییر میدهد.\& پیشفرض: \fInone\fR.\&
.PP
.RE
\fBfullscreen\fR
.RS 4
وضعیت تمامصفحه را تغییر میدهد.\& پیشفرض: \fInone\fR.\&
.PP
.RE
\fBpipe\-visible\fR, \fBpipe\-scrollback\fR, \fBpipe\-selected\fR, \fBpipe\-command\-output\fR
.RS 4
متن قابل مشاهده جاری، کل تاریخچه پیمایش، متن انتخابشده جاری، یا خروجی آخرین دستور را به یک ابزار بیرونی پایپ (pipe) میکند.\& نحو این گزینه کمی ویژه است؛ بخش اول مقدار، دستوری است که باید اجرا شود و درون "[]" محصور شده است، و پس از آن کلید(های) میانبر میآیند.\&
.PP
تا زمانی که رشتههای دستور متفاوت باشند و کلیدهای میانبر منحصربهفرد باشند، میتوانید چندین پایپ پیکربندی کنید.\&
.PP
توجه داشته باشید که دستور به طور خودکار درون یک پوسته اجرا \fBنمیشود\fR؛ در صورت نیاز به آن، از \fBsh \-c "command line"\fR استفاده کنید.\&
.PP
مثال شماره ۱:
.RS 4
# استخراج URLهای قابل مشاهده فعلی، انتخاب یکی توسط کاربر (از طریق fuzzel)، سپس راهاندازی firefox با URL انتخابشده
.br
\fBpipe\-visible=[sh \-c "xurls | uniq | tac | fuzzel | xargs \-r firefox"] Control+Print\fR
.PP
.RE
مثال شماره ۲:
.RS 4
# باز کردن محتوای تاریخچه پیمایش در Emacs در حال اجرا در یک نمونه جدید foot
.br
\fBpipe\-scrollback=[sh \-c "f=$(mktemp) && cat \- > $f && foot emacsclient \-t $f; rm $f"] Control+Shift+Print\fR
.PP
.RE
پیشفرض: \fInone\fR
.PP
.RE
\fBshow\-urls\-launch\fR
.RS 4
ورود به حالت URL، که در آن تمام URLهای قابل مشاهده جاری با یک برچسب پرش شامل یک توالی کلید که URL را باز میکند (و از حالت URL خارج میشود) نشانهگذاری میشوند.\& پیشفرض: \fIControl+Shift+o\fR.\&
.PP
.RE
\fBshow\-urls\-persistent\fR
.RS 4
مشابه \fBshow\-urls\-launch\fR، اما پس از فعالسازی یک URL به طور خودکار از حالت URL خارج نمیشود.\& پیشفرض: \fInone\fR.\&
.PP
.RE
\fBshow\-urls\-copy\fR
.RS 4
ورود به حالت URL، که در آن تمام URLهای قابل مشاهده جاری با یک برچسب پرش شامل یک توالی کلید که URL را در بریدهدان قرار میدهد نشانهگذاری میشوند.\& اگر راهنما با یک نویسه بزرگ تکمیل شود، تطابق نیز جایگذاری خواهد شد.\& پیشفرض: \fInone\fR.\&
.PP
.RE
\fBregex\-launch\fR
.RS 4
ورود به حالت عبارت منظم (regex).\& این دقیقاً مشابه حالت URL عمل میکند؛ تمام تطابقهای regex با یک برچسب پرش حاوی یک توالی کلید که تطابق را «اجرا» میکند (و از حالت regex خارج میشود) نشانهگذاری میشوند.\&
.PP
نام بخش regex باید در کلید میانبر مشخص شود:
.PP
.nf
.RS 4
[regex:hashes]
regex=([a\-fA\-F0\-9]{7,128})
launch=path\-to\-script\-or\-application ${match}
[key\-bindings]
regex\-launch=[hashes] Control+Shift+q
regex\-copy=[hashes] Control+Mod1+Shift+q
.fi
.RE
.PP
پیشفرض: \fInone\fR.\&
.PP
.RE
\fBregex\-copy\fR
.RS 4
مشابه \fBregex\-launch\fR، اما تطابق پس از فعالسازی به جای «اجرا شدن»، در بریدهدان قرار میگیرد.\& اگر راهنما با یک نویسه بزرگ تکمیل شود، تطابق نیز جایگذاری خواهد شد.\& پیشفرض: \fInone\fR.\&
.PP
.RE
\fBprompt\-prev\fR
.RS 4
پرش به اعلان (prompt) قبلی که در حال حاضر قابل مشاهده نیست (نیازمند یکپارچهسازی پوسته است، به \fBfoot\fR(1) مراجعه کنید).\& پیشفرض: \fIControl+Shift+z\fR.\&
.PP
.RE
\fBprompt\-next\fR
.RS 4
پرش به اعلان بعدی (نیازمند یکپارچهسازی پوسته است، به \fBfoot\fR(1) مراجعه کنید).\& پیشفرض: \fIControl+Shift+x\fR.\&
.PP
.RE
\fBunicode\-input\fR
.RS 4
درج یک نویسه یونیکد با تایپ کدپوینت آن به صورت هگزادسیمال، و به دنبال آن \fBEnter\fR یا \fBSpace\fR.\&
.PP
برای نمونه، جهت درج نویسه \fIö\fR (حرف کوچک O لاتین با دونقطه، کدپوینت یونیکد 0xf6)، ابتدا این کلید میانبر را فعال میکنید، سپس تایپ مینمایید: \fBf\fR، \fB6\fR، \fBEnter\fR.\&
.PP
نمونهای دیگر: جهت درج 😍 (صورت خندان با چشمهای قلبی، کدپوینت یونیکد 0x1f60d)، این کلید میانبر را فعال کرده، سپس تایپ کنید: \fB1\fR، \fBf\fR، \fB6\fR، \fB0\fR، \fBd\fR، \fBEnter\fR.\&
.PP
کلیدهای میانبر شناختهشده در حالت ورودی یونیکد:
.PP
.PD 0
.IP \(bu 4
کلیدهای Enter، Space: ثبت نویسه یونیکد، سپس خروج از این حالت.\&
.IP \(bu 4
کلیدهای Escape، q، Ctrl+c، Ctrl+d، Ctrl+g: لغو ورودی، سپس خروج از این حالت.\&
.IP \(bu 4
نویسههای 0\-9، a\-f: افزودن رقم بعدی به کدپوینت یونیکد.\&
.IP \(bu 4
کلید Backspace: واگردانی (undo) آخرین رقم.\&
.PD
.PP
توجه داشته باشید که در این حالت هیچ بازخورد بصری وجود ندارد.\& این طراحی هدفمند است؛ حالت ورودی یونیکد foot به عنوان یک راهکار جایگزین (fallback) در نظر گرفته میشود.\& روش ارجح برای وارد کردن نویسههای یونیکد، ایموجیها و غیره استفاده از یک IME است.\&
.PP
پیشفرض: \fIControl+Shift+u\fR.\&
.PP
.RE
\fBcolor\-theme\-switch\-dark\fR, \fBcolor\-theme\-switch\-light\fR, \fBcolor\-theme\-toggle\fR
.RS 4
جابجایی بین پوسته رنگی تیره (تعریفشده در بخش \fBcolors\-dark\fR) و پوسته رنگی روشن (تعریفشده در بخش \fBcolors\-light\fR).\&
.PP
گزینه \fBcolor\-theme\-switch\-dark\fR پوسته رنگی تیره را صرفنظر از اینکه در حال حاضر کدام پوسته فعال است اعمال میکند.\&
.PP
گزینه \fBcolor\-theme\-switch\-light\fR پوسته رنگی روشن را صرفنظر از اینکه در حال حاضر کدام پوسته فعال است اعمال میکند.\&
.PP
گزینه \fBcolor\-theme\-toggle\fR بین پوستههای رنگی اصلی و جایگزین تغییر حالت میدهد.\&
.PP
نکته: شما همچنین میتوانید سیگنالهای SIGUSR1/SIGUSR2 را برای تغییر پوسته به فرآیند foot ارسال کنید (برای جزئیات به \fBfoot\fR(1) مراجعه کنید).\&
.PP
پیشفرض: \fInone\fR
.PP
.RE
\fBquit\fR
.RS 4
خروج از foot.\& پیشفرض: \fInone\fR.\&
.PP
.RE
.SH "بخش: کلیدهای جستجو (SECTION: search\-bindings)"
.PP
این بخش به شما امکان میدهد کلیدهای میانبر پیشفرض مورداستفاده در حالت جستجوی تاریخچه پیمایش را بازنویسی کنید.\& نحو آن دقیقاً همانند \fB\fRkey\-bindings\fB\fR معمولی است.\&
.PP
\fBcancel\fR
.RS 4
جستجو را لغو میکند.\& نمای دیدگاه بازگردانده میشود و \fIانتخاب اولیه\fR (primary selection) بهروزرسانی \fB\fRنمیشود\fB\fR.\& پیشفرض: \fIControl+g Control+c Escape\fR.\&
.PP
.RE
\fBcommit\fR
.RS 4
از حالت جستجو خارج شده و انتخاب جاری را در \fIانتخاب اولیه\fR رونوشت میکند.\& نمای دیدگاه بازگردانده \fB\fRنمیشود\fB\fR.\& برای رونوشت متن انتخابشده در \fIبریدهدان\fR عادی، از \fBControl+Shift+c\fR استفاده کنید.\& پیشفرض: \fIReturn KP_Enter\fR.\&
.PP
.RE
\fBfind\-prev\fR
.RS 4
در تاریخچه پیمایش به سمت \fB\fRعقب\fB\fR برای تطابق بعدی جستجو میکند.\& پیشفرض: \fIControl+r\fR.\&
.PP
.RE
\fBfind\-next\fR
.RS 4
در تاریخچه پیمایش به سمت \fB\fRجلو\fB\fR برای تطابق بعدی جستجو میکند.\& پیشفرض: \fIControl+s\fR.\&
.PP
.RE
\fBcursor\-left\fR
.RS 4
مکاننما را در جعبه جستجو یک \fB\fRنویسه\fB\fR به چپ میبرد.\& پیشفرض: \fILeft Control+b\fR.\&
.PP
.RE
\fBcursor\-left\-word\fR
.RS 4
مکاننما را در جعبه جستجو یک \fB\fRکلمه\fB\fR به چپ میبرد.\& پیشفرض: \fIControl+Left Mod1+b\fR.\&
.PP
.RE
\fBcursor\-right\fR
.RS 4
مکاننما را در جعبه جستجو یک \fB\fRنویسه\fB\fR به راست میبرد.\& پیشفرض: \fIRight Control+f\fR.\&
.PP
.RE
\fBcursor\-right\-word\fR
.RS 4
مکاننما را در جعبه جستجو یک \fB\fRکلمه\fB\fR به راست میبرد.\& پیشفرض: \fIControl+Right Mod1+f\fR.\&
.PP
.RE
\fBcursor\-home\fR
.RS 4
مکاننما را در جعبه جستجو به ابتدای ورودی میبرد.\& پیشفرض: \fIHome Control+a\fR.\&
.PP
.RE
\fBcursor\-end\fR
.RS 4
مکاننما را در جعبه جستجو به انتهای ورودی میبرد.\& پیشفرض: \fIEnd Control+e\fR.\&
.PP
.RE
\fBdelete\-prev\fR
.RS 4
\fB\fRنویسه پیش از\fB\fR مکاننما را حذف میکند.\& پیشفرض: \fIBackSpace\fR.\&
.PP
.RE
\fBdelete\-prev\-word\fR
.RS 4
\fB\fRکلمه پیش از\fB\fR مکاننما را حذف میکند.\& پیشفرض: \fIMod1+BackSpace Control+BackSpace\fR.\&
.PP
.RE
\fBdelete\-next\fR
.RS 4
\fB\fRنویسه پس از\fB\fR مکاننما را حذف میکند.\& پیشفرض: \fIDelete\fR.\&
.PP
.RE
\fBdelete\-next\-word\fR
.RS 4
\fB\fRکلمه پس از\fB\fR مکاننما را حذف میکند.\& پیشفرض: \fIMod1+d Control+Delete\fR.\&
.PP
.RE
\fBdelete\-to\-start\fR
.RS 4
ورودی جستجوی پیش از مکاننما را حذف میکند.\& پیشفرض: \fICtrl+u\fR.\&
.PP
.RE
\fBdelete\-to\-end\fR
.RS 4
ورودی جستجوی پس از مکاننما را حذف میکند.\& پیشفرض: \fICtrl+k\fR.\&
.PP
.RE
\fBextend\-char\fR
.RS 4
انتخاب جاری را به اندازه یک نویسه به راست گسترش میدهد.\& پیشفرض:
\fIShift+Right\fR.\&
.PP
.RE
\fBextend\-to\-word\-boundary\fR
.RS 4
انتخاب جاری را به سمت راست تا مرز کلمه بعدی گسترش میدهد.\& پیشفرض: \fIControl+w Control+Shift+Right\fR.\&
.PP
.RE
\fBextend\-to\-next\-whitespace\fR
.RS 4
انتخاب جاری را به سمت راست تا فضای خالی بعدی گسترش میدهد.\& پیشفرض: \fIControl+Shift+w\fR.\&
.PP
.RE
\fBextend\-line\-down\fR
.RS 4
انتخاب جاری را یک سطر به پایین گسترش میدهد.\& پیشفرض: \fIShift+Down\fR.\&
.PP
.RE
\fBextend\-backward\-char\fR
.RS 4
انتخاب جاری را به اندازه یک نویسه به چپ گسترش میدهد.\& پیشفرض:
\fIShift+Left\fR.\&
.PP
.RE
\fBextend\-backward\-to\-word\-boundary\fR
.RS 4
انتخاب جاری را به سمت چپ تا مرز کلمه قبلی گسترش میدهد.\& پیشفرض: \fIControl+Shift+Left\fR.\&
.PP
.RE
\fBextend\-backward\-to\-next\-whitespace\fR
.RS 4
انتخاب جاری را به سمت چپ تا فضای خالی قبلی گسترش میدهد.\& پیشفرض: \fInone\fR.\&
.PP
.RE
\fBextend\-line\-up\fR
.RS 4
انتخاب جاری را یک سطر به بالا گسترش میدهد.\& پیشفرض: \fIShift+Up\fR.\&
.PP
.RE
\fBclipboard\-paste\fR
.RS 4
از \fIبریدهدان\fR در بافر جستجو جایگذاری میکند.\& پیشفرض:
\fIControl+v Control+y Control+Shift+v XF86Paste\fR.\&
.PP
.RE
\fBprimary\-paste\fR
.RS 4
از \fIانتخاب اولیه\fR در بافر جستجو جایگذاری میکند.\& پیشفرض: \fIShift+Insert\fR.\&
.PP
.RE
\fBunicode\-input\fR
.RS 4
حالت ورودی یونیکد.\& برای جزئیات به \fIkey\-bindings.\&unicode\-input\fR مراجعه کنید.\& پیشفرض: \fInone\fR.\&
.PP
.RE
\fBscrollback\-up\-page\fR
.RS 4
یک صفحه در تاریخچه به بالا/عقب پیمایش میکند.\& پیشفرض: \fIShift+Page_Up Shift+KP_Page_Up\fR.\&
.PP
.RE
\fBscrollback\-up\-half\-page\fR
.RS 4
نیم صفحه در تاریخچه به بالا/عقب پیمایش میکند.\& پیشفرض: \fInone\fR.\&
.PP
.RE
\fBscrollback\-up\-line\fR
.RS 4
یک سطر در تاریخچه به بالا/عقب پیمایش میکند.\& پیشفرض: \fInone\fR.\&
.PP
.RE
\fBscrollback\-down\-page\fR
.RS 4
یک صفحه در تاریخچه به پایین/جلو پیمایش میکند.\& پیشفرض:
\fIShift+Page_Down Shift+KP_Page_Down\fR.\&
.PP
.RE
\fBscrollback\-down\-half\-page\fR
.RS 4
نیم صفحه در تاریخچه به پایین/جلو پیمایش میکند.\& پیشفرض: \fInone\fR.\&
.PP
.RE
\fBscrollback\-down\-line\fR
.RS 4
یک سطر در تاریخچه به پایین/جلو پیمایش میکند.\& پیشفرض: \fInone\fR.\&
.PP
.RE
\fBscrollback\-home\fR
.RS 4
به ابتدای تاریخچه پیمایش میرود.\& پیشفرض: \fInone\fR.\&
.PP
.RE
\fBscrollback\-end\fR
.RS 4
به انتها (پایین) تاریخچه پیمایش میرود.\& پیشفرض: \fInone\fR.\&
.PP
.RE
.SH "بخش: کلیدهای پیوند (SECTION: url\-bindings)"
.PP
این بخش به شما امکان میدهد کلیدهای میانبر پیشفرض مورداستفاده در حالت URL را بازنویسی کنید.\& نحو آن دقیقاً همانند \fB\fRkey\-bindings\fB\fR معمولی است.\&
.PP
مراقب باشید؛ از کلیدهای تکحرفی که در \fB[url].\&label\-letters\fR نیز استفاده شدهاند استفاده نکنید، زیرا انجام این کار برخی از URLها را غیرقابل دسترس میکند.\&
.PP
\fBcancel\fR
.RS 4
بدون باز کردن URL از حالت URL خارج میشود.\& پیشفرض: \fIControl+g Control+c Control+d Escape\fR.\&
.PP
.RE
\fBtoggle\-url\-visible\fR
.RS 4
به طور پیشفرض، برچسب پرش تنها توالی کلید لازم برای فعالسازی آن را نشان میدهد.\& این تا زمانی که URL در متن اصلی قابل مشاهده باشد مشکلی ندارد.\&
.PP
اما با مثلاً URLهای OSC\-8 (نسخه ترمینالی لنگرهای HTML، یعنی «پیوندها»)، متن روی صفحه میتواند چیزی کاملاً متفاوت از خود URL باشد.\&
.PP
این اقدام بین نمایش و پنهان کردن URL روی برچسب پرش تغییر حالت میدهد.\&
.PP
پیشفرض: \fIt\fR.\&
.PP
.RE
.SH "بخش: کلیدهای متنی (SECTION: text\-bindings)"
.PP
این بخش به شما امکان میدهد ترکیبهای کلید را به توالیهای گریز سفارشی بازنگاشت کنید.\&
.PP
قالب آن به صورت \fItext=combo1.\&.\&.\&comboN\fR است.\& یعنی رشتهای که قرار است منتشر شود میتواند یک یا چند ترکیب کلید جداشده با فاصله داشته باشد.\& هر ترکیب به صورت \fImod1+mod2+key\fR است.\& نامهای کلیدهای تبدیلگر و خود کلید \fBباید\fR نامهای معتبر کلید در XKB باشند.\&
.PP
رشته متنی نویسهها یا بایتهایی را مشخص میکند که هنگام فشرده شدن ترکیب(های) کلید مربوطه منتشر میشوند.\& دو روش برای مشخص کردن یک نویسه وجود دارد:
.PP
.PD 0
.IP \(bu 4
نویسههای عادی و قابل چاپ همانطور که هستند نوشته میشوند: \fBabcdef\fR.\&
.IP \(bu 4
بایتها (مثلاً ESC) به صورت اعداد هگزادسیمال دو رقمی، با پیشوند \fB\ex\fR نوشته میشوند: \fB\ex1b\fR.\&
.PD
.PP
مثال: میخواهید \fISuper+k\fR را به کلید \fIUp\fR بازنگاشت کنید.\&
.PP
توالی گریز برای کلید Up برابر \fIESC [ A\fR (بدون فاصلهها) است.\& بنابراین، باید این را در foot.\&ini مشخص کنیم (\fBMod4\fR نام XKB برای کلید Super/لوگو است):
.PP
\fB\ex1b[A = Mod4+k\fR
.PP
نمونهای دیگر: برای بازنگاشت \fISuper+c\fR به \fIControl+c\fR:
.PP
\fB\ex03 = Mod4+c\fR
.PP
.SH "بخش: کلیدهای موشواره (SECTION: mouse\-bindings)"
.PP
این بخش به شما امکان میدهد کلیدهای میانبر پیشفرض موشواره را بازنویسی کنید.\&
.PP
قالب کلی به صورت \fIaction=combo1.\&.\&.\&comboN\fR است.\& یعنی هر اقدام میتواند یک یا چند ترکیب کلید جداشده با فاصله داشته باشد.\& هر ترکیب به صورت \fImod1+mod2+BTN_[\-COUNT]\fR است.\& نامهای کلیدهای تبدیلگر \fBباید\fR نامهای معتبر کلید در XKB باشند، و نام دکمه \fBباید\fR یک نام معتبر در libinput باشد.\& میتوانید نام دکمهها را با استفاده از \fBlibinput debug\-events\fR پیدا کنید.\&
.PP
مقدار انتهایی \fBCOUNT\fR (تعداد دفعاتی که دکمه باید کلیک شود) اختیاری است و تعداد کلیکهای لازم برای فعال شدن میانبر را مشخص میکند.\& در صورت حذف \fBCOUNT\fR، مقدار پیشفرض \fI1\fR است.\&
.PP
برای نگاشت رویدادهای چرخک موشواره (یعنی پیمایش)، از نامهای دکمه \fBBTN_WHEEL_BACK\fR (بالا) و \fBBTN_WHEEL_FORWARD\fR (پایین) استفاده کنید.\& توجه داشته باشید که این رویدادها هرگز مقداری بزرگتر از ۱ برای \fBCOUNT\fR ایجاد نمیکنند.\& به این معنی که مثلاً \fBBTN_WHEEL_BACK+2\fR هرگز فعال نخواهد شد.\&
.PP
همچنین foot چرخکهای دارای قابلیت کج شدن (tiltable) را تشخیص میدهد؛ برای نگاشت آنها، از \fBBTN_WHEEL_LEFT\fR و \fBBTN_WHEEL_RIGHT\fR استفاده کنید.\&
.PP
یک ترکیب تبدیلگر+دکمه تنها میتواند به \fBیک\fR اقدام نگاشت شود.\& فرض کنید میخواهید \fBBTN_MIDDLE\fR را به \fBfullscreen\fR اختصاص دهید.\& از آنجا که \fBBTN_MIDDLE\fR کلید میانبر پیشفرض برای \fBprimary\-paste\fR است، ابتدا باید نگاشت پیشفرض را لغو کنید.\& این کار را میتوان با تنظیم \fIaction=none\fR انجام داد؛ برای نمونه \fBprimary\-paste=none\fR.\&
.PP
\fBselection\-override\-modifiers\fR
.RS 4
تبدیلگرهای تنظیمشده در این مجموعه (که میتوانند روی هر ترکیبی از تبدیلگرها، مثلاً \fImod1+mod2+mod3\fR، و همچنین \fInone\fR تنظیم شوند) برای فعال کردن انتخاب متن با موشواره بدون در نظر گرفتن اینکه آیا برنامه کلاینت در حال حاضر موشواره را در اختیار گرفته است یا خیر، استفاده میشوند.\&
هر ترکیبی از این تبدیلگرها نمیتواند در کلیدهای میانبر موشواره استفاده شود.\&
به دلیل اینکه ترتیب میانبرها اهمیت دارد، بهتر است این گزینه پیش از هر میانبر موشواره دیگری که ممکن است از تبدیلگرهای مجموعه پیشفرض استفاده کند، تنظیم شود.\&
پیشفرض: \fIShift\fR
.PP
.RE
اقداماتی که میتوان ترکیبهای موشواره را به آنها متصل کرد در زیر فهرست شدهاند.\& تمام اقدامات فهرستشده ذیل \fBkey\-bindings\fR در اینجا نیز قابل استفاده هستند.\&
.PP
\fBscrollback\-up\-mouse\fR
.RS 4
صفحه عادی: محتوا را به بالا پیمایش میکند.\&
.PP
صفحه جایگزین (Alt screen): در صورت فعال بودن حالت پیمایش جایگزین، رویدادهای ساختگی \fIKeyUP\fR را به برنامه کلاینت ارسال میکند.\&
.PP
پیشفرض: \fIBTN_WHEEL_BACK\fR
.PP
.RE
\fBscrollback\-down\-mouse\fR
.RS 4
صفحه عادی: محتوا را به پایین پیمایش میکند.\&
.PP
صفحه جایگزین: در صورت فعال بودن حالت پیمایش جایگزین، رویدادهای ساختگی \fIKeyDOWN\fR را به برنامه کلاینت ارسال میکند.\&
.PP
پیشفرض: \fIBTN_WHEEL_FORWARD\fR
.PP
.RE
\fBselect\-begin\fR
.RS 4
شروع یک انتخاب تعاملی.\& انتخاب با رها کردن دکمه نهایی شده و در \fIانتخاب اولیه\fR رونوشت میشود.\& پیشفرض: \fIBTN_LEFT\fR.\&
.PP
.RE
\fBselect\-begin\-block\fR
.RS 4
شروع یک انتخاب بلوکی تعاملی.\& انتخاب با رها کردن دکمه نهایی شده و در \fIانتخاب اولیه\fR رونوشت میشود.\& پیشفرض: \fIControl+BTN_LEFT\fR.\&
.PP
.RE
\fBselect\-word\fR
.RS 4
شروع یک انتخاب تعاملی کلمهبهکلمه، که در آن کلمات با فاصله خالی و تمام نویسههای تعریفشده توسط گزینه \fBword\-delimiters\fR از یکدیگر جدا میشوند.\& انتخاب با رها کردن دکمه نهایی شده و در \fIانتخاب اولیه\fR رونوشت میشود.\& پیشفرض:
\fIBTN_LEFT\-2\fR.\&
.PP
.RE
\fBselect\-word\-whitespace\fR
.RS 4
مشابه \fBselect\-word\fR، اما نویسههای موجود در گزینه \fBword\-delimiters\fR نادیده گرفته میشوند.\& یعنی تنها نویسههای فضای خالی به عنوان جداکننده عمل میکنند.\& انتخاب با رها کردن دکمه نهایی شده و در \fIانتخاب اولیه\fR رونوشت میشود.\& پیشفرض:
\fIControl+BTN_LEFT\-2\fR.\&
.PP
.RE
\fBselect\-quote\fR
.RS 4
شروع یک انتخاب تعاملی درون نقلقول.\& این مشابه \fBselect\-word\fR است، با این تفاوت که کل نقلقول انتخاب میشود (یعنی همه چیز درون نقلقول، به جز خود نویسههای نقلقول).\& نویسههای نقلقول شناختهشده عبارتند از: \fB"\fR و \fB'\&\fR.\&
.PP
اگر یک نقلقول کامل در سطر منطقی جاری یافت نشود (تنها یک نویسه نقلقول، یا هیچکدام یافت نشود)، کل سطر انتخاب میشود.\&
.PP
انتخاب با رها کردن دکمه نهایی شده و در \fIانتخاب اولیه\fR رونوشت میشود.\&
.PP
پس از انجام انتخاب اولیه، بسته به اینکه نقلقولی یافت شده باشد یا خیر، مانند یک انتخاب کلمه عادی یا انتخاب سطر رفتار میکند.\& این امر بر آنچه هنگام گسترش انتخاب رخ میدهد تأثیر میگذارد.\&
.PP
نکات:
.PD 0
.IP \(bu 4
نویسههای نقلقول اسکیپشده پشتیبانی نمیشوند (\fB"foo \e"bar"\fR با \fB'\&foo \e'\&\fR تطابق مییابد، نه با \fB'\&foo "bar'\&\fR).\&
.IP \(bu 4
نرمافزار foot تلاش نمیکند نویسههای نقلقول نامتقارن را مدیریت کند؛ آنها به سادگی تطابق پیدا نخواهند کرد.\&
.IP \(bu 4
نقلقولهای تو در تو (با استفاده از نویسههای نقلقول مختلف) پشتیبانی میشوند.\&
.PD
.PP
پیشفرض: \fIBTN_LEFT\-3\fR.\&
.PP
.RE
\fBselect\-row\fR
.RS 4
شروع یک انتخاب تعاملی سطربهسطر.\& انتخاب با رها کردن دکمه نهایی شده و در \fIانتخاب اولیه\fR رونوشت میشود.\& پیشفرض: \fIBTN_LEFT\-4\fR.\&
.PP
.RE
\fBselect\-extend\fR
.RS 4
گسترش تعاملی یک انتخاب موجود، با استفاده از حالت انتخاب اصلی (عادی، بلوکی، کلمهای یا سطری).\& انتخاب با رها کردن دکمه نهایی شده و در \fIانتخاب اولیه\fR رونوشت میشود.\& پیشفرض: \fIBTN_RIGHT\fR.\&
.PP
.RE
\fBselect\-extend\-character\-wise\fR
.RS 4
مشابه \fBselect\-extend\fR، اما حالت انتخاب را به \fInormal\fR (یعنی نویسهبهنویسه) تغییر میدهد.\& توجه داشته باشید که این امر باعث میشود عملیاتهای بعدی \fBselect\-extend\fR نیز نویسهبهنویسه باشند.\& این اقدام برای انتخابهای بلوکی نادیده گرفته میشود.\& پیشفرض: \fIControl+BTN_RIGHT\fR.\&
.PP
.RE
\fBprimary\-paste\fR
.RS 4
از \fIانتخاب اولیه\fR جایگذاری میکند.\& پیشفرض: \fIBTN_MIDDLE\fR.\&
.PP
.RE
\fBfont\-increase\fR
.RS 4
اندازه قلم را ۰٫۵ پوینت افزایش میدهد.\& پیشفرض:
\fIControl+BTN_WHEEL_BACK\fR (همچنین در \fBkey\-bindings\fR تعریف شده است).\&
.PP
.RE
\fBfont\-decrease\fR
.RS 4
اندازه قلم را ۰٫۵ پوینت کاهش میدهد.\& پیشفرض:
\fIControl+BTN_WHEEL_FORWARD\fR (همچنین در \fBkey\-bindings\fR تعریف شده است).\&
.PP
.PP
.RE
.SH "تنظیمات پیشرفته (TWEAK)"
.PP
این بخش ویژه کاربران پیشرفته است و گزینههای پیکربندی را شرح میدهد که میتوان از آنها برای تنظیم دقیق رفتارهای سطح پایین foot استفاده کرد.\&
.PP
این گزینهها در پیکربندی نمونه گنجانده \fBنشدهاند\fR.\& تا زمانی که متوجه عملکرد آنها نشدهاید، نباید آنها را تغییر دهید.\&
.PP
توجه داشته باشید که این گزینهها ممکن است در هر زمانی بدون اطلاع قبلی تغییر کرده یا حذف شوند.\&
.PP
هنگام گزارش اشکالات، لطفاً ذکر کنید که آیا هر یک از این گزینهها را تغییر دادهاید و به چه مقداری تنظیم کردهاید.\&
.PP
\fBscaling\-filter\fR
.RS 4
فیلتر مقیاسبندی پیشفرض مورداستفاده هنگام کوچکسازی قلمهای بیتمپ (مانند قلمهای ایموجی) را بازنویسی میکند.\& مقادیر ممکن عبارتند از: \fBnone\fR، \fBnearest\fR،
\fBbilinear\fR، \fBimpulse\fR، \fBbox\fR، \fBlinear\fR، \fBcubic\fR، \fBgaussian\fR،
\fBlanczos2\fR، \fBlanczos3\fR یا \fBlanczos3\-stretched\fR.\&
.PP
پیشفرض: \fIlanczos3\fR.\&
.PP
.RE
\fBoverflowing\-glyphs\fR
.RS 4
بولی.\& در صورت فعال بودن، به گلیفهایی که عریضتر از سلول(های) خود هستند اجازه داده میشود در یک سلول همسایه اضافی رندر شوند.\&
.PP
یک مورد استفاده برای این ویژگی قلمهایی با نویسههای مورب عریض هستند که به سلول بعدی «خم» میشوند.\& بدون این گزینه، چنین گلیفهایی «بریدهشده» به نظر خواهند رسید.\&
.PP
مورد استفاده دیگر قلمهایی با نویسههای «آیکون» در ناحیه استفاده خصوصی یونیکد هستند، مانند قلمهای Nerd، یا قلمهای Powerline و نویسههای ایموجی قدیمی مانند \fBWHITE FROWNING FACE\fR.\&
.PP
نکته: ممکن است بسته به قلم مورداستفاده بر کارایی تأثیر بگذارد.\& بهویژه اندازههای کوچک قلم به دلیل رندر سابپیکسل میتوانند گلیفهای سرریزکننده زیادی ایجاد کنند.\&
.PP
پیشفرض: \fIyes\fR.\&
.PP
.RE
\fBrender\-timer\fR
.RS 4
تایمر رندر فریم را فعال میکند که زمان لازم برای رندر هر فریم را بر حسب میکروثانیه، روی صفحه، در خروجی خطای استاندارد (stderr)، یا هر دو چاپ میکند.\& مقادیر معتبر عبارتند از \fBnone\fR، \fBosd\fR، \fBlog\fR و \fBboth\fR.\& پیشفرض: \fInone\fR.\&
.PP
.RE
\fBbox\-drawing\-base\-thickness\fR
.RS 4
ضخامت خط برای استفاده در نویسههای ترسیم خط جعبه \fBLIGHT\fR، بر حسب پوینت.\& این مقدار با استفاده از DPI نمایشگر به پیکسل تبدیل شده و سپس در اندازه سلول ضرب میشود.\& نتیجه نهایی این است که یک قلم بزرگتر (و در نتیجه سلولهای بزرگتر) به خطوط ضخیمتر منجر میشود.\& پیشفرض: \fI0.\&04\fR.\&
.PP
.RE
\fBbox\-drawing\-solid\-shades\fR
.RS 4
بولی.\& در صورت فعال بودن، سایههای ترسیم جعبه (مانند LIGHT SHADE، MEDIUM SHADE و DARK SHADE) به صورت بلوکهای یکدست با استفاده از گونه تیرهتری از رنگ پیشزمینه جاری رندر میشوند.\&
.PP
در صورت غیرفعال بودن، در عوض به صورت الگوی شطرنجی و با استفاده از همان رنگ پیشزمینه جاری رندر میگردند.\&
.PP
پیشفرض: \fIyes\fR.\&
.PP
.RE
\fBdelayed\-render\-lower\fR, \fBdelayed\-render\-upper\fR
.RS 4
این دو مقدار، مهلتهای زمانی (بر حسب نانوثانیه) را کنترل میکنند که برای کاهش چشمکزدن صفحه ناشی از نوشتن بهروزرسانیهای بزرگ و غیراتمیک توسط کلاینتها استفاده میشوند.\&
.PP
اگر یک کلاینت یک بهروزرسانی صفحه را در چندین فراخوانی \fBwrite\fR(3) تقسیم کند، ممکن است در نهایت یک فریم میانی را رندر کنیم که بلافاصله با فریم دیگری با محتوای نهایی صفحه دنبال میشود.\& برای مثال، کلاینت ممکن است بخشی از صفحه را در یک نوشتن پاک کند (یا پیمایش کند)، و سپس محتوای جدید را در یک یا چند نوشتن بعدی بنویسد.\& رندر کردن فریم در زمانی که صفحه پاک شده اما هنوز با محتوای جدید پر نشده است، به عنوان چشمکزدن صفحه احساس خواهد شد.\&
.PP
راهکار \fBواقعی\fR برای این موضوع، \fIبهروزرسانیهای همگام برنامهها\fR (Application Synchronized Updates) است
(https://gitlab.\&freedesktop.\&org/terminal\-wg/specifications/\-/merge_requests/2).\&
.PP
مشکل این ویژگی دوگانه است \- نخست، هنوز استانداردسازی نشده است، و بنابراین شبیهسازهای ترمینال زیادی نیستند که آن را پیادهسازی کرده باشند (foot آن را پیادهسازی \fBکرده است\fR)، و دوم، برنامهها باید برای استفاده از آن وصله شوند.\&
.PP
تا زمانی که این اتفاق بیفتد، foot یک راهکار موقت ارائه میدهد؛ تلاشی برای کاهش چشمکزدن صفحه \fBبدون\fR تأثیر بر کارایی یا تاخیر.\&
.PP
این رویکرد مبتنی بر این واقعیت است که صفحه در فواصل زمانی ثابتی بهروز میشود (معمولاً ۶۰ هرتز).\& برای ما، این بدان معناست که فرقی نمیکند فریم جدید را در \fBابتدای\fR یک بازه فریم رندر کنیم یا در \fBانتهای\fR آن.\& بنابراین، هدف ایجاد تاخیری بین دریافت دادههای کلاینت و رندر وضعیت حاصل است، اما بدون ایجاد پرش فریم.\&
.PP
اگرچه باید بتوان زمان باقیمانده تا فریم بعدی را تخمین زد، اما الگوریتم foot در حال حاضر چندان پیشرفته نیست، بلکه شاید بتوان گفت بر پایه آمار است \- تاخیری که ما ایجاد میکنیم آنقدر کوچک است که خطر افتادن فریم به بازه فریم بعدی نیز بسیار اندک است.\&
.PP
خب، متن زیادی شد.\& اما آنچه foot در عمل انجام میدهد چیست؟\&
.PP
هنگام دریافت دادههای کلاینت، تایمری را زمانبندی میکند: \fBdelayed\-render\-lower\fR.\& اگر پیش از پایان تایمر هیچ داده دیگری از کلاینت دریافت نکنیم، فریم را رندر میکنیم.\& با این حال اگر دادههای بیشتری دریافت کنیم، تایمر دوباره زمانبندی میشود.\& یعنی هر بار که دادههای کلاینت را دریافت میکنیم، رندر فریم به اندازه \fBdelayed\-render\-lower\fR نانوثانیه دیگر به تعویق میافتد.\&
.PP
اکنون، با اینکه این روش با بیشتر کلاینتها بسیار خوب کار میکند، اما ممکن است کلاینت مخربی ساخته شود که پیوسته دادهها را با سرعتی آهسته بنویسد.\& برای کاربر، این به نظر میرسد که foot قفل کرده است چرا که هرگز به رندر فریم جدید نمیرسیم.\& برای جلوگیری از این موضوع، یک سقف بالایی تعیین شده است \- \fBdelayed\-render\-upper\fR.\& اگر زمان این تایمر به پایان برسد، فریم را بدون در نظر گرفتن کاری که کلاینت انجام میدهد رندر میکنیم.\&
.PP
هنگام تغییر این مقادیر، توجه داشته باشید که مهلت پایینی \fBباید\fR کمتر از مهلت بالایی تنظیم شود، هرچند که این موضوع توسط foot اعتبارسنجی نمیشود.\& علاوه بر این، هر دو مقدار باید کمتر از ۱۶ میلیثانیه (یعنی ۱۶۰۰۰۰۰۰ نانوثانیه) باشند.\&
.PP
میتوانید با تنظیم هر یک از مقادیر روی 0 این ویژگی را به طور کامل غیرفعال کنید.\& در این حالت، فریمها «در سریعترین زمان ممکن» رندر میشوند.\&
.PP
پیشفرض: مقدار پایینی=\fI500000\fR (۰٫۵ میلیثانیه)، بالایی=\fI8333333\fR (۸٫۳ میلیثانیه \- نصف یک بازه فریم).\&
.PP
.RE
\fBdamage\-whole\-window\fR
.RS 4
بولی.\& در صورت فعال بودن، foot با هر بار رندر شدن یک فریم، کل پنجره را «damage» (آسیبدیده جهت بازترسیم) علامتگذاری میکند.\& این امر کامپوزیتور را وادار میکند کل پنجره را دوباره ترسیم کند.\& در صورت غیرفعال بودن، foot تنها سطرهای بهروزشده را علامتگذاری میکند.\&
.PP
به طور معمول \fBهیچ\fR دلیلی برای فعال کردن این گزینه وجود ندارد.\& با این حال، مشاهده شده است که این گزینه مشکلی را در زمینه \fIمقیاسبندی کسری\fR در \fIGnome\fR برطرف میکند.\&
.PP
توجه داشته باشید که فعال کردن این گزینه احتمالاً مصرف پردازنده (CPU) و/یا گرافیک (GPU) را (توسط کامپوزیتور، نه توسط foot) افزایش میدهد و ممکن است تأثیر منفی بر طول عمر باتری داشته باشد.\&
.PP
پیشفرض: \fIno\fR.\&
.PP
.RE
\fBgrapheme\-shaping\fR
.RS 4
بولی.\& در صورت فعال بودن، foot از \fIutf8proc\fR برای قطعهبندی خوشههای نویسهوارهای (grapheme cluster) هنگام تجزیه متن «چاپشده» استفاده میکند.\& سپس، هنگام رندر کردن، از \fIfcft\fR (در صورت کامپایل با پشتیبانی از \fIHarfBuzz\fR) برای شکلدهی به خوشههای نویسهوارهای استفاده خواهد کرد.\&
.PP
این قابلیت برای رندر مواردی مانند توالیهای پرچم (ایموجی)، توالیهای کلیدها (keycap)، توالیهای تبدیلگر، توالیهای اتصالدهنده با عرض صفر (ZWJ) و توالیهای برچسب ایموجی الزامی است.\& همچنین ممکن است بسته به قلم، رندر نویسههای ترکیبی را بهبود بخشد.\&
.PP
.RS 4
.PD 0
.IP \(bu 4
foot باید با پشتیبانی از utf8proc کامپایل شده باشد
.IP \(bu 4
fcft باید با پشتیبانی از HarfBuzz کامپایل شده باشد
.PD
.PP
.RE
این گزینه را میتوان در زمان اجرا با DECSET/DECRST 2027 نیز تنظیم کرد.\&
.PP
همچنین ببینید: \fBgrapheme\-width\-method\fR.\&
.PP
پیشفرض: \fIyes\fR
.PP
.RE
\fBgrapheme\-width\-method\fR
.RS 4
روشی را برای محاسبه عرض (یعنی تعداد ستونها) یک خوشه نویسهوارهای انتخاب میکند.\& یکی از مقادیر \fBwcswidth\fR، \fBdouble\-width\fR و \fBmax\fR.\&
.PP
مقدار \fBwcswidth\fR به سادگی عرض تکی تمام کدپوینتهای تشکیلدهنده خوشه را با هم جمع میکند.\&
.PP
مقدار \fBdouble\-width\fR همان کار را انجام میدهد، اما حداکثر تعداد ستونها را به ۲ محدود میکند.\& این دقیقتر است، اما ممکن است برخی برنامهها را با مشکل مواجه کند، زیرا برنامهها معمولاً از \fBwcswidth\fR(3) در ساختار داخلی برای محاسبه عرض استفاده میکنند.\& این امر منجر به مشکلات ناهماهنگی موقعیت مکاننما میشود.\&
.PP
مقدار \fBmax\fR از عرض بزرگترین کدپوینت در خوشه استفاده میکند.\&
.PP
پیشفرض: \fIdouble\-width\fR
.PP
.RE
\fBfont\-monospace\-warn\fR
.RS 4
بولی.\& در صورت فعال بودن، foot از روشهای اکتشافی (heuristics) استفاده میکند تا تکفاصله (monospace) بودن قلم اصلی را بررسی کند، و در صورتی که نباشد هشدار میدهد.\&
.PP
اگر همچنان میخواهید از قلم استفاده کنید، حتی اگر foot فکر کند که تکفاصله نیست، این گزینه را غیرفعال کنید.\&
.PP
همچنین ممکن است بخواهید آن را برای دستیابی به زمانهای راهاندازی کمی سریعتر غیرفعال نمایید.\&
.PP
پیشفرض: \fIyes\fR
.PP
.RE
\fBmax\-shm\-pool\-size\-mb\fR
.RS 4
این گزینه مقدار فضای آدرس مجازی مورداستفاده توسط حافظه pixmap را که محتوای صفحه نمایش ترمینال در آن رندر میشود، کنترل میکند.\&
.PP
این گزینه میزان حافظه فیزیکی مورداستفاده توسط foot را تغییر نمیدهد.\&
.PP
نرمافزار foot از ترفند نگاشت حافظه برای پیادهسازی رندرینگ سریع پیمایش تعاملی استفاده میکند (به طور معمول، اما به طور کلی برای پیمایشهای «آهسته» نیز صدق میکند).\& برای مثال: نگه داشتن کلید پیکان «بالا» یا «پایین» برای پیمایش در یک ویرایشگر متن.\&
.PP
برای کارکرد این ویژگی، به مقدار زیادی فضای آدرس مجازی نیاز دارد.\& مجدداً توجه داشته باشید که این حافظه فیزیکی نیست.\&
.PP
در یک رایانه معمولی مبتنی بر x64، هر فرآیند دارای ۱۲۸ ترابایت فضای آدرس مجازی است و پردازندههای جدیدتر دارای ۶۴ پتابایت هستند.\& این مقدار بسیار عظیمی است و بیشتر برنامهها حتی به مقداری نزدیک به آن هم دسترسی پیدا نمیکنند.\&
.PP
هر پنجره ترمینال foot میتواند تا ۲ گیگابایت فضای آدرس مجازی تخصیص دهد.\& با ۱۲۸ ترابایت فضای آدرس، این به معنای حداکثر ۶۵۵۳۶ پنجره در حالت سرور/دیمن است (به ازای ۲ گیگابایت).\& این مقدار باید کاملاً کافی باشد، درست است؟\&
.PP
با این حال، کامپوزیتور Wayland نیز باید همان مقدار فضای آدرس مجازی را تخصیص دهد.\& بنابراین، احتمال اتمام فضای آدرس در آن کمی بیشتر است، زیرا باید تمام کلاینتهای در حال اجرای Wayland را به همان شیوه و همزمان میزبانی کند.\&
.PP
در صورتی که این موضوع برای شما مشکلی ایجاد کرد، میتوانید مقدار مورداستفاده را با این گزینه کاهش دهید.\&
.PP
یا، برای دستیابی به کارایی بهینه، میتوانید آن را به حداکثر مقدار مجاز، ۲ گیگابایت افزایش دهید (اما توجه داشته باشید که احتمالاً متوجه هیچ تفاوتی در مقایسه با مقدار پیشفرض نخواهید شد).\&
.PP
تنظیم آن روی 0 این ویژگی را غیرفعال میکند.\&
.PP
محدودیتها:
.RS 4
.PD 0
.IP \(bu 4
تنها در معماریهای ۶۴ بیتی پشتیبانی میشود
.IP \(bu 4
تنها در لینوکس پشتیبانی میشود
.PD
.PP
.RE
پیشفرض: \fI512\fR.\& حداکثر مقدار مجاز: \fI2048\fR (۲ گیگابایت).\&
.PP
.RE
\fBmin\-stride\-alignment\fR
.RS 4
این گزینه حداقل تراز گام (stride alignment) را بر حسب بایت، هنگام تخصیص بافرهای SHM کنترل میکند.\&
.PP
در برخی شرایط، کامپوزیتور میتواند بافرهای SHM برنامه foot را مستقیماً بدون کپی کردن بافر در حافظه GPU، به GPU وارد (import) کند (معمولاً در گرافیکهای مجتمع).\& درایورهای مختلف نیازمندیهای متفاوتی برای این کار دارند، و یکی از آن نیازمندیها معمولاً تراز گام است.\& در زمان نگارش این متن، پردازندههای گرافیکی AMD به تراز ۲۵۶ بایتی نیاز دارند.\&
.PP
توجه داشته باشید که انجام یک ایمپورت مستقیم معمولاً آزادسازی بلادرنگ بافر را غیرفعال میکند (اگر کامپوزیتور از آن پشتیبانی کند)، که به این معنی است که foot باید از بافرسازی دوگانه استفاده کند.\& این امر جریمه کارایی را به foot اضافه میکند، اما کارایی کلی سیستم همچنان باید بهتر باشد.\&
.PP
اگر از گرافیک مجتمع استفاده نمیکنید، یا اگر کامپوزیتور از وارد کردن مستقیم GPU پشتیبانی نمیکند، این گزینه تأثیری نزدیک به صفر دارد.\& میتوانید با تنظیم آن روی 0 مقدار کمی از حافظه را ذخیره کنید.\&
.PP
در نهایت، این به عهده کامپوزیتور است که تصمیم بگیرد آزادسازی بلادرنگ بافر را انجام دهد یا برای بهینهسازی وارد کردن به GPU تلاش کند.\&
.PP
پیشفرض: \fI256\fR
.PP
.RE
\fBsixel\fR
.RS 4
بولی.\& در صورت فعال بودن، foot تصاویر sixel را پردازش میکند.\& پیشفرض: \fIyes\fR
.PP
.RE
\fBdim\-amount\fR
.RS 4
میزانی که متن کمرنگشده با آن تیره میشود.\& پیشفرض: \fI1.\&5\fR.\&
.PP
.RE
\fBbold\-text\-in\-bright\-amount\fR
.RS 4
میزانی که قلمهای پررنگ هنگام تنظیم \fBbold\-text\-in\-bright\fR روی \fByes\fR روشنتر میشوند (گونه \fBpalette\-based\fR تحت تأثیر این گزینه قرار نمیگیرد).\& پیشفرض: \fI1.\&3\fR.\&
.PP
.RE
\fBsurface\-bit\-depth\fR
.RS 4
عمق بیت RGB مورداستفاده برای بافرهای تصویر را انتخاب میکند.\& یکی از مقادیر \fBauto\fR، \fB8\-bit\fR، \fB10\-bit\fR یا \fB16\-bit\fR.\&
.PP
مقدار \fBauto\fR عمق بیت را بسته به سایر تنظیمات و در دسترس بودن انتخاب میکند.\&
.PP
مقدار \fB8\-bit\fR، از ۸ بیت برای هر کانال رنگی، شامل آلفا استفاده میکند.\& این حالت پیشفرض در زمان \fBgamma\-correct\-blending=no\fR است.\&
.PP
مقدار \fB10\-bit\fR از ۱۰ بیت برای هر کانال RGB و ۲ بیت برای کانال آلفا استفاده میکند.\& بنابراین، کانالهای رنگی با دقت بالاتری را فراهم میکند، اما کانال آلفا با دقت کمتری خواهد بود.\&
.PP
مقدار \fB16\-bit\fR از ۱۶ بیت برای هر کانال رنگی، شامل آلفا استفاده مینماید.\& در صورت وجود، این حالت پیشفرض در زمان \fBgamma\-correct\-blending=yes\fR است.\&
.PP
توجه داشته باشید که هر دو حالت \fB10\-bit\fR و \fB16\-bit\fR بسیار کُندتر از \fB8\-bit\fR هستند؛ اگر میخواهید از ترکیب تصحیحشده با گاما استفاده کنید و سرعت (توان پردازش و تاخیر ورودی) را به رنگهای دقیق ترجیح میدهید، میتوانید \fBsurface\-bit\-depth=8\-bit\fR را صراحتاً تنظیم کنید.\&
.PP
پیشفرض: \fIauto\fR
.PP
.RE
\fBpre\-apply\-damage\fR
.RS 4
بولی.\& در صورت فعال بودن، foot هنگامی که مجبور به بافرسازی دوگانه است (یعنی زمانی که کامپوزیتور بافرهای SHM را بلافاصله آزاد نمیکند)، تلاش میکند تا تغییرات فریم پیشین (damage) را پیشاپیش اعمال کند.\& تمام متن پس از این فرض میکند که کامپوزیتور بافرها را بلافاصله آزاد نمیکند.\&
.PP
هنگامی که این گزینه غیرفعال باشد، هر بار که foot نیاز به رندر یک فریم دارد، ابتدا باید نواحی تغییریافته در آخرین فریم را رونویسی کند (یعنی تمام تغییرات بین دو فریم گذشته).\& این در اصل یک \fBmemcpy\fR(3) است که در صورت بزرگ بودن ناحیه تغییریافته میتواند کُند باشد.\& همچنین روی ریسمان اصلی انجام میشود، به این معنی که foot نمیتواند همزمان کار دیگری انجام دهد؛ هیچ رندر دیگری و هیچ تجزیه ترمینال مجازی (VT).\& پس از انتقال تغییرات به فریم جدید، foot شروع به رندر سلولهایی میکند که بین آخرین فریم و فریم جدید تغییر کردهاند.\&
.PP
هنگامی که این گزینه فعال باشد، تغییرات بین دو فریم پیشین قبل از اینکه foot شروع به رندر فریم بعدی کند، به آنچه فریم بعدی خواهد شد منتقل میشوند.\& به محض اینکه کامپوزیتور بافر قبلی را آزاد کند (معمولاً بلافاصله پس از اینکه foot یک فریم جدید را ارسال کرد)، foot ریسمانی را آغاز میکند که تغییرات را روی بافر تازه آزادشده رونوشت میکند.\& از آنجا که این کار در یک ریسمان جداگانه انجام میشود، foot میتواند همزمان به پردازش ورودی ادامه دهد.\& بعداً، هنگامی که زمان رندر یک فریم جدید فرا میرسد، تغییرات از قبل منتقل شدهاند و foot میتواند بلافاصله رندر واقعی را آغاز کند.\&
.PP
بنابراین، فعال بودن این گزینه هم کارایی را بهبود میبخشد (رونوشت تغییرات دو فریم آخر ریسمانی میشود)، و هم تاخیر ورودی را بهبود میدهد (رندر فریم بعدی دیگر مجبور نیست ابتدا تغییرات بین دو فریم آخر را انتقال دهد).\&
.PP
پیشفرض: \fIyes\fR
.PP
.RE
.SH "همچنین ببینید (SEE ALSO)"
.PP
\fBfoot\fR(1), \fBfootclient\fR(1)