.\" 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" "1" "2026\-09\-03" .PP .SH "نام (NAME)" .PP foot \- شبیه‌ساز ترمینال Wayland .PP .SH "خلاصه دستور (SYNOPSIS)" .PP \fBfoot\fR [\fIOPTIONS\fR] .br \fBfoot\fR [\fIOPTIONS\fR] <\fIcommand\fR> [\fICOMMAND OPTIONS\fR] .PP تمام آرگومان‌های انتهایی (غیرگزینه‌ای) به‌عنوان یک دستور و آرگومان‌های آن جهت اجرا (به‌جای شل پیش‌فرض) در نظر گرفته می‌شوند.\& .PP .SH "توضیحات (DESCRIPTION)" .PP \fBfoot\fR یک شبیه‌ساز ترمینال Wayland است.\& اجرای آن بدون آرگومان، یک پنجره ترمینال جدید را با شل پیش‌فرض شما اجرا خواهد کرد.\& .PP می‌توانید با افزودن یک دستور سفارشی به خط فرمان foot، شل پیش‌فرض را لغو و جایگزین کنید: .PP .RS 4 \fBfoot htop\fR .PP .RE .SH "گزینه‌ها (OPTIONS)" .PP \fB\-c\fR,\fB\-\-config\fR=\fIPATH\fR .RS 4 مسیر فایل پیکربندی؛ برای جزئیات به \fBfoot.\&ini\fR(5) مراجعه کنید.\& .PP فایل پیکربندی به‌طور خودکار به ترمینال‌های جدیدی که از طریق \fBspawn\-terminal\fR ایجاد می‌شوند منتقل می‌شود (به \fBfoot.\&ini\fR(5) مراجعه کنید).\& .PP .RE \fB\-C\fR,\fB\-\-check\-config\fR .RS 4 اعتبارسنجی پیکربندی و سپس خروج با کد 0 در صورت بی‌نقص بودن، یا خروج با کد 230 در غیر این صورت (به \fBوضعیت خروج (EXIT STATUS)\fR مراجعه کنید).\& .PP .RE \fB\-o\fR,\fB\-\-override\fR=[\fISECTION\fR.\&]\fIKEY\fR=\fIVALUE\fR .RS 4 لغو و بازنویسی یک گزینه تنظیم‌شده در فایل پیکربندی.\& اگر \fISECTION\fR مشخص نشده باشد، مقدار پیش‌فرض \fImain\fR خواهد بود.\& .PP .RE \fB\-f\fR,\fB\-\-font\fR=\fIFONT\fR .RS 4 فهرستی از قلم‌های جداشده با کاما برای استفاده، در قالب fontconfig (به \fBFONT FORMAT\fR مراجعه کنید).\& .PP قلم اول، قلم اصلی است.\& قلم‌های باقی‌مانده قلم‌های جایگزین (fallback) هستند که هرگاه یک گلیف در قلم اصلی یافت نشود، استفاده خواهند شد.\& .PP قلم‌های جایگزین به ترتیبی که نوشته شده‌اند جستجو می‌شوند.\& اگر گلیفی در هیچ‌یک از قلم‌های جایگزین یافت نشود، فهرست جایگزین پویای fontconfig (برای قلم اصلی) جستجو می‌شود.\& .PP پیش‌فرض: \fImonospace\fR.\& .PP .RE \fB\-w\fR,\fB\-\-window\-size\-pixels\fR=\fIWIDTHxHEIGHT\fR .RS 4 تنظیم عرض و ارتفاع اولیه پنجره، بر حسب پیکسل.\& پیش‌فرض: \fI700x500\fR.\& .PP .RE \fB\-W\fR,\fB\-\-window\-size\-chars\fR=\fIWIDTHxHEIGHT\fR .RS 4 تنظیم عرض و ارتفاع اولیه پنجره، بر حسب نویسه (کاراکتر).\& پیش‌فرض: \fIتنظیم‌نشده\fR.\& .PP .RE \fB\-t\fR,\fB\-\-term\fR=\fITERM\fR .RS 4 مقداری که متغیر محیطی \fBTERM\fR روی آن تنظیم می‌شود (به \fBTERMINFO\fR و \fBENVIRONMENT\fR مراجعه کنید).\& پیش‌فرض: \fIfoot\fR.\& .PP .RE \fB\-T\fR,\fB\-\-title\fR=\fITITLE\fR .RS 4 عنوان اولیه پنجره.\& پیش‌فرض: \fIfoot\fR.\& .PP .RE \fB\-a\fR,\fB\-\-app\-id\fR=\fIID\fR .RS 4 مقداری که مشخصه \fBapp\-id\fR پنجره Wayland روی آن تنظیم می‌شود.\& پیش‌فرض: \fIfoot\fR (در حالت عادی)، یا \fIfootclient\fR (در حالت سرور).\& .PP .RE \fB\-\-class\fR=\fIID\fR .RS 4 نام مستعار برای \fB\-\-app\-id\fR.\& .PP .RE \fBtoplevel\-tag\fR=\fITAG\fR .RS 4 مقداری که مشخصه \fBtoplevel\-tag\fR پنجره Wayland روی آن تنظیم می‌شود.\& کامپوزیتور می‌تواند از این مقدار برای مدیریت نشست، قوانین پنجره و غیره استفاده کند.\& پیش‌فرض: \fIتنظیم‌نشده\fR .PP .RE \fB\-m\fR,\fB\-\-maximized\fR .RS 4 شروع در حالت بیشینه‌شده (ماکسیمم).\& اگر هر دو گزینه \fB\-\-maximized\fR و \fB\-\-fullscreen\fR مشخص شوند، اولویت با \fIآخرین\fR مورد خواهد بود.\& .PP .RE \fB\-F\fR,\fB\-\-fullscreen\fR .RS 4 شروع در حالت تمام‌صفحه.\& اگر هر دو گزینه \fB\-\-maximized\fR و \fB\-\-fullscreen\fR مشخص شوند، اولویت با \fIآخرین\fR مورد خواهد بود.\& .PP .RE \fB\-L\fR,\fB\-\-login\-shell\fR .RS 4 شروع یک شل ورود (login shell) با قرار دادن یک '\&-\&' در ابتدای argv[0].\& .PP .RE \fB\-\-pty\fR .RS 4 نمایش یک pty موجود به‌جای ایجاد موردی تازه.\& این گزینه برای تعامل با کنسول‌های ماشین مجازی (VM) مفید است.\& .PP این گزینه در حال حاضر در ترکیب با \fB\-s\fR,\fB\-\-server\fR پشتیبانی نمی‌شود.\& .PP .RE \fB\-D\fR,\fB\-\-working\-directory\fR=\fIDIR\fR .RS 4 دایرکتوری کاری اولیه برای برنامه کلاینت.\& پیش‌فرض: \fICWD of foot\fR (دایرکتوری کاری جاری foot).\& .PP .RE \fB\-s\fR,\fB\-\-server\fR[=\fIPATH\fR|\fIFD\fR] .RS 4 اجرا در حالت سرور.\& در این حالت، یک نمونه منفرد از foot میزبان چندین ترمینال (پنجره) خواهد بود.\& برای راه‌اندازی ترمینال‌های جدید از \fBfootclient\fR(1) استفاده کنید.\& .PP این کار باعث صرفه‌جویی در مصرف حافظه می‌شود؛ چرا که برای نمونه قلم‌ها و حافظه پنهان گلیف‌ها می‌توانند بین ترمینال‌ها به اشتراک گذاشته شوند.\& .PP همچنین این ویژگی زمان راه‌اندازی را کاهش می‌دهد، زیرا پیکربندی از پیش بارگذاری و تجزیه شده است و از همه مهم‌تر، قلم‌ها قبلاً بارگذاری شده‌اند (و حافظه پنهان گلیف‌های آن‌ها نیز احتمالاً پر شده است).\& .PP هر ترمینال ریسه‌های رندر (rendering threads) اختصاصی خود را خواهد داشت، اما تمامی ارتباطات Wayland و همچنین ورودی/خروجی به شل، در ریسه اصلی تسهیم (multiplex) می‌شوند.\& بنابراین، این حالت ممکن است در زمان بار کاری سنگین روی چند ترمینال، کارایی را اندکی کاهش دهد.\& .PP همچنین توجه داشته باشید که در صورت کرش کردن یک ترمینال، تمام ترمینال‌های دیگر نیز همراه با آن بسته خواهند شد.\& .PP مسیر پیش‌فرض \fB$XDG_RUNTIME_DIR/foot\-$WAYLAND_DISPLAY.\&sock\fR است.\& .PP اگر \fB$XDG_RUNTIME_DIR\fR تنظیم نشده باشد، مسیر پیش‌فرض به جای آن \fB/tmp/foot.\&sock\fR خواهد بود.\& .PP اگر \fB$XDG_RUNTIME_DIR\fR تنظیم شده باشد، اما \fB$WAYLAND_DISPLAY\fR تنظیم نشده باشد، مسیر پیش‌فرض \fB$XDG_RUNTIME_DIR/foot.\&sock\fR است.\& .PP توجه داشته باشید که اگر مقدار پیش‌فرض را تغییر دهید، باید از گزینه \fB\-\-server\-socket\fR در \fBfootclient\fR(1) نیز استفاده کرده و آن را به مسیر سوکت سفارشی خود اشاره دهید.\& .PP اگر آرگومان یک عدد باشد، foot آن را به‌عنوان توصیف‌کننده فایل (file descriptor) سوکتی در نظر می‌گیرد که توسط یک دیمن نظارتی (مانند systemd یا s6) ارائه شده است، و از آن سوکت به‌عنوان سوکت خود استفاده می‌کند.\& .PP دو واحد systemd به نام‌های (foot\-server.\&{service,socket}) برای استفاده از این قابلیت با systemd ارائه شده‌اند.\& برای استفاده از فعال‌سازی مبتنی بر سوکت (socket activation)، فقط واحد socket را فعال کنید.\& .PP توجه داشته باشید که اجرای \fBfoot \-\-server\fR به‌عنوان یک سرویس systemd از متغیرهای محیطی نمونه کاربری systemd استفاده می‌کند؛ بنابراین، باید \fB$WAYLAND_DISPLAY\fR را با استفاده از دستور \fBsystemctl \-\-user import\-environment WAYLAND_DISPLAY\fR در آن وارد کنید.\& .PP .RE \fB\-H\fR,\fB\-\-hold\fR .RS 4 باز ماندن پنجره پس از خروج پروسه فرزند.\& .PP .RE \fB\-p\fR,\fB\-\-print\-pid\fR=\fIFILE\fR|\fIFD\fR .RS 4 چاپ PID در این فایل یا FD، پس از راه‌اندازی موفقیت‌آمیز.\& فایل (یا FD) بلافاصله پس از نوشتن PID بسته می‌شود.\& در صورت مشخص شدن یک \fIFILE\fR، فایل در زمان خروج حذف (unlink) خواهد شد.\&.PP این گزینه تنها در ترکیب با \fB\-s\fR,\fB\-\-server\fR قابل استفاده است.\& .PP .RE \fB\-d\fR,\fB\-\-log\-level\fR={\fBinfo\fR,\fBwarning\fR,\fBerror\fR,\fBnone\fR} .RS 4 سطح لاگ، که هم برای خروجی لاگ در stderr و هم برای syslog استفاده می‌شود.\& پیش‌فرض: \fIwarning\fR.\& .PP .RE \fB\-l\fR,\fB\-\-log\-colorize\fR=[{\fBnever\fR,\fBalways\fR,\fBauto\fR}] .RS 4 رنگی‌سازی خروجی لاگ در stderr را فعال یا غیرفعال می‌کند.\& پیش‌فرض: \fIauto\fR.\& .PP .RE \fB\-S\fR,\fB\-\-log\-no\-syslog\fR .RS 4 ثبت لاگ در syslog را غیرفعال می‌کند.\& لاگ‌گیری تنها در stderr انجام می‌شود.\& این گزینه تنها در ترکیب با \fB\-s\fR,\fB\-\-server\fR قابل استفاده است.\& .PP .RE \fB\-v\fR,\fB\-\-version\fR .RS 4 شماره نسخه را نمایش می‌دهد و خارج می‌شود.\& .PP .RE \fB\-e\fR .RS 4 نادیده گرفته می‌شود؛ جهت سازگاری با \fBxterm \-e\fR.\& .PP این گزینه در واکنش به چندین راه‌انداز برنامه اضافه شد که \fB\-e\fR را با این فرض که همه ترمینال‌ها معنایی یکسان با \fBxterm\fR(1) برای آن پیاده‌سازی کرده‌اند، به ترمینال‌های دلخواه ارسال می‌کردند.\& نادیده گرفتن آن اجازه می‌دهد foot برای مثال به‌صورت \fBfoot \-e man foot\fR با همان نتایج مشابه در xterm فراخوانی شود، به‌جای اینکه خطای "invalid option" تولید کند.\& .PP .RE .SH "کلیدهای میانبر (KEYBOARD SHORTCUTS)" .PP کلیدهای میانبر زیر به‌صورت پیش‌فرض در دسترس هستند.\& آن‌ها را می‌توان در \fBfoot.\&ini\fR(5) تغییر داد.\& همچنین کنش‌های بیشتری (به‌صورت پیش‌فرض غیرفعال) در دسترس هستند؛ \fBfoot.\&ini\fR(5) را ببینید.\& .PP .SS "حالت عادی (NORMAL MODE)" .PP \fBshift\fR+\fBpage up\fR/\fBpage down\fR .RS 4 پیمایش به بالا/پایین در تاریخچه .PP .RE \fBctrl\fR+\fBshift\fR+\fBc\fR, \fBXF86Copy\fR .RS 4 کپی کردن متن انتخاب‌شده در \fIکلیپ‌بورد\fR .PP .RE \fBctrl\fR+\fBshift\fR+\fBv\fR, \fBXF86Paste\fR .RS 4 چسباندن از \fIکلیپ‌بورد\fR .PP .RE \fBshift\fR+\fBinsert\fR .RS 4 چسباندن از \fIانتخاب اولیه (primary selection)\fR .PP .RE \fBctrl\fR+\fBshift\fR+\fBr\fR .RS 4 شروع جستجو در تاریخچه پیمایش (scrollback) .PP .RE \fBctrl\fR+\fB+\fR, \fBctrl\fR+\fB=\fR .RS 4 افزایش اندازه قلم .PP .RE \fBctrl\fR+\fB\-\fR .RS 4 کاهش اندازه قلم .PP .RE \fBctrl\fR+\fB0\fR .RS 4 بازنشانی اندازه قلم .PP .RE \fBctrl\fR+\fBshift\fR+\fBn\fR .RS 4 ایجاد یک ترمینال جدید.\& اگر پوسته به‌گونه‌ای پیکربندی شده باشد که توالی گریز \fIOSC 7\fR را ارسال کند، ترمینال جدید در دایرکتوری کاری فعلی آغاز به کار خواهد کرد.\& .PP .RE \fBctrl\fR+\fBshift\fR+\fBo\fR .RS 4 فعال‌سازی حالت URL، که به شما اجازه «باز کردن» URLها را می‌دهد.\& .PP .RE \fBctrl\fR+\fBshift\fR+\fBu\fR .RS 4 فعال‌سازی ورودی یونیکد (Unicode).\& .PP .RE \fBctrl\fR+\fBshift\fR+\fBz\fR .RS 4 پرش به اعلان (prompt) قبلی که در حال حاضر نمایان نیست.\& نیازمند یکپارچه‌سازی با پوسته (shell integration) است.\& .PP .RE \fBctrl\fR+\fBshift\fR+\fBx\fR .RS 4 پرش به اعلان (prompt) بعدی.\& نیازمند یکپارچه‌سازی با پوسته (shell integration) است.\& .PP .RE .SS "جستجو در تاریخچه پیمایش (SCROLLBACK SEARCH)" .PP این کلیدهای میانبر بر انتخاب جستجو تأثیر می‌گذارند: .PP \fBctrl\fR+\fBr\fR .RS 4 جستجو به سمت \fIعقب\fR برای یافتن تطابق بعدی.\& اگر رشته جستجو خالی باشد، از آخرین رشته جستجو شده استفاده می‌شود.\& .PP .RE \fBctrl\fR+\fBs\fR .RS 4 جستجو به سمت \fIجلو\fR برای یافتن تطابق بعدی.\& اگر رشته جستجو خالی باشد، از آخرین رشته جستجو شده استفاده می‌شود.\& .PP .RE \fBshift\fR+\fBright\fR .RS 4 گسترش انتخاب فعلی به اندازه یک نویسه به سمت راست.\& .PP .RE \fBshift\fR+\fBleft\fR .RS 4 گسترش انتخاب فعلی به اندازه یک نویسه به سمت چپ.\& .PP .RE \fBctrl\fR+\fBw\fR, \fBctrl\fR+\fBshift\fR+\fBright\fR .RS 4 گسترش انتخاب فعلی (و در نتیجه معیار جستجو) تا انتهای کلمه، یا در صورت قرار داشتن روی یک نویسه جداکننده کلمه، تا کلمه بعدی.\& .PP .RE \fBctrl\fR+\fBshift\fR+\fBw\fR .RS 4 مشابه \fBctrl\fR+\fBw\fR، با این تفاوت که تنها نویسه‌های جداکننده کلمه، نویسه‌های فضای خالی (whitespace) هستند.\& .PP .RE \fBctrl\fR+\fBshift\fR+\fBleft\fR .RS 4 گسترش انتخاب فعلی به سمت چپ تا مرز کلمه قبلی.\& .PP .RE \fBshift\fR+\fBdown\fR .RS 4 گسترش انتخاب فعلی به اندازه یک خط به سمت پایین .PP .RE \fBshift\fR+\fBup\fR .RS 4 گسترش انتخاب فعلی به اندازه یک خط به سمت بالا.\& .PP .RE \fBctrl\fR+\fBv\fR, \fBctrl\fR+\fBshift\fR+\fBv\fR, \fBctrl\fR+\fBy\fR, \fBXF86Paste\fR .RS 4 چسباندن از کلیپ‌بورد در بافر جستجو.\& .PP .RE \fBshift\fR+\fBinsert\fR .RS 4 چسباندن از انتخاب اولیه (primary selection) در بافر جستجو.\& .PP .RE \fBescape\fR, \fBctrl\fR+\fBg\fR, \fBctrl\fR+\fBc\fR .RS 4 لغو جستجو .PP .RE \fBreturn\fR .RS 4 اتمام جستجو و کپی تطابق فعلی در انتخاب اولیه (primary selection).\& انتخاب ترمینال حفظ می‌شود، که به شما امکان می‌دهد با فشردن \fBctrl\fR+\fBshift\fR+\fBc\fR آن را در کلیپ‌بورد کپی کنید.\& .PP .RE این میانبرها بر کادر جستجو در حالت جستجو در تاریخچه پیمایش (scrollback\-search) اثر می‌گذارند: .PP \fBctrl\fR+\fBb\fR .RS 4 مکان‌نما را در کادر جستجو یک \fB\fRنویسه\fB\fR به سمت چپ می‌برد.\& .PP .RE \fBctrl\fR+\fBleft\fR, \fBalt\fR+\fBb\fR .RS 4 مکان‌نما را در کادر جستجو یک \fB\fRکلمه\fB\fR به سمت چپ می‌برد.\&.PP .RE \fBctrl\fR+\fBf\fR .RS 4 مکان‌نما را در جعبهٔ جست‌وجو یک \fB\fRنویسه\fB\fR به راست جابه‌جا می‌کند.\& .PP .RE \fBctrl\fR+\fBright\fR, \fBalt\fR+\fBf\fR .RS 4 مکان‌نما را در جعبهٔ جست‌وجو یک \fB\fRکلمه\fB\fR به راست جابه‌جا می‌کند.\& .PP .RE \fBHome\fR, \fBctrl\fR+\fBa\fR .RS 4 مکان‌نما را در جعبهٔ جست‌وجو به ابتدای ورودی می‌برد.\& .PP .RE \fBEnd\fR, \fBctrl\fR+\fBe\fR .RS 4 مکان‌نما را در جعبهٔ جست‌وجو به انتهای ورودی می‌برد.\& .PP .RE \fBalt\fR+\fBbackspace\fR, \fBctrl\fR+\fBbackspace\fR .RS 4 \fB\fRکلمهٔ قبل از\fB\fR مکان‌نما را پاک می‌کند.\& .PP .RE \fBalt\fR+\fBdelete\fR, \fBctrl\fR+\fBdelete\fR .RS 4 \fB\fRکلمهٔ بعد از\fB\fR مکان‌نما را پاک می‌کند.\& .PP .RE \fBctrl\fR+\fBu\fR .RS 4 از مکان‌نما تا ابتدای ورودی را پاک می‌کند .PP .RE \fBctrl\fR+\fBk\fR .RS 4 از مکان‌نما تا انتهای ورودی را پاک می‌کند .PP .RE این میان‌برها بر پیمایش در حالت scrollback\-search تأثیر می‌گذارند: .PP \fBshift\fR+\fBpage\-up\fR .RS 4 یک صفحه در تاریخچه به بالا/عقب پیمایش می‌کند.\& .PP .RE \fBshift\fR+\fBpage\-down\fR .RS 4 یک صفحه در تاریخچه به پایین/جلو پیمایش می‌کند.\& .PP .RE .SS "حالت نشانی اینترنتی (URL MODE)" .PP \fBt\fR .RS 4 تغییر وضعیت پدیداری URL در برچسب پرش.\& .PP .RE \fBescape\fR, \fBctrl\fR+\fBg\fR, \fBctrl\fR+\fBc\fR, \fBctrl\fR+\fBd\fR .RS 4 خروج از حالت URL بدون باز کردن نشانی اینترنتی.\& .PP .RE .SS "میان‌برهای ماوس (MOUSE SHORTCUTS)" .PP \fBleft\fR, single\-click .RS 4 کشیدن برای انتخاب؛ هنگام رها کردن، متن برگزیده در گزینش \fIprimary\fR کپی می‌شود.\& این ویژگی معمولاً در زمانی که کلاینت \fImouse tracking\fR را فعال کرده باشد \fBغیرفعال\fR است، اما با نگه‌داشتن \fBshift\fR می‌توان آن را اجبار کرد.\& .PP نگه‌داشتن \fBctrl\fR یک انتخاب بلوکی ایجاد می‌کند.\& .PP .RE \fBleft\fR, double\-click .RS 4 \fIکلمه\fRی زیر اشاره‌گر (جداشده با فاصله‌ها، نقطه، ویرگول، پرانتز و غیره) را انتخاب می‌کند.\& کلید \fBctrl\fR را نگه دارید تا تمام محتوای زیر اشاره‌گر تا نویسهٔ فاصلهٔ بعدی انتخاب شود.\& .PP .RE \fBleft\fR, triple\-click .RS 4 تمام محتوای محصور بین علامت‌های نقل‌قول، یا در صورت نبودن در نقل‌قول، کل سطر را انتخاب می‌کند.\& .PP .RE \fBleft\fR, quad\-click .RS 4 کل سطر را انتخاب می‌کند .PP .RE \fBmiddle\fR .RS 4 جای‌گذاری از گزینش \fIprimary\fR .PP .RE \fBright\fR .RS 4 گسترش انتخاب فعلی.\& کلیک کردن فوراً انتخاب را گسترش می‌دهد، در حالی که نگه داشتن و کشیدن به شما امکان می‌دهد تا اندازهٔ انتخاب را به‌صورت تعاملی تغییر دهید.\& .PP .RE \fBctrl\fR+\fBright\fR .RS 4 گسترش انتخاب فعلی، اما با اجبار به صورت نویسه‌به‌نویسه، به‌جای وابسته بودن به حالت انتخاب اولیه.\& .PP .RE \fBwheel\fR .RS 4 پیمایش به بالا/پایین در تاریخچه .PP .RE \fBctrl\fR+\fBwheel\fR .RS 4 افزایش/کاهش اندازهٔ قلم .PP .RE.SS "صفحه لمسی (TOUCHSCREEN)" .PP \fBtap\fR .RS 4 کلیک دکمه چپ ماوس را شبیه‌سازی می‌کند.\& .PP .RE \fBdrag\fR .RS 4 تاریخچه را به بالا/پایین پیمایش می‌کند.\& .PP نگه داشتن برای مدتی پیش از کشیدن (میزان تأخیر زمانی قابل پیکربندی است) کشیدن ماوس با دکمه چپ فشرده‌شده را شبیه‌سازی می‌کند.\& .PP .PP .RE .SH "قالب فونت (FONT FORMAT)" .PP فونت با نحو FontConfig مشخص می‌شود.\& یعنی فهرستی از نام فونت و گزینه‌های فونت که با دو نقطه (\fB:\fR) از یکدیگر جدا شده‌اند.\& .PP \fIمثال‌ها\fR: .PD 0 .IP \(bu 4 Dina:weight=bold:slant=italic .IP \(bu 4 Courier New:size=12 .PD .PP .SH "نشانی‌های وب (URLs)" .PP نرم‌افزار foot از تشخیص URL پشتیبانی می‌کند.\& اما برخلاف بسیاری از شبیه‌سازهای ترمینال دیگر که در آن‌ها نشانی‌های وب هنگام حرکت ماوس روی آن‌ها برجسته شده و با کلیک کردن باز می‌شوند، foot از رویکردی مبتنی بر صفحه‌کلید استفاده می‌کند.\& .PP فشردن \fBctrl\fR+\fBshift\fR+\fBo\fR وارد \fI«حالت باز کردن URL»\fR می‌شود، که در آن زیر تمام نشانی‌های وب قابل مشاهده خط کشیده شده و به یک \fI«برچسب پرش»\fR مرتبط می‌شوند.\& برچسب پرش، \fIتوالی کلید\fR (مثلاً \fB"AF"\fR) مورد نیاز برای فعال‌سازی نشانی را مشخص می‌کند.\& .PP البته این ترکیب کلید مانند تمام ترکیب‌های کلید دیگر در foot قابل سفارشی‌سازی است.\& گزینه‌های \fBshow\-urls\-launch\fR و \fBshow\-urls\-copy\fR را در \fBfoot.\&ini\fR(5) ببینید.\& .PP گزینه \fBshow\-urls\-launch\fR به‌طور پیش‌فرض نشانی وب را با \fBxdg\-open\fR باز می‌کند.\& این رفتار با گزینه \fBurl\-launch\fR قابل تغییر است.\& .PP گزینه \fBshow\-urls\-copy\fR جایگزینی برای \fBshow\-urls\-launch\fR است که عملکرد فعال‌سازی نشانی را \fIتغییر می‌دهد\fR؛ به جای باز کردن نشانی، آن را در کلیپ‌بورد کپی می‌کند.\& این گزینه به‌طور پیش‌فرض کلیدی اختصاص‌یافته ندارد.\& .PP رنگ‌های برچسب پرش، رنگ خط زیر URL و حروف استفاده‌شده در توالی کلیدهای برچسب پرش قابل پیکربندی هستند.\& .PP .SH "نویسه‌های ALT/META (ALT/META CHARACTERS)" .PP به‌طور پیش‌فرض، foot نویسه‌های meta را با پیشوند \fBESC\fR ارسال می‌کند.\& این معادل تنظیم گزینه \fBmetaSendsEscape\fR در XTerm روی \fBtrue\fR است.\& .PP این رفتار را می‌توان به صورت برنامه‌ریزی‌شده با \fBE[?\&1036l\fR غیرفعال کرد (و دوباره با \fBE[?\&1036h\fR فعال ساخت).\& .PP هنگامی که غیرفعال باشد، foot در عوض بیت هشتم نویسه meta را تنظیم کرده و سپس آن را با کدگذاری UTF\-8 ارسال می‌کند.\& این معادل تنظیم گزینه \fBeightBitMeta\fR در XTerm روی \fBtrue\fR است.\& .PP این را نیز می‌توان به‌صورت برنامه‌ریزی‌شده با \fBrmm\fR (بازنشانی حالت متا، \fBE[?\&1034l\fR) غیرفعال کرد، و دوباره با \fBsmm\fR (تنظیم حالت متا، \fBE[?\&1034h\fR) فعال ساخت.\& .PP .SH "کلید BACKSPACE (BACKSPACE)" .PP نرم‌افزار foot هنگام فشردن کلید backspace کد DEL (\fB\(ha?\&\fR) را ارسال می‌کند.\& این معادل تنظیم گزینه \fBbackarrowKey\fR در XTerm روی \fBfalse\fR و \fIبازنشانی\fR بودن DECBKM است.\& .PP برای ارسال کد BS (\fB\(haH\fR)، کلیدهای \fBctrl\fR+\fBbackspace\fR را فشار دهید.\& .PP توجه داشته باشید که foot ویژگی DECBKM را پیاده‌سازی \fBنمی‌کند\fR، و رفتار شرح داده شده در بالا \fBغیرقابل\fR تغییر است.\& .PP در نهایت، فشردن \fBalt\fR بایت ارسالی را با پیشوند ESC همراه می‌کند.\& .PP .SH "صفحه‌کلید عددی (KEYPAD)" .PP به‌طور پیش‌فرض، \fBNum Lock\fR حالت پیکربندی زمان اجرای صفحه‌کلید عددی را بازنویسی می‌کند؛ هنگامی که فعال باشد، صفحه‌کلید عددی همواره در حالت \fIعددی\fR در نظر گرفته می‌شود.\& این معادل تنظیم گزینه \fBnumLock\fR در XTerm روی \fBtrue\fR است.\& .PP در این حالت، کلیدهای صفحه‌کلید عددی همواره اعداد (در صورت فعال بودن Num Lock) یا کلیدهای حرکت مکان‌نما (بالا، پایین، چپ، راست، page up، page down و غیره) را ارسال می‌کنند.\& .PP این رفتار را می‌توان به‌صورت برنامه‌ریزی‌شده با \fBE[?\&1035l\fR غیرفعال کرد (و دوباره با \fBE[?\&1035h\fR فعال ساخت).\& .PP هنگامی که غیرفعال باشد، در حالت \fIبرنامه (application)\fR، صفحه‌کلید عددی به‌جای اعداد، دنباله‌های فرار سفارشی را ارسال می‌کند.\& .PP .SH "پیکربندی (CONFIGURATION)" .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 برای اطلاعات بیشتر، \fBfoot.\&ini\fR(5) را ببینید.\& .PP.SH "یکپارچه‌سازی با پوسته (SHELL INTEGRATION)" .PP .SS "دایرکتوری کاری فعلی" .PP نمونه‌های جدید ترمینال foot (که به‌طور پیش‌فرض به \fBctrl\fR+\fBshift\fR+\fBn\fR مقید شده‌اند)، در صورتی که پوسته در ترمینال «والد» تغییرات دایرکتوری را گزارش کند، در دایرکتوری کاری فعلی باز خواهند شد.\& .PP این کار با دنباله گریز OSC\-7 انجام می‌شود.\& در بیشتر پوسته‌ها، اگر به‌طور درون‌ساخت از این قابلیت پشتیبانی نکنند، می‌توان با اسکریپت‌نویسی این رفتار را پیاده‌سازی کرد.\& برای جزئیات به ویکی مراجعه کنید: (https://codeberg.\&org/dnkl/foot/wiki#user\-content\-spawning\-new\-terminal\-instances\-in\-the\-current\-working\-directory)\& .PP .PP .SS "پرش بین خط‌فرمان‌ها" .PP برنامه Foot می‌تواند نمای جاری را برای تمرکز روی خط‌فرمان دستورهای اجرا شده قبلی جابه‌جا کند (به‌طور پیش‌فرض به \fBctrl\fR+\fBshift\fR+\fBz\fR/\fBx\fR مقید شده است).\& .PP برای عملکرد این ویژگی، پوسته باید پیش از هر اعلان، یک دنباله OSC\-133;A (\fB\eE]133;A\eE\e\e\fR) ارسال کند.\& .PP در zsh، یک روش برای انجام این کار افزودن یک قلاب \fIprecmd\fR است: .PP .RS 4 \fBprecmd() { .RS 4 print \-Pn "\ee]133;A\ee\e\e" .RE }\fR .PP .RE برای جزئیات و مثال‌های مربوط به سایر پوسته‌ها به ویکی مراجعه کنید: (https://codeberg.\&org/dnkl/foot/wiki#user\-content\-jumping\-between\-prompts)\& .PP .SS "هدایت خروجی آخرین دستور" .PP کلید میانبر \fBpipe\-command\-output\fR می‌تواند خروجی آخرین دستور را به برنامه‌ای به انتخاب شما هدایت (pipe) کند (مشابه سایر کلیدهای میانبر \fBpipe\-*\fR): .PP .RS 4 \fB[key\-bindings] .br pipe\-command\-output=[sh \-c "f=$(mktemp); cat \- > $f; footclient emacsclient \-nw $f; rm $f"] Control+Shift+g\fR .PP .RE با فشردن \fBctrl\fR+\fBshift\fR+\fBg\fR، خروجی آخرین دستور در یک فایل موقت نوشته می‌شود، سپس یک emacsclient در نمونه‌ای جدید از footclient اجرا می‌گردد.\& فایل موقت پس از بسته شدن نمونه footclient حذف می‌شود.\& .PP برای عملکرد این ویژگی، پوسته باید پیش از شروع خروجی دستور، دنباله OSC\-133;C (\fB\eE]133;C\eE\e\e\fR) و پس از پایان خروجی دستور، دنباله OSC\-133;D (\fB\eE]133;D\eE\e\e\fR) را ارسال کند.\& .PP در fish، یک روش برای انجام این کار افزودن قلاب‌های \fIpreexec\fR و \fIpostexec\fR است: .PP .RS 4 \fBfunction foot_cmd_start \-\-on\-event fish_preexec .RS 4 echo \-en "\ee]133;C\ee\e\e" .RE end\fR .PP \fBfunction foot_cmd_end \-\-on\-event fish_postexec .RS 4 echo \-en "\ee]133;D\ee\e\e" .RE end\fR .PP .RE برای جزئیات و مثال‌های مربوط به سایر پوسته‌ها به ویکی مراجعه کنید: (https://codeberg.\&org/dnkl/foot/wiki#user\-content\-piping\-last\-commands\-output) .PP .SH "ترمینفو (TERMINFO)" .PP برنامه‌های کلاینت از شناسه terminfo تعیین‌شده توسط متغیر محیطی \fBTERM\fR (که توسط foot تنظیم می‌شود) برای تشخیص قابلیت‌های ترمینال استفاده می‌کنند.\& .PP برنامه Foot دو تعریف terminfo دارد: \fBfoot\fR و \fBfoot\-direct\fR، که \fBfoot\fR پیش‌فرض است.\& .PP تفاوت بین این دو در تعداد رنگ‌هایی است که توصیف می‌کنند؛ \fBfoot\fR تعداد ۲۵۶ رنگ و \fBfoot\-direct\fR تعداد ۱۶٫۷ میلیون رنگ (رنگ واقعی ۲۴ بیتی یا truecolor) را توصیف می‌کند.\& .PP توجه داشته باشید که استفاده از terminfo مربوط به \fBfoot\fR تعداد رنگ‌های قابل استفاده را به ۲۵۶ محدود نمی‌کند؛ برنامه‌ها همچنان می‌توانند از رنگ‌های RGB بیست‌وچهار بیتی استفاده کنند.\& در واقع، بیشتر برنامه‌ها با \fBfoot\fR بهترین عملکرد را دارند (شامل رنگ‌های ۲۴ بیتی).\& حتی گزارش شده است که استفاده از مدخل‌های terminfo از نوع \fB*\-direct\fR باعث کرش کردن برخی برنامه‌های ncurses شده است.\& .PP با این حال، برنامه‌هایی وجود دارند که برای پشتیبانی از ۲۴ بیت به یک مدخل terminfo از نوع \fB*\-direct\fR نیاز دارند.\& نرم‌افزار Emacs یکی از این نمونه‌هاست.\& .PP اگرچه استفاده از \fBfoot\fR یا \fBfoot\-direct\fR اکیداً توصیه می‌شود، اما امکان استفاده از مواردی مانند \fBxterm\-256color\fR نیز وجود دارد.\& این حالت زمانی مفید است که از راه دور به سیستمی متصل می‌شوید که مدخل‌های terminfo مربوط به foot را نمی‌توان به‌سادگی روی آن نصب کرد.\& .PP توجه داشته باشید که مدخل‌های terminfo را می‌توان در دایرکتوری خانگی کاربر نصب کرد.\& یعنی اگر دسترسی ریشه (root) ندارید، یا بسته‌ای برای توزیع شما جهت مدخل‌های terminfo مربوط به foot وجود ندارد، می‌توانید با کپی کردن \fBfoot\fR و \fBfoot\-direct\fR در \fB\(ti/.\&terminfo/f/\fR، مدخل‌های terminfo برنامه foot را به صورت دستی نصب کنید.\& .PP .SH "XTGETTCAP" .PP دنباله \fBXTGETTCAP\fR یک دنباله گریز است که ابتدا توسط XTerm معرفی شد، و توسط Kitty نیز پیاده‌سازی (و تا حدی گسترش) یافته است.\& .PP این ویژگی امکان پرس‌وجو از ترمینال برای تعاریف سنتی و مبتنی بر فایل terminfo را فراهم می‌کند.\& برای مثال، اگر تمام برنامه‌ها از این ویژگی استفاده می‌کردند، دیگر نیازی به نصب terminfo مربوط به foot روی میزبان‌های راه‌دوری که به آن‌ها SSH می‌زنید نبود.\& .PP پیاده‌سازی XTerm (از نسخه XTerm\-370 به بعد) تنها از پرس‌وجوی قابلیت‌های کلید (کلیدهای صفحه‌کلید) و سه قابلیت سفارشی پشتیبانی می‌کند: .PP .PD 0 .IP \(bu 4 TN \- نام ترمینال .IP \(bu 4 Co \- تعداد رنگ‌ها (نام مستعار برای قابلیت colors) .IP \(bu 4 RGB \- تعداد بیت‌ها برای هر کانال رنگ (معنای متفاوتی از قابلیت RGB در تعاریف terminfo مبتنی بر فایل دارد!\&) .PD .PP برنامه Kitty این قابلیت را گسترش داده و از استعلام تمام قابلیت‌های عدد صحیح و رشته‌ای نیز پشتیبانی می‌کند.\& .PP برنامه Foot از این قابلیت پشتیبانی می‌کند و آن را فراتر برده تا قابلیت‌های بولی (boolean) را نیز شامل شود.\& این بدان معناست که کل terminfo برنامه foot از طریق \fBXTGETTCAP\fR قابل استعلام است.\& .PP توجه داشته باشید که هر دو برنامه Kitty و foot پاسخ به پرس‌وجوهای چندقابلیتی را در مقایسه با XTerm اندکی متفاوت مدیریت می‌کنند.\& .PP برنامه XTerm یک پاسخ DCS واحد ارسال می‌کند که جفت‌های قابلیت/مقدار در آن با ; جدا شده‌اند.\& این موضوع چند ایراد دارد: .PP .PD 0 .IP \(bu 4 پرچم موفقیت/شکست در ابتدای پاسخ همیشه ۱ (موفقیت) است، مگر اینکه اولین قابلیت مورد استعلام نامعتبر باشد.\& .IP \(bu 4 برنامه XTerm به هیچ‌وجه به یک قابلیت نامعتبر پاسخ نمی‌دهد، مگر اینکه اولین مورد در پرس‌وجوی XTGETTCAP باشد.\& .IP \(bu 4 برنامه XTerm با رسیدن به اولین قابلیت نامعتبر، ارسال پاسخ را خاتمه می‌دهد.\& .PD .PP به عبارت دیگر، اگر یک پرس‌وجوی بزرگ شامل چندین قابلیت ارسال کنید، پاسخ‌ها را تنها تا قبل از اولین قابلیت نامعتبر دریافت خواهید کرد.\& تمام قابلیت‌های بعدی نادیده گرفته خواهند شد.\& .PP از سوی دیگر، Kitty و foot برای هر قابلیت در یک پرس‌وجوی چندگانه، یک پاسخ DCS مجزا ارسال می‌کنند.\& این رویکرد امکان ارسال پرچم موفقیت/شکست مناسب را برای هر قابلیت مورد پرس‌وجو فراهم می‌سازد.\& پاسخ‌ها همواره برای تمام قابلیت‌های استعلام‌شده ارسال می‌شوند و هیچ پرس‌وجویی نادیده گرفته نمی‌شود.\& .PP.SH "وضعیت خروج (EXIT STATUS)" .PP در صورت بروز خطا در خود foot، با کد 230 خارج خواهد شد.\& .PP در تمام موارد دیگر، کد خروج همان کد خروج برنامهٔ کلاینت (یعنی شل) خواهد بود.\& .PP .SH "محیط (ENVIRONMENT)" .PP .SS متغیرهای مورد استفادهٔ foot .PP \fBSHELL\fR .RS 4 فرآیند فرزند پیش‌فرض برای اجرا، زمانی که هیچ آرگومان \fIcommand\fR مشخص نشده باشد و گزینهٔ \fBshell\fR در \fBfoot.\&ini\fR(5) تنظیم نشده باشد.\& .PP .RE \fBHOME\fR .RS 4 برای تعیین محل فایل پیکربندی استفاده می‌شود؛ برای جزئیات به \fBfoot.\&ini\fR(5) مراجعه کنید.\& .PP .RE \fBXDG_CONFIG_HOME\fR .RS 4 برای تعیین محل فایل پیکربندی استفاده می‌شود؛ برای جزئیات به \fBfoot.\&ini\fR(5) مراجعه کنید.\& .PP .RE \fBXDG_CONFIG_DIRS\fR .RS 4 برای تعیین محل فایل پیکربندی استفاده می‌شود؛ برای جزئیات به \fBfoot.\&ini\fR(5) مراجعه کنید.\& .PP .RE \fBXDG_RUNTIME_DIR\fR .RS 4 برای ساخت \fIPATH\fR پیش‌فرض برای گزینهٔ \fB\-\-server\fR، هنگامی که هیچ آرگومان صریحی داده نشده باشد، استفاده می‌شود (به بالا مراجعه کنید).\& .PP .RE \fBWAYLAND_DISPLAY\fR .RS 4 برای ساخت \fIPATH\fR پیش‌فرض برای گزینهٔ \fB\-\-server\fR، هنگامی که هیچ آرگومان صریحی داده نشده باشد، استفاده می‌شود (به بالا مراجعه کنید).\& .PP .RE \fBXCURSOR_THEME\fR .RS 4 نام تم \fBXcursor\fR(3) برای استفاده جهت نشانگرها (معمولاً توسط کامپوزیتور Wayland تنظیم می‌شود).\& .PP .RE \fBXCURSOR_SIZE\fR .RS 4 اندازهٔ مورد استفاده برای نشانگرهای \fBXcursor\fR(3) (معمولاً توسط کامپوزیتور Wayland تنظیم می‌شود).\& .PP .RE .SS متغیرهای تنظیم‌شده در فرآیند فرزند .PP \fBTERM\fR .RS 4 شناسهٔ terminfo/termcap.\& این متغیر توسط برنامه‌های کلاینت استفاده می‌شود تا تعیین کنند ترمینال از چه قابلیت‌هایی پشتیبانی می‌کند.\& مقدار آن بر اساس گزینهٔ خط فرمان \fB\-\-term\fR یا گزینهٔ پیکربندی \fBterm\fR در \fBfoot.\&ini\fR(5) تنظیم می‌شود.\& .PP .RE \fBCOLORTERM\fR .RS 4 این متغیر روی \fBtruecolor\fR تنظیم می‌شود تا به برنامه‌های کلاینت نشان دهد که از رنگ‌های 24\-bit RGB پشتیبانی می‌شود.\& .PP .RE \fBPWD\fR .RS 4 دایرکتوری کاری فعلی (در زمان راه‌اندازی foot) .PP .RE \fBSHELL\fR .RS 4 روی شلِ اجرا شده تنظیم می‌شود، در صورتی که شل معتبر باشد (در \fB/etc/shells\fR فهرست شده باشد).\& .PP .RE علاوه بر متغیرهای ذکر شده در بالا، متغیرهای محیطی سفارشی را نیز می‌توان در \fBfoot.\&ini\fR(5) تعریف کرد.\& .PP .SS متغیرهای *حذف‌شده* در فرآیند فرزند .PP \fBTERM_PROGRAM\fR \fBTERM_PROGRAM_VERSION\fR .RS 4 این متغیرهای محیطی توسط برخی شبیه‌سازهای ترمینال دیگر تنظیم می‌شوند.\& ما آن‌ها را حذف (unset) می‌کنیم تا از تشخیص نادرست foot توسط برنامه‌ها جلوگیری شود.\& .PP .RE علاوه بر متغیرهای ذکر شده در بالا، متغیرهای محیطی سفارشی برای حذف شدن را نیز می‌توان در \fBfoot.\&ini\fR(5) تعریف کرد.\& .PP .SH "سیگنال‌ها (SIGNALS)" .PP سیگنال‌های زیر در foot معنای ویژه‌ای دارند: .PP .PD 0 .IP \(bu 4 SIGUSR1: تغییر به تم رنگی تیره (\fB[colors\-dark]\fR).\& .IP \(bu 4 SIGUSR2: تغییر به تم رنگی روشن (\fB[colors\-light]\fR).\& .PD .PP نکته: شما می‌توانید SIGUSR1/SIGUSR2 را به فرآیند \fBfoot \-\-server\fR نیز ارسال کنید، که در این صورت تم تمام نمونه‌های کلاینت تغییر خواهد کرد.\& علاوه بر این، تمامی نمونه‌های کلاینت آینده نیز از تم انتخاب‌شده استفاده خواهند کرد.\& .PP همچنین می‌توانید SIGUSR1/SIGUSR2 را به یک نمونهٔ footclient ارسال کنید؛ برای جزئیات به \fBfootclient\fR(1) مراجعه کنید.\& .PP .PP.SH "گزارش باگ‌ها (BUGS)" .PP لطفاً باگ‌ها را به https://codeberg.\&org/dnkl/foot/issues گزارش دهید. .PP پیش از باز کردن یک گزارش جدید، لطفاً گزارش‌های موجود (چه باز و چه بسته) را جستجو کنید.\& این احتمال وجود دارد که شخص دیگری پیش‌تر همان مشکل را گزارش کرده باشد.\& .PP گزارش باید شامل موارد زیر باشد: .PP .PD 0 .IP \(bu 4 نسخه Foot (\fBfoot \-\-version\fR).\& .IP \(bu 4 خروجی لاگ از foot (دستور \fBfoot \-d info\fR را از یک ترمینال دیگر اجرا کنید).\& .IP \(bu 4 کدام کامپوزیتور Wayland (و چه نسخه‌ای) را اجرا می‌کنید.\& .IP \(bu 4 در صورت گزارش فروپاشی (crash)، لطفاً سعی کنید یک backtrace کامل (\fBbt full\fR) همراه با نمادها ارائه دهید.\& .IP \(bu 4 مراحل بازتولید مشکل.\& هرچه جزئیات بیشتر باشد بهتر است.\& .PD .PP .SH IRC .PP کانال #foot در irc.\&libera.\&chat .PP .SH "همچنین ببینید (SEE ALSO)" .PP \fBfoot.\&ini\fR(5), \fBfootclient\fR(1)