'\" t .\" Title: sxhkd .\" Author: [see the "Author" section] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 09/27/2025 .\" Manual: Sxhkd Manual .\" Source: Sxhkd 0.6.3 .\" Language: English .\" .TH "SXHKD" "1" "09/27/2025" "Sxhkd 0\&.6\&.3" "Sxhkd Manual" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "نام (NAME)" sxhkd \- دیمن ساده کلیدهای میانبر در X .SH "خلاصه دستور (SYNOPSIS)" .sp \fBsxhkd\fR [\fIOPTIONS\fR] [\fIEXTRA_CONFIG\fR \&...] .SH "توضیحات (DESCRIPTION)" .sp برنامهٔ \fBsxhkd\fR یک دیمن ساده برای کلیدهای میانبر X با ساختار نحوی پیکربندی قدرتمند و فشرده است\&. .SH "گزینه‌ها (OPTIONS)" .PP \fB\-h\fR .RS 4 چاپ خلاصه دستور در خروجی استاندارد و خروج\&. .RE .PP \fB\-v\fR .RS 4 چاپ اطلاعات نسخه در خروجی استاندارد و خروج\&. .RE .PP \fB\-m\fR \fICOUNT\fR .RS 4 رسیدگی به نخستین \fICOUNT\fR رویدادِ mapping notify\&. .RE .PP \fB\-t\fR \fITIMEOUT\fR .RS 4 مهلت زمانی (به ثانیه) برای ثبت زنجیره‌های آکورد (chord chains)\&. .RE .PP \fB\-c\fR \fICONFIG_FILE\fR .RS 4 خواندن پیکربندی اصلی از فایل داده‌شده\&. .RE .PP \fB\-r\fR \fIREDIR_FILE\fR .RS 4 تغییر مسیر خروجی دستورها به فایل داده‌شده\&. .RE .PP \fB\-s\fR \fISTATUS_FIFO\fR .RS 4 ارسال اطلاعات وضعیت به FIFO داده‌شده\&. .RE .PP \fB\-a\fR \fIABORT_KEYSYM\fR .RS 4 نام keysym مورد استفاده برای لغو زنجیره‌های آکورد\&. .RE .SH "رفتار (BEHAVIOR)" .sp برنامهٔ \fBsxhkd\fR دیمنی است که به رویدادهای صفحه‌کلید گوش فرا می‌دهد و دستورها را اجرا می‌کند\&. .sp این برنامه به‌طور پیش‌فرض فایل پیکربندی خود را از مسیر \fB$XDG_CONFIG_HOME/sxhkd/sxhkdrc\fR، یا در صورت استفاده از گزینهٔ \fB\-c\fR از فایل داده‌شده می‌خواند\&. .sp فایل‌های پیکربندی اضافی را می‌توان به‌صورت آرگومان به آن ارسال کرد\&. .sp اگر \fBsxhkd\fR سیگنال \fISIGUSR1\fR (به‌ترتیب \fISIGUSR2\fR) را دریافت کند، فایل پیکربندی خود را مجدداً بارگذاری خواهد کرد (به‌ترتیب وضعیت تصاحب یا grabbing تمام کلیدهای مقید خود را تغییر حالت می‌دهد)\&. .sp اگر \fBsxhkd\fR سیگنال \fISIGALRM\fR را دریافت کند، در صورت وجود یک زنجیره در حال اجرا، آن را قطع می‌کند\&. .sp دستورها از طریق \fBSHELL\fR \fI\-c\fR \fBCOMMAND\fR اجرا می‌شوند (بنابراین می‌توانید از متغیرهای محیطی استفاده کنید)\&. .sp مقدار \fBSHELL\fR برابر با محتوای نخستین متغیر محیطیِ تعریف‌شده از این فهرست خواهد بود: \fBSXHKD_SHELL\fR، \fBSHELL\fR\&. .sp متغیر \fBSXHKD_PID\fR به‌طور خودکار روی PID برنامهٔ \fBsxhkd\fR در فرایندهای ایجادشده توسط آن تنظیم می‌شود، که فرایند فرزند می‌تواند از آن برای ارسال آسان سیگنال‌هایی چون \fISIGALRM\fR به نمونهٔ مناسب از \fBsxhkd\fR استفاده کند\&. .sp اگر صفحه‌کلیدی غیر از QWERTY یا پیکربندی چیدمان غیراستانداردی دارید، باید مقدار \fICOUNT\fR برابر با \fI1\fR را به گزینهٔ \fB\-m\fR اختصاص دهید یا در صورتی که دائماً میان چیدمان‌ها جابه‌جا می‌شوید مقدار \fI\-1\fR (که به‌عنوان بی‌نهایت تفسیر می‌شود) را بدهید (\fBsxhkd\fR به‌طور پیش‌فرض از تمام رویدادهای mapping notify چشم‌پوشی می‌کند زیرا اکثر این رویدادها بی‌اهمیت هستند)\&. .SH "پیکربندی (CONFIGURATION)" .sp هر خط از فایل پیکربندی به‌صورت زیر تفسیر می‌شود: .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} اگر خالی باشد یا با # آغاز شود، نادیده گرفته می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} اگر با یک فاصله (space) شروع شود، به‌صورت یک دستور خوانده می‌شود\&. .RE .sp .RS 4 .ie n \{\ \h'-04'\(bu\h'+03'\c .\} .el \{\ .sp -1 .IP \(bu 2.3 .\} در غیر این صورت، به‌صورت یک کلید میانبر خوانده می‌شود\&. .RE .sp نحو کلی: .sp .if n \{\ .RS 4 .\} .nf HOTKEY [;]COMMAND HOTKEY := CHORD_1 ; CHORD_2 ; \&... ; CHORD_n CHORD_i := [MODIFIERS_i +] [~][@]KEYSYM_i MODIFIERS_i := MODIFIER_i1 + MODIFIER_i2 + \&... + MODIFIER_ik .fi .if n \{\ .RE .\} .sp نام‌های معتبر برای کلیدهای تبدیل‌کننده (modifiers) عبارتند از: \fIsuper\fR، \fIhyper\fR، \fImeta\fR، \fIalt\fR، \fIcontrol\fR، \fIctrl\fR، \fIshift\fR، \fImode_switch\fR، \fIlock\fR، \fImod1\fR، \fImod2\fR، \fImod3\fR، \fImod4\fR، \fImod5\fR و \fIany\fR\&. .sp نام‌های keysym از طریق خروجی دستور \fBxev \-event keyboard\fR به‌دست می‌آیند\&. .sp کلیدهای میانبر و دستورها را می‌توان با قرار دادن نویسهٔ بک‌اسلش در انتهای هر خطِ ناتمام، در چند خط امتداد داد\&. .sp هنگامی که چند آکورد با نقطه‌ویرگول (semicolon) از یکدیگر جدا شوند، کلید میانبر یک زنجیرهٔ آکورد خواهد بود: دستور تنها پس از دریافت هر یک از آکوردهای زنجیره به‌ترتیب متوالی اجرا خواهد شد\&. .sp می‌توان از نویسهٔ دونقطه (colon) به‌جای نقطه‌ویرگول استفاده کرد تا نشان دهد پس از رسیدن به انتهای زنجیره، نباید زنجیرهٔ آکورد لغو شود\&. .sp اگر دستوری با یک نقطه‌ویرگول آغاز شود، به‌صورت همگام (synchronous) اجرا خواهد شد، و در غیر این صورت به‌صورت ناهمگام (asynchronous)\&. .sp کلید \fIEscape\fR می‌تواند برای لغو کردن یک زنجیرهٔ آکورد استفاده شود\&. .sp اگر \fB@\fR به ابتدای keysym اضافه شود، دستور هنگام رویداد رها کردن کلید (key release) اجرا می‌شود، در غیر این صورت هنگام رویداد فشردن کلید (key press)\&. .sp اگر \fB~\fR به ابتدای keysym افزوده شود، رویداد دریافت‌شده برای سایر کلاینت‌ها بازپخش خواهد شد\&. .sp کلیدهای میانبر اشاره‌گر (ماوس) را می‌توان با استفاده از یکی از نام‌های ویژهٔ keysym زیر تعریف کرد: \fIbutton1\fR، \fIbutton2\fR، \fIbutton3\fR، \&...، \fIbutton24\fR\&. .sp کلید میانبر و دستور می‌توانند شامل توالی‌هایی به شکل \fI{STRING_1,\&...,STRING_N}\fR باشند\&. با نویسهٔ \fB\e\fR می‌توان از آکولادها اسکیپ کرد\&. .sp علاوه بر این، توالی‌ها می‌توانند شامل بازه‌هایی به شکل \fIA\fR\-\fIZ\fR باشند که در آن \fIA\fR و \fIZ\fR نویسه‌های الفبایی\-عددی هستند\&. .sp نویسهٔ زیرخط (underscore) نمایانگر یک عضو خالی از توالی است\&. .SH "نویسنده (AUTHOR)" .sp Bastien Dejean .SH "فهرست پستی (MAILING LIST)" .sp sxhkd at librelist\&.com