| senpai(5) | File Formats Manual | senpai(5) |
نام (NAME)
senpai - قالب پرونده پیکربندی و تنظیمات
توضیحات (DESCRIPTION)
یک پرونده پیکربندی senpai یک پرونده با قالب scfg است. به https://git.sr.ht/~emersion/scfg مراجعه فرمایید.
برخی تنظیمات الزامی و بقیه اختیاری هستند.
تنظیمات (SETTINGS)
address (الزامی)
یک طرحواره (scheme) اختیاری میتواند مشخص شود (scheme://host[:port]):
- irc:// پیشفرض ضمنی است، TLS با توجه به مقدار پیکربندی tls فعال یا غیرفعال میشود.
- ircs:// پروتکل TLS را فعال میکند.
- irc+insecure:// پروتکل TLS را غیرفعال میکند (IRC متن آشکار).
- ircs+insecure:// پروتکل TLS را فعال میکند اما اعتبارسنجی گواهی TLS را نادیده میگیرد. این گزینه در برابر حملات غیرفعال MITM محافظت میکند اما در برابر حملات فعال MITM محافظتی ندارد.
nickname (الزامی)
realname
username
password
password-cmd دستور [آرگومانها...]
دستور و آرگومانها از قبل توسط scfg نقلقول میشوند، بنابراین نیازی به نقلقول اضافی کل رشته دستور نیست. برای مثال:
password-cmd pass "Messaging/irc"
channel
این دستورالعمل هنگام استفاده از bouncer نباید استفاده شود، زیرا bouncer از قبل کانالهای ذخیرهشده را به خاطر سپرده و senpai را به طور خودکار به آنها ملحق میکند.
highlight
به طور پیشفرض، senpai از نام مستعار فعلی شما استفاده خواهد کرد.
on-highlight-beep
pane-widths { ... }
عرض بخشها به عنوان زیردستورالعملهای دستورالعمل اصلی pane-widths تنظیم میشوند:
pane-widths {
nicknames 16
}
nicknames
channels
members
text
tls
typings
mouse
spell-check
colors { ... }
رنگها را میتوان با نام ("red")، با شماره (از 0 تا 255 برای 256 رنگ پیشفرض ترمینال؛ -1 به معنی پیشفرض)، یا با رنگ واقعی هگزادسیمال RGB (#rrggbb) تنظیم کرد.
رنگها به عنوان زیردستورالعملهای دستورالعمل اصلی colors تنظیم میشوند:
colors {
prompt green
}
| زیردستور | توضیحات |
| prompt <color> | رنگ برای پیشدرآمد ">" که در حالت دستوری ظاهر میشود |
| unread <color> | رنگ پیشزمینه برای نام بافرهای خواندهنشده در فهرست بافرها |
| status [...] | رنگ پیشزمینه برای خطوط رویدادهای وضعیت (مانند ورود، خروج، تغییر نام مستعار) در بافرها، جدول زیر را ببینید |
| nicks [...] | طرح رنگ برای نامهای مستعار کاربران، جدول زیر را ببینید |
| زیردستور status | توضیحات |
| status <color> | نمایش رویدادهای وضعیت با رنگ مشخصشده |
| status disabled | پنهان کردن رویدادهای وضعیت |
| زیردستور nicks | توضیحات |
| nicks base | نمایش نامهای مستعار با 16 رنگ مختلف (پیشفرض) |
| nicks extended | نمایش نامهای مستعار با 256 رنگ مختلف |
| nicks fixed [<others>] | نمایش نامهای مستعار با رنگ ثابت، با امکان تعیین اختیاری رنگها برای سایر نامها |
| nicks self <self> | نمایش نام مستعار خود با رنگ ثابت مشخصشده (میتواند در کنار سایر دستورالعملها اضافه شود) |
shortcuts { ... }
میانبرها با زیردستورالعملهای `<key> <action> [<params>...]` تعریف میشوند:
shortcuts {
Alt+k cursor-delete-after
Shift+Alt+Page_Up set-editor "/me slaps OP with a large trout"
}
یک میانبر سفارشی هر میانبر پیشفرضی را برای آن کلید بازنویسی خواهد کرد.
| عملکرد (action) | توضیحات |
| none | میانبر را پاک میکند، بدون هیچ عملیاتی |
| quit | ویرایشگر را پاک میکند، یا دستور `/quit` را تایپ مینماید |
| set-editor <text> | ویرایشگر را در صورت خالی بودن روی متن ارائهشده تنظیم میکند |
| cursor-start | مکاننما را به ابتدای ویرایشگر منتقل میکند |
| cursor-end | مکاننما را به انتهای ویرایشگر منتقل میکند |
| redraw | پنجره را بازطراحی و تازهسازی میکند |
| scroll-up | پیمایش به سمت بالا در تایملاین |
| scroll-down | پیمایش به سمت پایین در تایملاین |
| scroll-next-highlight | رفتن به سمت پایین به هایلایت بعدی |
| scroll-previous-highlight | رفتن به سمت بالا به هایلایت قبلی |
| buffer-next | رفتن به بافر بعدی |
| buffer-previous | رفتن به بافر قبلی |
| buffer-next-unread | رفتن به بافر خواندهنشده بعدی |
| buffer-previous-unread | رفتن به بافر خواندهنشده قبلی |
| cursor-right-word | مکاننما را به کلمه بعدی منتقل میکند |
| cursor-left-word | مکاننما را به کلمه قبلی منتقل میکند |
| cursor-right | مکاننما را به نویسه بعدی منتقل میکند |
| cursor-left | مکاننما را به نویسه قبلی منتقل میکند |
| cursor-up | یک خط به عقب در ویرایشگر پیمایش میکند |
| cursor-down | یک خط به جلو در ویرایشگر پیمایش میکند |
| cursor-delete-previous-word | کلمه قبلی را در ویرایشگر حذف میکند |
| cursor-delete-next-word | کلمه بعدی را در ویرایشگر حذف میکند |
| cursor-delete-previous | نویسه قبلی را در ویرایشگر حذف میکند |
| cursor-delete-next | نویسه بعدی را در ویرایشگر حذف میکند |
| cursor-delete-before | از مکاننما تا ابتدای خط را حذف میکند |
| cursor-delete-after | از مکاننما تا انتهای خط را حذف میکند |
| search-editor | جستجوی معکوس در تاریخچه ویرایشگر |
| auto-complete | کادر گفتگوی تکمیل خودکار را باز یا گزینه آن را انتخاب میکند |
| close-overlay | هر بافر همپوشان باز (مانند نتایج جستجو) را میبندد |
| toggle-channel-list | نمایش یا پنهان کردن فهرست عمودی کانالها |
| toggle-member-list | نمایش یا پنهان کردن فهرست عمودی اعضا |
| send | محتویات ویرایشگر را ارسال میکند |
| buffer <number>|last | رفتن به بافر شمارهگذاریشده با شاخص شروع از صفر، یا آخرین بافر |
debug
transient
local-integrations
on-highlight-path
در صورت عدم تنظیم، $XDG_CONFIG_HOME به طور پیشفرض ~/.config/ است.
قبل از اجرای اسکریپت هایلایت، متغیرهای محیطی زیر مقداردهی میشوند:
اسکریپتهای شل باید اطمینان حاصل کنند که متغیرها در پرونده اسکریپت در داخل نقلقول (QUOTED) قرار دارند، در غیر این صورت در معرض حملات تزریق شل (SHELL INJECTION ATTACKS) خواهید بود. اسکریپتهای شل همچنین باید اطمینان حاصل کنند که نویسههایی مانند '*' و '?' بسط داده نمیشوند.
| متغیر محیطی | توضیحات |
| BUFFER | بافری که پیام در آن ظاهر شده است |
| HERE | برابر 1 اگر BUFFER بافر جاری باشد، در غیر این صورت 0 |
| MESSAGE | محتوای پیام |
| SENDER | نام مستعار فرستنده |
برای دور زدن این مشکل، میتوانید با قطعه کد زیر بکاسلش را دو برابر کنید:
#!/bin/sh
escape() {
printf "%s" "$1" | sed ´s#\\#\\\\#g´
}
notify-send "[$BUFFER] $SENDER" "$(escape "$MESSAGE")"
مثالها (EXAMPLES)
یک پرونده پیکربندی کمینه برای اتصال به Libera.Chat با عنوان "Guest123456":
address irc.libera.chat nickname Guest123456
یک پرونده پیکربندی پیشرفتهتر که گذرواژه را از یک برنامه خارجی واکشی میکند، عرض برخی بخشها را تغییر میدهد و رنگهای بیشتری را برای نامهای مستعار کاربران فعال مینماید:
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
}
همچنین ببینید (SEE ALSO)
| 2026-06-02 |