SXHKD(1) Sxhkd Manual SXHKD(1)

sxhkd - دیمن ساده کلیدهای میانبر در X

sxhkd [OPTIONS] [EXTRA_CONFIG ...]

برنامهٔ sxhkd یک دیمن ساده برای کلیدهای میانبر X با ساختار نحوی پیکربندی قدرتمند و فشرده است.

-h

چاپ خلاصه دستور در خروجی استاندارد و خروج.

-v

چاپ اطلاعات نسخه در خروجی استاندارد و خروج.

-m COUNT

رسیدگی به نخستین COUNT رویدادِ mapping notify.

-t TIMEOUT

مهلت زمانی (به ثانیه) برای ثبت زنجیره‌های آکورد (chord chains).

-c CONFIG_FILE

خواندن پیکربندی اصلی از فایل داده‌شده.

-r REDIR_FILE

تغییر مسیر خروجی دستورها به فایل داده‌شده.

-s STATUS_FIFO

ارسال اطلاعات وضعیت به FIFO داده‌شده.

-a ABORT_KEYSYM

نام keysym مورد استفاده برای لغو زنجیره‌های آکورد.

برنامهٔ sxhkd دیمنی است که به رویدادهای صفحه‌کلید گوش فرا می‌دهد و دستورها را اجرا می‌کند.

این برنامه به‌طور پیش‌فرض فایل پیکربندی خود را از مسیر $XDG_CONFIG_HOME/sxhkd/sxhkdrc، یا در صورت استفاده از گزینهٔ -c از فایل داده‌شده می‌خواند.

فایل‌های پیکربندی اضافی را می‌توان به‌صورت آرگومان به آن ارسال کرد.

اگر sxhkd سیگنال SIGUSR1 (به‌ترتیب SIGUSR2) را دریافت کند، فایل پیکربندی خود را مجدداً بارگذاری خواهد کرد (به‌ترتیب وضعیت تصاحب یا grabbing تمام کلیدهای مقید خود را تغییر حالت می‌دهد).

اگر sxhkd سیگنال SIGALRM را دریافت کند، در صورت وجود یک زنجیره در حال اجرا، آن را قطع می‌کند.

دستورها از طریق SHELL -c COMMAND اجرا می‌شوند (بنابراین می‌توانید از متغیرهای محیطی استفاده کنید).

مقدار SHELL برابر با محتوای نخستین متغیر محیطیِ تعریف‌شده از این فهرست خواهد بود: SXHKD_SHELL، SHELL.

متغیر SXHKD_PID به‌طور خودکار روی PID برنامهٔ sxhkd در فرایندهای ایجادشده توسط آن تنظیم می‌شود، که فرایند فرزند می‌تواند از آن برای ارسال آسان سیگنال‌هایی چون SIGALRM به نمونهٔ مناسب از sxhkd استفاده کند.

اگر صفحه‌کلیدی غیر از QWERTY یا پیکربندی چیدمان غیراستانداردی دارید، باید مقدار COUNT برابر با 1 را به گزینهٔ -m اختصاص دهید یا در صورتی که دائماً میان چیدمان‌ها جابه‌جا می‌شوید مقدار -1 (که به‌عنوان بی‌نهایت تفسیر می‌شود) را بدهید (sxhkd به‌طور پیش‌فرض از تمام رویدادهای mapping notify چشم‌پوشی می‌کند زیرا اکثر این رویدادها بی‌اهمیت هستند).

هر خط از فایل پیکربندی به‌صورت زیر تفسیر می‌شود:

•اگر خالی باشد یا با # آغاز شود، نادیده گرفته می‌شود.
•اگر با یک فاصله (space) شروع شود، به‌صورت یک دستور خوانده می‌شود.
•در غیر این صورت، به‌صورت یک کلید میانبر خوانده می‌شود.

نحو کلی:

HOTKEY
    [;]COMMAND
HOTKEY      := CHORD_1 ; CHORD_2 ; ... ; CHORD_n
CHORD_i     := [MODIFIERS_i +] [~][@]KEYSYM_i
MODIFIERS_i := MODIFIER_i1 + MODIFIER_i2 + ... + MODIFIER_ik

نام‌های معتبر برای کلیدهای تبدیل‌کننده (modifiers) عبارتند از: super، hyper، meta، alt، control، ctrl، shift، mode_switch، lock، mod1، mod2، mod3، mod4، mod5 و any.

نام‌های keysym از طریق خروجی دستور xev -event keyboard به‌دست می‌آیند.

کلیدهای میانبر و دستورها را می‌توان با قرار دادن نویسهٔ بک‌اسلش در انتهای هر خطِ ناتمام، در چند خط امتداد داد.

هنگامی که چند آکورد با نقطه‌ویرگول (semicolon) از یکدیگر جدا شوند، کلید میانبر یک زنجیرهٔ آکورد خواهد بود: دستور تنها پس از دریافت هر یک از آکوردهای زنجیره به‌ترتیب متوالی اجرا خواهد شد.

می‌توان از نویسهٔ دونقطه (colon) به‌جای نقطه‌ویرگول استفاده کرد تا نشان دهد پس از رسیدن به انتهای زنجیره، نباید زنجیرهٔ آکورد لغو شود.

اگر دستوری با یک نقطه‌ویرگول آغاز شود، به‌صورت همگام (synchronous) اجرا خواهد شد، و در غیر این صورت به‌صورت ناهمگام (asynchronous).

کلید Escape می‌تواند برای لغو کردن یک زنجیرهٔ آکورد استفاده شود.

اگر @ به ابتدای keysym اضافه شود، دستور هنگام رویداد رها کردن کلید (key release) اجرا می‌شود، در غیر این صورت هنگام رویداد فشردن کلید (key press).

اگر ~ به ابتدای keysym افزوده شود، رویداد دریافت‌شده برای سایر کلاینت‌ها بازپخش خواهد شد.

کلیدهای میانبر اشاره‌گر (ماوس) را می‌توان با استفاده از یکی از نام‌های ویژهٔ keysym زیر تعریف کرد: button1، button2، button3، ...، button24.

کلید میانبر و دستور می‌توانند شامل توالی‌هایی به شکل {STRING_1,...,STRING_N} باشند. با نویسهٔ \ می‌توان از آکولادها اسکیپ کرد.

علاوه بر این، توالی‌ها می‌توانند شامل بازه‌هایی به شکل A-Z باشند که در آن A و Z نویسه‌های الفبایی-عددی هستند.

نویسهٔ زیرخط (underscore) نمایانگر یک عضو خالی از توالی است.

Bastien Dejean <nihilhill at gmail.com>

sxhkd at librelist.com

09/27/2025 Sxhkd 0.6.3