.\" Generated by scdoc 1.11.4 .\" 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 "senpai" "5" "2026-06-02" .PP .SH "نام (NAME)" .PP senpai \- قالب پرونده پیکربندی و تنظیمات .PP .SH "توضیحات (DESCRIPTION)" .PP یک پرونده پیکربندی senpai یک پرونده با قالب scfg است\&. به https://git\&.sr\&.ht/\(tiemersion/scfg مراجعه فرمایید\&. .PP برخی تنظیمات الزامی و بقیه اختیاری هستند\&. .PP .SH "تنظیمات (SETTINGS)" .PP \fBaddress\fR (الزامی) .RS 4 نشانی (\fIhost[:port]\fR) سرور IRC\&. برنامه senpai به طور پیش‌فرض از اتصالات TLS استفاده می‌کند مگر اینکه گزینه \fBtls\fR را روی \fBfalse\fR تنظیم کنید\&. اتصالات TLS به طور پیش‌فرض از درگاه 6697 و اتصالات متن آشکار از درگاه 6667 استفاده می‌کنند\&. .PP یک طرحواره (scheme) اختیاری می‌تواند مشخص شود (scheme://\fIhost[:port]\fR): .PP .PD 0 .IP \(bu 4 irc:// پیش‌فرض ضمنی است، TLS با توجه به مقدار پیکربندی \fBtls\fR فعال یا غیرفعال می‌شود\&. .IP \(bu 4 ircs:// پروتکل TLS را فعال می‌کند\&. .IP \(bu 4 irc+insecure:// پروتکل TLS را غیرفعال می‌کند (IRC متن آشکار)\&. .IP \(bu 4 ircs+insecure:// پروتکل TLS را فعال می‌کند اما اعتبارسنجی گواهی TLS را نادیده می‌گیرد\&. این گزینه در برابر حملات غیرفعال MITM محافظت می‌کند اما در برابر حملات فعال MITM محافظتی ندارد\&. .PD .PP .RE \fBnickname\fR (الزامی) .RS 4 نام مستعار شما، که با پیام IRC \fINICK\fR ارسال می‌شود\&. این نام نباید شامل فاصله یا دونقطه (\fB:\fR) باشد\&. .PP .RE \fBrealname\fR .RS 4 نام واقعی شما، یا در واقع فیلدی که برای دیگران در دسترس خواهد بود و ممکن است شامل فاصله و دونقطه باشد\&. با پیام IRC \fIUSER\fR ارسال می‌شود\&. به طور پیش‌فرض، مقدار \fBnick\fR استفاده می‌شود\&. .PP .RE \fBusername\fR .RS 4 نام کاربری شما، که با پیام IRC \fIUSER\fR ارسال می‌شود و همچنین برای احراز هویت SASL استفاده می‌گردد\&. به طور پیش‌فرض، مقدار \fBnick\fR استفاده می‌شود\&. .PP .RE \fBpassword\fR .RS 4 گذرواژه شما، که برای احراز هویت SASL استفاده می‌شود\&. همچنین به \fBpassword-cmd\fR مراجعه فرمایید\&. .PP .RE \fBpassword-cmd\fR دستور [آرگومان‌ها.\&.\&.\&] .RS 4 به جای ارائه مستقیم گذرواژه احراز هویت SASL به صورت متن آشکار، می‌توانید دستوری را مشخص کنید که در زمان اجرا برای واکشی گذرواژه اجرا شود\&. این گزینه زمانی مفید است که گذرواژه‌های خود را در یک پرونده جداگانه (احتمالاً رمزنگاری‌شده) با استفاده از `gpg` یا یک مدیر گذرواژه خط فرمان مانند \fIpass\fR یا \fIgopass\fR ذخیره می‌کنید\&. اگر یک \fBpassword-cmd\fR ارائه شود، مقدار \fBpassword\fR نادیده گرفته شده و خط اول خروجی \fBpassword-cmd\fR برای ورود استفاده خواهد شد\&. .PP دستور و آرگومان‌ها از قبل توسط scfg نقل‌قول می‌شوند، بنابراین نیازی به نقل‌قول اضافی کل رشته دستور نیست\&. برای مثال: .PP .RE .nf .RS 4 password-cmd pass "Messaging/irc" .fi .RE .PP \fBchannel\fR .RS 4 فهرستی از نام‌های کانال جداشده با فاصله که senpai به طور خودکار در زمان راه‌اندازی و اتصال مجدد به سرور به آن‌ها ملحق می‌شود\&. این دستورالعمل می‌تواند چندین بار مشخص شود\&. .PP این دستورالعمل هنگام استفاده از bouncer نباید استفاده شود، زیرا bouncer از قبل کانال‌های ذخیره‌شده را به خاطر سپرده و senpai را به طور خودکار به آن‌ها ملحق می‌کند\&. .PP .RE \fBhighlight\fR .RS 4 فهرستی از کلیدواژه‌های جداشده با فاصله که در صورت بیان شدن توسط دیگران، یک اعلان و یک نشانگر نمایشی را ایجاد می‌کنند\&. این دستورالعمل می‌تواند چندین بار مشخص شود\&. .PP به طور پیش‌فرض، senpai از نام مستعار فعلی شما استفاده خواهد کرد\&. .PP .RE \fBon-highlight-beep\fR .RS 4 فعال کردن ارسال نویسه زنگ (BEL) هنگام هایلایت شدن شما\&. پیش‌فرض غیرفعال است\&. .PP .RE \fBpane-widths\fR { .\&.\&.\& } .RS 4 پیکربندی عرض بخش‌های مختلف رابط کاربری\&. .PP عرض بخش‌ها به عنوان زیردستورالعمل‌های دستورالعمل اصلی \fBpane-widths\fR تنظیم می‌شوند: .PP .RE .nf .RS 4 pane-widths { nicknames 16 } .fi .RE .PP .RS 4 این دستورالعمل از زیردستورالعمل‌های زیر پشتیبانی می‌کند: .PP \fBnicknames\fR .RS 4 تعداد سلول‌هایی که ستون نام‌های مستعار در تایم‌لاین اشغال می‌کند\&. به طور پیش‌فرض 14 است\&. .PP .RE \fBchannels\fR .RS 4 تعداد سلول‌هایی که ستون کانال‌ها روی صفحه اشغال می‌کند\&. به طور پیش‌فرض 16 است\&. از مقدار ویژه 0 برای افقی کردن فهرست کانال‌ها استفاده کنید\&. اگر مقدار منفی باشد، فهرست کانال‌ها به طور پیش‌فرض افقی خواهد بود و هنگام تغییر وضعیت با F7، مقدار مثبت (معکوس) عرض را به خود می‌گیرد\&. .PP .RE \fBmembers\fR .RS 4 تعداد سلول‌هایی که ستون فهرست اعضای کانال روی صفحه اشغال می‌کند\&. به طور پیش‌فرض 16 است\&. از مقدار ویژه 0 برای غیرفعال کردن استفاده کنید\&. اگر مقدار منفی باشد، فهرست اعضا به طور پیش‌فرض غیرفعال خواهد بود و هنگام تغییر وضعیت با F8، مقدار مثبت (معکوس) عرض را به خود می‌گیرد\&. .PP .RE \fBtext\fR .RS 4 حداکثر عرض خط متن پیام، بر حسب تعداد سلول‌ها\&. به طور پیش‌فرض، مقدار صفر است که به معنای نبود حداکثر می‌باشد\&. برای حفظ عرض خط خوانا در نمایشگرهای بزرگ مفید است\&. .PP .RE .RE \fBtls\fR .RS 4 فعال کردن رمزنگاری TLS\&. پیش‌فرض true است\&. .PP .RE \fBtypings\fR .RS 4 ارسال اعلان‌های تایپ که به دیگران اطلاع می‌دهد چه زمانی در حال تایپ پیام هستید\&. پیش‌فرض true است\&. .PP .RE \fBmouse\fR .RS 4 فعال یا غیرفعال کردن پشتیبانی از ماوس\&. پیش‌فرض true است\&. .PP .RE \fBspell-check\fR .RS 4 فعال کردن بررسی املا با استفاده از harper-ls\&. نیازمند نصب بودن harper-ls است\&. در حال حاضر فقط انگلیسی است\&. پیش‌فرض false است\&. .PP .RE \fBcolors\fR { .\&.\&.\& } .RS 4 تنظیمات رنگ‌های عناصر مختلف رابط کاربری\&. .PP رنگ‌ها را می‌توان با نام ("red")، با شماره (از 0 تا 255 برای 256 رنگ پیش‌فرض ترمینال؛ -1 به معنی پیش‌فرض)، یا با رنگ واقعی هگزادسیمال RGB (\fB#\fR\fIrrggbb\fR) تنظیم کرد\&. .PP رنگ‌ها به عنوان زیردستورالعمل‌های دستورالعمل اصلی \fBcolors\fR تنظیم می‌شوند: .PP .RE .nf .RS 4 colors { prompt green } .fi .RE .PP .TS allbox;l lx l lx l lx l lx l lx. T{ \fBزیردستور\fR T} T{ \fBتوضیحات\fR T} T{ prompt T} T{ رنگ برای پیش‌درآمد ">" که در حالت دستوری ظاهر می‌شود T} T{ unread T} T{ رنگ پیش‌زمینه برای نام بافرهای خوانده‌نشده در فهرست بافرها T} T{ status [.\&.\&.\&] T} T{ رنگ پیش‌زمینه برای خطوط رویدادهای وضعیت (مانند ورود، خروج، تغییر نام مستعار) در بافرها، جدول زیر را ببینید T} T{ nicks [.\&.\&.\&] T} T{ طرح رنگ برای نام‌های مستعار کاربران، جدول زیر را ببینید T} .TE .sp 1 .TS allbox;l lx l lx l lx. T{ \fBزیردستور status\fR T} T{ \fBتوضیحات\fR T} T{ status T} T{ نمایش رویدادهای وضعیت با رنگ مشخص‌شده T} T{ status disabled T} T{ پنهان کردن رویدادهای وضعیت T} .TE .sp 1 .TS allbox;l lx l lx l lx l lx l lx. T{ \fBزیردستور nicks\fR T} T{ \fBتوضیحات\fR T} T{ nicks base T} T{ نمایش نام‌های مستعار با 16 رنگ مختلف (پیش‌فرض) T} T{ nicks extended T} T{ نمایش نام‌های مستعار با 256 رنگ مختلف T} T{ nicks fixed [] T} T{ نمایش نام‌های مستعار با رنگ ثابت، با امکان تعیین اختیاری رنگ‌ها برای سایر نام‌ها T} T{ nicks self T} T{ نمایش نام مستعار خود با رنگ ثابت مشخص‌شده (می‌تواند در کنار سایر دستورالعمل‌ها اضافه شود) T} .TE .sp 1 \fBshortcuts\fR { .\&.\&.\& } .RS 4 تنظیمات کلیدهای میانبر سفارشی صفحه کلید\&. .PP میانبرها با زیردستورالعمل‌های `\fB [.\&.\&.\&]\fR` تعریف می‌شوند: .PP .RE .nf .RS 4 shortcuts { Alt+k cursor-delete-after Shift+Alt+Page_Up set-editor "/me slaps OP with a large trout" } .fi .RE .PP .RS 4 کلیدها شامل تغییردهنده‌های اختیاری (\fBControl\fR/\fBShift\fR/\fBAlt\fR/\fBSuper\fR) و نام یک کلید هستند، که می‌تواند یک نویسه تحت‌اللفظی (مثلاً \fBk\fR) یا نامی برای آن کلید برگرفته از نام‌های کلید XKB باشد (در لینوکس، برای یافتن نام کلیدها به \fBwev\fR مراجعه کنید، مانند \fBPage_Up\fR، \fBXF86AudioPlay\fR)\&. .PP یک میانبر سفارشی هر میانبر پیش‌فرضی را برای آن کلید بازنویسی خواهد کرد\&. .PP .RE .TS allbox;l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx l lx. T{ \fBعملکرد (action)\fR T} T{ \fBتوضیحات\fR T} T{ none T} T{ \fBمیانبر را پاک می‌کند، بدون هیچ عملیاتی\fR T} T{ quit T} T{ ویرایشگر را پاک می‌کند، یا دستور `/quit` را تایپ می‌نماید T} T{ set-editor T} T{ ویرایشگر را در صورت خالی بودن روی متن ارائه‌شده تنظیم می‌کند T} T{ cursor-start T} T{ مکان‌نما را به ابتدای ویرایشگر منتقل می‌کند T} T{ cursor-end T} T{ مکان‌نما را به انتهای ویرایشگر منتقل می‌کند T} T{ redraw T} T{ پنجره را بازطراحی و تازه‌سازی می‌کند T} T{ scroll-up T} T{ پیمایش به سمت بالا در تایم‌لاین T} T{ scroll-down T} T{ پیمایش به سمت پایین در تایم‌لاین T} T{ scroll-next-highlight T} T{ رفتن به سمت پایین به هایلایت بعدی T} T{ scroll-previous-highlight T} T{ رفتن به سمت بالا به هایلایت قبلی T} T{ buffer-next T} T{ رفتن به بافر بعدی T} T{ buffer-previous T} T{ رفتن به بافر قبلی T} T{ buffer-next-unread T} T{ رفتن به بافر خوانده‌نشده بعدی T} T{ buffer-previous-unread T} T{ رفتن به بافر خوانده‌نشده قبلی T} T{ cursor-right-word T} T{ مکان‌نما را به کلمه بعدی منتقل می‌کند T} T{ cursor-left-word T} T{ مکان‌نما را به کلمه قبلی منتقل می‌کند T} T{ cursor-right T} T{ مکان‌نما را به نویسه بعدی منتقل می‌کند T} T{ cursor-left T} T{ مکان‌نما را به نویسه قبلی منتقل می‌کند T} T{ cursor-up T} T{ یک خط به عقب در ویرایشگر پیمایش می‌کند T} T{ cursor-down T} T{ یک خط به جلو در ویرایشگر پیمایش می‌کند T} T{ cursor-delete-previous-word T} T{ کلمه قبلی را در ویرایشگر حذف می‌کند T} T{ cursor-delete-next-word T} T{ کلمه بعدی را در ویرایشگر حذف می‌کند T} T{ cursor-delete-previous T} T{ نویسه قبلی را در ویرایشگر حذف می‌کند T} T{ cursor-delete-next T} T{ نویسه بعدی را در ویرایشگر حذف می‌کند T} T{ cursor-delete-before T} T{ از مکان‌نما تا ابتدای خط را حذف می‌کند T} T{ cursor-delete-after T} T{ از مکان‌نما تا انتهای خط را حذف می‌کند T} T{ search-editor T} T{ جستجوی معکوس در تاریخچه ویرایشگر T} T{ auto-complete T} T{ کادر گفتگوی تکمیل خودکار را باز یا گزینه آن را انتخاب می‌کند T} T{ close-overlay T} T{ هر بافر همپوشان باز (مانند نتایج جستجو) را می‌بندد T} T{ toggle-channel-list T} T{ نمایش یا پنهان کردن فهرست عمودی کانال‌ها T} T{ toggle-member-list T} T{ نمایش یا پنهان کردن فهرست عمودی اعضا T} T{ send T} T{ محتویات ویرایشگر را ارسال می‌کند T} T{ buffer |\fIlast\fR T} T{ رفتن به بافر شماره‌گذاری‌شده با شاخص شروع از صفر، یا آخرین بافر T} .TE .sp 1 \fBdebug\fR .RS 4 پیشرفته\&. تخلیه تمام داده‌های ارسالی و دریافتی در بافر خانه، که برای اشکال‌زدایی مفید است\&. پیش‌فرض false است\&. .PP .RE \fBtransient\fR .RS 4 پیشرفته\&. اجرای یک نمونه زودگذر و موقت بدون خواندن/نوشتن روی دیسک (به جز پیکربندی اولیه)\&. می‌تواند برای نمونه‌های عمومی مفید باشد\&. پیش‌فرض false است\&. .PP .RE \fBlocal-integrations\fR .RS 4 پیشرفته\&. فعال کردن یکپارچه‌سازی با سیستم محلی (مانند اعلان‌ها از طریق DBus)\&. غیرفعال کردن آن در سیستم‌هایی که قرار است از طریق SSH استفاده شوند می‌تواند مفید باشد\&. پیش‌فرض true است\&. .PP .RE \fBon-highlight-path\fR .RS 4 پیشرفته\&. برنامه senpai به طور پیش‌فرض بدون نیاز به اسکریپت هایلایت سفارشی به شما اطلاع‌رسانی می‌کند\&. مسیر جایگزین برای یک اسکریپت شل که هنگام هایلایت شدن شما اجرا شود\&. به طور پیش‌فرض، senpai به دنبال یک اسکریپت هایلایت شل در $XDG_CONFIG_HOME/senpai/highlight می‌گردد\&. اگر هیچ پرونده‌ای در آن مسیر یافت نشود و مسیر جایگزینی هم ارائه نشده باشد، اجرای دستور هایلایت غیرفعال می‌شود\&. .PP در صورت عدم تنظیم، $XDG_CONFIG_HOME به طور پیش‌فرض \fB\(ti/.\&config/\fR است\&. .PP قبل از اجرای اسکریپت هایلایت، متغیرهای محیطی زیر مقداردهی می‌شوند: .PP اسکریپت‌های شل باید اطمینان حاصل کنند که متغیرها در پرونده اسکریپت در داخل نقل‌قول (QUOTED) قرار دارند، در غیر این صورت در معرض حملات تزریق شل (SHELL INJECTION ATTACKS) خواهید بود\&. اسکریپت‌های شل همچنین باید اطمینان حاصل کنند که نویسه‌هایی مانند '\&*'\& و '\&?\&'\& بسط داده نمی‌شوند\&. .PP .RE .TS allbox;l lx l lx l lx l lx l lx. T{ \fBمتغیر محیطی\fR T} T{ \fBتوضیحات\fR T} T{ BUFFER T} T{ بافری که پیام در آن ظاهر شده است T} T{ HERE T} T{ برابر 1 اگر \fIBUFFER\fR بافر جاری باشد، در غیر این صورت 0 T} T{ MESSAGE T} T{ محتوای پیام T} T{ SENDER T} T{ نام مستعار فرستنده T} .TE .sp 1 .RS 4 نکته: هنگام ارسال این متغیرها به \fBnotify-send\fR(1)، برخی از دیمن‌های اعلان از \fB\e\fR برای دنباله‌های گریز در بدنه استفاده می‌کنند که باعث می‌شود \fB\e\fR از پیام ناپدید شود یا اثرات جانبی ناخواسته‌ای (مانند خطوط جدید) ایجاد کند\&. .PP برای دور زدن این مشکل، می‌توانید با قطعه کد زیر بک‌اسلش را دو برابر کنید: .PP .RE .nf .RS 4 #!/bin/sh escape() { printf "%s" "$1" | sed \'s#\\\\#\\\\\\\\#g\' } notify-send "[$BUFFER] $SENDER" "$(escape "$MESSAGE")" .fi .RE .PP .SH "مثال‌ها (EXAMPLES)" .PP یک پرونده پیکربندی کمینه برای اتصال به Libera.\&Chat با عنوان "Guest123456": .PP .nf .RS 4 address irc\&.libera\&.chat nickname Guest123456 .fi .RE .PP یک پرونده پیکربندی پیشرفته‌تر که گذرواژه را از یک برنامه خارجی واکشی می‌کند، عرض برخی بخش‌ها را تغییر می‌دهد و رنگ‌های بیشتری را برای نام‌های مستعار کاربران فعال می‌نماید: .PP .nf .RS 4 address irc\&.libera\&.chat nickname Guest123456 username senpai realname "Guest von Lenon" password-cmd gopass show irc/guest # use your favorite CLI password solution here channel "#rahxephon" pane-widths { nicknames 10 channels 16 members 16 } colors { nicks extended } shortcuts { Alt+k cursor-delete-after } .fi .RE .PP .SH "همچنین ببینید (SEE ALSO)" .PP \fBsenpai\fR(1)